<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>187020</bug_id>
          
          <creation_ts>2018-06-25 15:07:48 -0700</creation_ts>
          <short_desc>Web Inspector: REGRESSION (r213000): copy from Search results content view broken</short_desc>
          <delta_ts>2018-06-28 15:38:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1436278</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-06-25 15:07:48 -0700</bug_when>
    <thetext>Summary:
Copy from Search results content view broken. The selected tree element always takes precedence over the TextEditor selection.

Steps to Reproduce:
1. Inspect webkit.org, search for &quot;body&quot;
2. Select a tree element in the Search tab
3. Select some text in the editor
4. Copy
Expected:
  =&gt; Selection in editor is copied
Actual:
  =&gt; Tree element is copied

Regressed in https://bugs.webkit.org/show_bug.cgi?id=167074.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436279</commentid>
    <comment_count>1</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-06-25 15:08:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/40928766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436280</commentid>
    <comment_count>2</comment_count>
      <attachid>343547</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-06-25 15:11:27 -0700</bug_when>
    <thetext>Created attachment 343547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436285</commentid>
    <comment_count>3</comment_count>
      <attachid>343547</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-06-25 15:25:10 -0700</bug_when>
    <thetext>Comment on attachment 343547
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343547&amp;action=review

&gt; Source/WebInspectorUI/UserInterface/Views/SearchTabContentView.js:102
&gt;      handleCopyEvent(event)
&gt;      {
&gt; +        let currentContentView = this.contentBrowser.currentContentView;

Is this specific to the SearchTab? If so why doesn&apos;t it happen in other tabs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436286</commentid>
    <comment_count>4</comment_count>
      <attachid>343547</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-06-25 15:26:39 -0700</bug_when>
    <thetext>Comment on attachment 343547
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343547&amp;action=review

&gt; Source/WebInspectorUI/UserInterface/Views/SearchTabContentView.js:113
&gt; +        let currentContentView = this.contentBrowser.currentContentView;
&gt; +        if (currentContentView) {
&gt; +            if (currentContentView instanceof WI.ClusterContentView)
&gt; +                currentContentView = currentContentView.contentViewContainer.currentContentView;
&gt; +
&gt; +            if (currentContentView.textEditor) {
&gt; +                let range = currentContentView.textEditor.selectedTextRange;
&gt; +                // If the TextEditor contains a selection, don&apos;t override the default copy behavior.
&gt; +                if (range.startLine !== range.endLine || range.startColumn !== range.endColumn)
&gt; +                    return;
&gt; +            }
&gt; +        }

This seems like it should be passed and handled at another level, since Search isn&apos;t the only client of cluster views and nested content browsers.

For example, WI.ClusterContentView passes through handleCopyEvent already. Maybe ContentBrowser needs this most of this code? But it shouldn&apos;t know about TextEditor either. Hmm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436309</commentid>
    <comment_count>5</comment_count>
      <attachid>343547</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-06-25 16:26:35 -0700</bug_when>
    <thetext>Comment on attachment 343547
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343547&amp;action=review

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/SearchTabContentView.js:102
&gt;&gt; +        let currentContentView = this.contentBrowser.currentContentView;
&gt; 
&gt; Is this specific to the SearchTab? If so why doesn&apos;t it happen in other tabs?

It is. A check for handleCopyEvent support was added for TabContentView, and SearchTabContentView is the only implementor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436314</commentid>
    <comment_count>6</comment_count>
      <attachid>343547</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-06-25 16:34:05 -0700</bug_when>
    <thetext>Comment on attachment 343547
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343547&amp;action=review

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/SearchTabContentView.js:113
&gt;&gt; +        }
&gt; 
&gt; This seems like it should be passed and handled at another level, since Search isn&apos;t the only client of cluster views and nested content browsers.
&gt; 
&gt; For example, WI.ClusterContentView passes through handleCopyEvent already. Maybe ContentBrowser needs this most of this code? But it shouldn&apos;t know about TextEditor either. Hmm.

This doesn&apos;t have anything to do with ClusterContentView or nesting. SearchTabContentView is implementing handleCopyEvent, which causes WI._copy to override the default behavior (coping the CodeMirror selection).

What would your expectation be if this were performed at a higher level? Should WI._copy bail out early if focusedContentView has a text selection?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437531</commentid>
    <comment_count>7</comment_count>
      <attachid>343847</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-06-28 14:02:24 -0700</bug_when>
    <thetext>Created attachment 343847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437578</commentid>
    <comment_count>8</comment_count>
      <attachid>343847</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-06-28 15:11:14 -0700</bug_when>
    <thetext>Comment on attachment 343847
Patch

I like this better. This might be something we should do elsewhere or generally in WI._copy. But I don&apos;t see any other handleCopyEvent code paths that would have this same issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437597</commentid>
    <comment_count>9</comment_count>
      <attachid>343847</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-28 15:38:48 -0700</bug_when>
    <thetext>Comment on attachment 343847
Patch

Clearing flags on attachment: 343847

Committed r233334: &lt;https://trac.webkit.org/changeset/233334&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1437598</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-28 15:38:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343547</attachid>
            <date>2018-06-25 15:11:27 -0700</date>
            <delta_ts>2018-06-28 14:02:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187020-20180625151126.patch</filename>
            <type>text/plain</type>
            <size>2232</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
ZDY4ZjVmYTk4ODA2MjMyYzMxMjk3MThmN2JjMzVlZjUwNTNhY2M1Li5kMDJkZGQyOTEzZGZmMTJh
Y2E0YWEwYmIwY2JmMDNiM2FjOTFlZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wNi0yNSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTiAocjIxMzAwMCk6IGNvcHkgZnJv
bSBTZWFyY2ggcmVzdWx0cyBjb250ZW50IHZpZXcgYnJva2VuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODcwMjAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQwOTI4NzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qczoKKyAg
ICAgICAgKFdJLlNlYXJjaFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5oYW5kbGVDb3B5RXZlbnQp
OgorICAgICAgICBQcmVmZXIgY29udGVudCB2aWV3IHNlbGVjdGlvbiB0byB0aGUgc2VsZWN0ZWQg
dHJlZSBlbGVtZW50LCBpZiBpdCBleGlzdHMuCisKIDIwMTgtMDYtMjUgIE5pa2l0YSBWYXNpbHll
diAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRGFyayBN
b2RlOiBjb2xvciBvdXRsaW5lIGlzIHRvbyBkYXJrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRW
aWV3LmpzCmluZGV4IGRiNzcxYWNjODI3MjQxMjZhOTQyNjQ5ZDFlMDM5YzQ5M2JlMTQyOTguLjlm
OTc5YjQ0MTFjZmI2YzMzNmI5OGE3OWQ1MDhkNDBjNDUwMmJkNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJj
aFRhYkNvbnRlbnRWaWV3LmpzCkBAIC05OSw2ICs5OSwxOSBAQCBXSS5TZWFyY2hUYWJDb250ZW50
VmlldyA9IGNsYXNzIFNlYXJjaFRhYkNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dz
ZXJUYQogCiAgICAgaGFuZGxlQ29weUV2ZW50KGV2ZW50KQogICAgIHsKKyAgICAgICAgbGV0IGN1
cnJlbnRDb250ZW50VmlldyA9IHRoaXMuY29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3
OworICAgICAgICBpZiAoY3VycmVudENvbnRlbnRWaWV3KSB7CisgICAgICAgICAgICBpZiAoY3Vy
cmVudENvbnRlbnRWaWV3IGluc3RhbmNlb2YgV0kuQ2x1c3RlckNvbnRlbnRWaWV3KQorICAgICAg
ICAgICAgICAgIGN1cnJlbnRDb250ZW50VmlldyA9IGN1cnJlbnRDb250ZW50Vmlldy5jb250ZW50
Vmlld0NvbnRhaW5lci5jdXJyZW50Q29udGVudFZpZXc7CisKKyAgICAgICAgICAgIGlmIChjdXJy
ZW50Q29udGVudFZpZXcudGV4dEVkaXRvcikgeworICAgICAgICAgICAgICAgIGxldCByYW5nZSA9
IGN1cnJlbnRDb250ZW50Vmlldy50ZXh0RWRpdG9yLnNlbGVjdGVkVGV4dFJhbmdlOworICAgICAg
ICAgICAgICAgIC8vIElmIHRoZSBUZXh0RWRpdG9yIGNvbnRhaW5zIGEgc2VsZWN0aW9uLCBkb24n
dCBvdmVycmlkZSB0aGUgZGVmYXVsdCBjb3B5IGJlaGF2aW9yLgorICAgICAgICAgICAgICAgIGlm
IChyYW5nZS5zdGFydExpbmUgIT09IHJhbmdlLmVuZExpbmUgfHwgcmFuZ2Uuc3RhcnRDb2x1bW4g
IT09IHJhbmdlLmVuZENvbHVtbikKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgbGV0IHNlbGVjdGVkVHJlZUVsZW1lbnQgPSB0
aGlzLm5hdmlnYXRpb25TaWRlYmFyUGFuZWwuY29udGVudFRyZWVPdXRsaW5lLnNlbGVjdGVkVHJl
ZUVsZW1lbnQ7CiAgICAgICAgIGlmICghc2VsZWN0ZWRUcmVlRWxlbWVudCkKICAgICAgICAgICAg
IHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343847</attachid>
            <date>2018-06-28 14:02:24 -0700</date>
            <delta_ts>2018-06-28 15:38:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187020-20180628140223.patch</filename>
            <type>text/plain</type>
            <size>2365</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
NDY4NzI0YjdiNDk3NTY0YWMzYzhjMWMxYzFlN2QzN2QxOTUwYWJjLi4wYzRhYmRjZTViNWNlNWNi
OGU3N2IwNTQ0M2ZlZjA4YmQ4YTU4ZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOC0wNi0yOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUkVHUkVTU0lPTiAocjIxMzAwMCk6IGNvcHkgZnJv
bSBTZWFyY2ggcmVzdWx0cyBjb250ZW50IHZpZXcgYnJva2VuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODcwMjAKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQwOTI4NzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFNpbmNlIFdJLl9jb3B5IGxpc3RlbnMgZm9yIGEgY29weSBldmVudCBmcm9tIHRoZSBk
b2N1bWVudCwgaXQgaXMgY2FsbGVkCisgICAgICAgIGFmdGVyIENvZGVNaXJyb3IgaGFuZGxlcyB0
aGUgZXZlbnQgYW5kIHNldHMgY2xpcGJvYXJkIGRhdGEuIElmIFdJLl9jb3B5CisgICAgICAgIGZp
bmRzIGEgY3VzdG9tIGNvcHkgaGFuZGxlciB0byBjYWxsLCB0aGF0IGhhbmRsZXIgY2FuIGRldGVy
bWluZSB3aGV0aGVyCisgICAgICAgIHRvIG92ZXJ3cml0ZSB0aGUgY3VycmVudCBjbGlwYm9hcmQg
ZGF0YSwgb3IgbGVhdmUgaXQgYWxvbmUuCisKKyAgICAgICAgU2VhcmNoVGFiQ29udGVudFZpZXcn
cyBoYW5kbGVDb3B5RXZlbnQgbWV0aG9kIHNob3VsZCByZXR1cm4gZWFybHkgaWYgdGhlCisgICAg
ICAgIGNvbnRlbnQgdHJlZSBvdXRsaW5lIGRvZXNuJ3QgaGF2ZSB0aGUgZm9jdXMuIFRoaXMgcHJl
dmVudHMgdGhlIHNlbGVjdGlvbgorICAgICAgICBpbiB0aGUgVGV4dEVkaXRvciBmcm9tIGJlaW5n
IG92ZXJ3cml0dGVuLCB3aXRob3V0IGFueSBzcGVjaWFsIGtub3dsZWRnZSBvZgorICAgICAgICB0
aGUgY29udGVudCBicm93c2VyJ3MgY3VycmVudCB2aWV3LgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLlNlYXJjaFRh
YkNvbnRlbnRWaWV3LnByb3RvdHlwZS5oYW5kbGVDb3B5RXZlbnQpOgorCiAyMDE4LTA2LTI1ICBO
aWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IERhcmsgTW9kZTogQm94IE1vZGVsIHNlY3Rpb24gc2hvdWxkIGhhdmUgZGFyayBiYWNr
Z3JvdW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TZWFyY2hUYWJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3LmpzCmluZGV4IGRiNzcxYWNjODI3
MjQxMjZhOTQyNjQ5ZDFlMDM5YzQ5M2JlMTQyOTguLmYzYzVjOTA1NGU2ZjJiZWY5NmM2NzhkOTE3
MjRmM2UwNWQ4YmEyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFRhYkNvbnRlbnRWaWV3LmpzCkBAIC05
OSw3ICs5OSwxMSBAQCBXSS5TZWFyY2hUYWJDb250ZW50VmlldyA9IGNsYXNzIFNlYXJjaFRhYkNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXJUYQogCiAgICAgaGFuZGxlQ29weUV2
ZW50KGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IHNlbGVjdGVkVHJlZUVsZW1lbnQgPSB0aGlz
Lm5hdmlnYXRpb25TaWRlYmFyUGFuZWwuY29udGVudFRyZWVPdXRsaW5lLnNlbGVjdGVkVHJlZUVs
ZW1lbnQ7CisgICAgICAgIGxldCBjb250ZW50VHJlZU91dGxpbmUgPSB0aGlzLm5hdmlnYXRpb25T
aWRlYmFyUGFuZWwuY29udGVudFRyZWVPdXRsaW5lOworICAgICAgICBpZiAoY29udGVudFRyZWVP
dXRsaW5lLmVsZW1lbnQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgbGV0IHNlbGVjdGVkVHJlZUVsZW1lbnQgPSBjb250ZW50VHJlZU91
dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudDsKICAgICAgICAgaWYgKCFzZWxlY3RlZFRyZWVFbGVt
ZW50KQogICAgICAgICAgICAgcmV0dXJuOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>