<?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>177477</bug_id>
          
          <creation_ts>2017-09-25 17:32:38 -0700</creation_ts>
          <short_desc>Web Inspector: Fix Layers tab sidebar popover.</short_desc>
          <delta_ts>2017-09-27 12:16:25 -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>
          
          <blocked>174176</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1352526</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-25 17:32:38 -0700</bug_when>
    <thetext>The Layers tab sidebar has a very buggy popover (inherited virtually as-is from the legacy sidebar on the Elements tab).

Those bugs which are specific to this sidebar (and not to popovers at large) should be fixed here, namely:

1. When a data grid row is selected but the popover has been hidden...
  a. ...going to another window and back causes an empty popover to reappear in its place.
  b. ...going to another tab and back causes and empty popover to reappear in the upper-left corner.

2. For consistency with all other data grids in Web Inspector, clicking empty space in the data grid should not change the current selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352532</commentid>
    <comment_count>1</comment_count>
      <attachid>321782</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-25 17:47:52 -0700</bug_when>
    <thetext>Created attachment 321782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352535</commentid>
    <comment_count>2</comment_count>
      <attachid>321782</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-25 17:53:19 -0700</bug_when>
    <thetext>Comment on attachment 321782
Patch

This turns out to be mostly code removal and a bit of refactoring.

Specifically:
- Remove focus/blur/click handlers from DataGrid. This is unlike anywhere else in Web Inspector, isn&apos;t desired, and causes issue #2.
- Use willDismissPopover to dispose of popover after it has been dismissed (fixes issue #1).
- Make popover setup less convoluted.

Note that this patch also removes the DOM highlighting triggered by the data grid. I will add this back in a later patch -- it needs to be added to the data grid row itself, and to avoid polluting the legacy sidebar, I will create a new LayerDataGridRow for the purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352536</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-25 18:00:05 -0700</bug_when>
    <thetext>Note that there are some remaining issues that seem to affect popovers overall:

1. When the window is resized to force a direction change on the popover, the CSS class for the old direction isn&apos;t removed from the existing popover.

2. When moving with arrow keys, the arrow doesn&apos;t follow the target element correctly.

I don&apos;t see these as specifically related to this sidebar so I&apos;m not addressing them here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352857</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-26 14:45:54 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #3)
&gt; Note that there are some remaining issues that seem to affect popovers
&gt; overall:
&gt; 
&gt; 1. When the window is resized to force a direction change on the popover,
&gt; the CSS class for the old direction isn&apos;t removed from the existing popover.
&gt; 
&gt; 2. When moving with arrow keys, the arrow doesn&apos;t follow the target element
&gt; correctly.

FYI:
&lt;https://webkit.org/b/150551&gt; Web Inspector: Selecting child layers with keyboard causes Compositing Reason popover to become misaligned

&gt; I don&apos;t see these as specifically related to this sidebar so I&apos;m not
&gt; addressing them here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352945</commentid>
    <comment_count>5</comment_count>
      <attachid>321782</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-26 17:41:28 -0700</bug_when>
    <thetext>Comment on attachment 321782
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js:-91
&gt; -        this._dataGrid.element.addEventListener(&quot;click&quot;, this._dataGridClicked.bind(this), false);

I&apos;m glad to see all this go. I think eventually we&apos;ll want to completely rethink the Layers sidebar UI. Putting important data (compositing reasons!) in popovers and forcing people to play the popover game is terrible.

&gt; Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js:-151
&gt; -    _highlightSelectedNode()

I&apos;m not clear on why this is being removed. Calling this when the node changes works fine with your other changes, as long as the highlight is removed later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352988</commentid>
    <comment_count>6</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-26 19:18:38 -0700</bug_when>
    <thetext>(In reply to Matt Baker from comment #4)
&gt; FYI:
&gt; &lt;https://webkit.org/b/150551&gt; Web Inspector: Selecting child layers with keyboard causes Compositing Reason popover to become misaligned

Cool. I couldn&apos;t find another place in Web Inspector that had a side-facing popover, but I believe this would happen for any such case.

(In reply to Matt Baker from comment #5)
&gt; &gt; Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js:-91
&gt; &gt; -        this._dataGrid.element.addEventListener(&quot;click&quot;, this._dataGridClicked.bind(this), false);
&gt; 
&gt; I&apos;m glad to see all this go. I think eventually we&apos;ll want to completely
&gt; rethink the Layers sidebar UI. Putting important data (compositing reasons!)
&gt; in popovers and forcing people to play the popover game is terrible.

That&apos;s fair. Just hoping to provide an adequate UX for Day 1 -- I&apos;m not really sure how to fundamentally restructure that information, but at least one can sort by highest-impact layers, even if you have to ask &quot;why&quot; for each one separately.

&gt; &gt; Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js:-151
&gt; &gt; -    _highlightSelectedNode()
&gt; 
&gt; I&apos;m not clear on why this is being removed. Calling this when the node
&gt; changes works fine with your other changes, as long as the highlight is
&gt; removed later.

Sure, I can put this back and remove it in the following ticket.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353185</commentid>
    <comment_count>7</comment_count>
      <attachid>321977</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-27 11:10:42 -0700</bug_when>
    <thetext>Created attachment 321977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353186</commentid>
    <comment_count>8</comment_count>
      <attachid>321977</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2017-09-27 11:11:57 -0700</bug_when>
    <thetext>Comment on attachment 321977
Patch

Reverted DOM highlight behavior.

Will rework sidebar to use Table instead of DataGrid in a follow-up patch and handle DOM highlighting at that time as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353198</commentid>
    <comment_count>9</comment_count>
      <attachid>321977</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-09-27 11:30:18 -0700</bug_when>
    <thetext>Comment on attachment 321977
Patch

Nice work, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353217</commentid>
    <comment_count>10</comment_count>
      <attachid>321977</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-27 11:58:06 -0700</bug_when>
    <thetext>Comment on attachment 321977
Patch

Clearing flags on attachment: 321977

Committed r222566: &lt;http://trac.webkit.org/changeset/222566&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353218</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-27 11:58:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353248</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:16:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/34692908&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321782</attachid>
            <date>2017-09-25 17:47:52 -0700</date>
            <delta_ts>2017-09-27 11:10:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177477-20170925174751.patch</filename>
            <type>text/plain</type>
            <size>6129</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAz
ZDdkODBkMTI2MjdjYTBmMjZkYzY4NDFiZTBhNWVhNDUxZjc3OWY3Li5mMmYwMTQwODQ1OTU3YjM3
NjE4ZTAxNWM2NTBlMTJjNTdlM2RmNjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxNy0wOS0yNSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRml4IExheWVycyB0YWIgc2lkZWJhciBw
b3BvdmVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAg
ICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUud2lsbERpc21pc3NQb3Bv
dmVyKTogQWRkZWQuCisgICAgICAgIChXSS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90
eXBlLl9idWlsZERhdGFHcmlkKToKKyAgICAgICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5l
bC5wcm90b3R5cGUuX3NvcnREYXRhR3JpZCk6CisgICAgICAgIChXSS5MYXllckRldGFpbHNTaWRl
YmFyUGFuZWwucHJvdG90eXBlLl9kYXRhR3JpZFNlbGVjdGVkTm9kZUNoYW5nZWQpOgorICAgICAg
ICAoV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fc2hvd1BvcG92ZXJGb3JT
ZWxlY3RlZE5vZGUpOiBSZWZhY3RvcmVkLgorICAgICAgICAoV0kuTGF5ZXJEZXRhaWxzU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5fcHJlc2VudFBvcG92ZXIpOiBBZGRlZCAtLSBjb2RlIHNpbXBsaWZp
Y2F0aW9uLgorICAgICAgICAoV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5f
ZGF0YUdyaWRGb2N1c2VkKTogRGVsZXRlZCAtLSBub3QgYWN0dWFsbHkgZGVzaXJlZCBiZWhhdmlv
ci4KKyAgICAgICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2RhdGFH
cmlkQmx1cnJlZCk6IERlbGV0ZWQgLS0gbm90IGFjdHVhbGx5IGRlc2lyZWQgYmVoYXZpb3IuCisg
ICAgICAgIChXSS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9kYXRhR3JpZENs
aWNrZWQpOiBEZWxldGVkIC0tIG5vdCBhY3R1YWxseSBkZXNpcmVkIGJlaGF2aW9yLgorICAgICAg
ICAoV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5faGlnaGxpZ2h0U2VsZWN0
ZWROb2RlKTogRGVsZXRlZCAtLSB3aWxsIGFkZCBiYWNrIHRvIERhdGFHcmlkIHJvdy4KKyAgICAg
ICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZVBvcG92ZXJG
b3JTZWxlY3RlZE5vZGUpOiBEZWxldGVkIC0tIGNvZGUgc2ltcGxpZmljYXRpb24uCisgICAgICAg
IChXSS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9oaWRlUG9wb3Zlcik6IERl
bGV0ZWQgLS0gbm8gbG9uZ2VyIG5lZWRlZC4KKwogMjAxNy0wOS0yNSAgSm9zZXBoIFBlY29yYXJv
ICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZm9sbG93LXVwIHRv
IHIyMjI0NzAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9MYXllckRldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllckRldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXgg
NTRlNzljZTM3YmJhZTA4MTNlMTBkOGUzZGRmZTdiMWI5OWM0NzAyYi4uZDIzZDZkZjQ2YWQwYjA5
NWRlZTE4NDdiZWY1YmYzZjFiMjE3ODNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcwpAQCAtNTUsNiArNTUsMTEgQEAgV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBh
bmVsID0gY2xhc3MgTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuRGV0YWlsc1MK
ICAgICAgICAgcmV0dXJuICEhbGF5ZXJzLmxlbmd0aDsKICAgICB9CiAKKyAgICB3aWxsRGlzbWlz
c1BvcG92ZXIoKQorICAgIHsKKyAgICAgICAgdGhpcy5fcG9wb3ZlciA9IG51bGw7CisgICAgfQor
CiAgICAgLy8gUHJpdmF0ZQogCiAgICAgX2J1aWxkRGF0YUdyaWQoKQpAQCAtODYsMTAgKzkxLDYg
QEAgV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgTGF5ZXJEZXRhaWxzU2lkZWJh
clBhbmVsIGV4dGVuZHMgV0kuRGV0YWlsc1MKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuc29ydE9y
ZGVyID0gV0kuRGF0YUdyaWQuU29ydE9yZGVyLkRlc2NlbmRpbmc7CiAgICAgICAgIHRoaXMuX2Rh
dGFHcmlkLmNyZWF0ZVNldHRpbmdzKCJsYXllci1kZXRhaWxzLXNpZGViYXItcGFuZWwiKTsKIAot
ICAgICAgICB0aGlzLl9kYXRhR3JpZC5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwg
dGhpcy5fZGF0YUdyaWRGb2N1c2VkLmJpbmQodGhpcyksIGZhbHNlKTsKLSAgICAgICAgdGhpcy5f
ZGF0YUdyaWQuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwgdGhpcy5fZGF0YUdyaWRC
bHVycmVkLmJpbmQodGhpcyksIGZhbHNlKTsKLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuZWxlbWVu
dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2RhdGFHcmlkQ2xpY2tlZC5iaW5kKHRo
aXMpLCBmYWxzZSk7Ci0KICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5hZGRTdWJ2aWV3KHRoaXMu
X2RhdGFHcmlkKTsKICAgICB9CiAKQEAgLTExNiw1MSArMTE3LDEzIEBAIFdJLkxheWVyRGV0YWls
c1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJ
LkRldGFpbHNTCiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9kYXRhR3JpZC5zb3J0Tm9kZXMo
Y29tcGFyYXRvcik7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZVBvcG92ZXJGb3JTZWxlY3RlZE5vZGUo
KTsKICAgICB9CiAKICAgICBfZGF0YUdyaWRTZWxlY3RlZE5vZGVDaGFuZ2VkKCkKICAgICB7Ci0g
ICAgICAgIGlmICh0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUpIHsKLSAgICAgICAgICAgIHRo
aXMuX2hpZ2hsaWdodFNlbGVjdGVkTm9kZSgpOwotICAgICAgICAgICAgdGhpcy5fc2hvd1BvcG92
ZXJGb3JTZWxlY3RlZE5vZGUoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFdJLmRv
bVRyZWVNYW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7Ci0gICAgICAgICAgICB0aGlzLl9o
aWRlUG9wb3ZlcigpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgX2RhdGFHcmlkRm9jdXNlZChl
dmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2hpZ2hsaWdodFNlbGVjdGVkTm9kZSgpOwogICAg
ICAgICB0aGlzLl9zaG93UG9wb3ZlckZvclNlbGVjdGVkTm9kZSgpOwogICAgIH0KIAotICAgIF9k
YXRhR3JpZEJsdXJyZWQoZXZlbnQpCi0gICAgewotICAgICAgICBXSS5kb21UcmVlTWFuYWdlci5o
aWRlRE9NTm9kZUhpZ2hsaWdodCgpOwotICAgICAgICB0aGlzLl9oaWRlUG9wb3ZlcigpOwotICAg
IH0KLQotICAgIF9kYXRhR3JpZENsaWNrZWQoZXZlbnQpCi0gICAgewotICAgICAgICBpZiAodGhp
cy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlICYmIGV2ZW50LnRhcmdldC5wYXJlbnROb2RlLmNsYXNz
TGlzdC5jb250YWlucygiZmlsbGVyIikpCi0gICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5zZWxl
Y3RlZE5vZGUuZGVzZWxlY3QoKTsKLSAgICB9Ci0KLSAgICBfaGlnaGxpZ2h0U2VsZWN0ZWROb2Rl
KCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGxldCBsYXllciA9IHRoaXMuX2RhdGFHcmlkLnNl
bGVjdGVkTm9kZS5sYXllcjsKLSAgICAgICAgaWYgKGxheWVyLmlzR2VuZXJhdGVkQ29udGVudCB8
fCBsYXllci5pc1JlZmxlY3Rpb24gfHwgbGF5ZXIuaXNBbm9ueW1vdXMpIHsKLSAgICAgICAgICAg
IGNvbnN0IHVzZVBhZ2VDb29yZGluYXRlcyA9IHRydWU7Ci0gICAgICAgICAgICBXSS5kb21UcmVl
TWFuYWdlci5oaWdobGlnaHRSZWN0KGxheWVyLmJvdW5kcywgdXNlUGFnZUNvb3JkaW5hdGVzKTsK
LSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBXSS5kb21UcmVlTWFuYWdlci5oaWdobGlnaHRE
T01Ob2RlKGxheWVyLm5vZGVJZCk7Ci0gICAgfQotCiAgICAgX3VwZGF0ZURpc3BsYXlXaXRoTGF5
ZXJzKG5ld0xheWVycykKICAgICB7CiAgICAgICAgIGxldCBwcmV2aW91c0xheWVycyA9IHRoaXMu
X2xheWVyczsKQEAgLTIyOCwzMyArMTkxLDIxIEBAIFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5l
bCA9IGNsYXNzIExheWVyRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLkRldGFpbHNTCiAg
ICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fY29udGVudEZvclBvcG92ZXIoZGF0
YUdyaWROb2RlLmxheWVyLCAoY29udGVudCkgPT4gewotICAgICAgICAgICAgaWYgKGRhdGFHcmlk
Tm9kZSA9PT0gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlKQotICAgICAgICAgICAgICAgIHRo
aXMuX3VwZGF0ZVBvcG92ZXJGb3JTZWxlY3RlZE5vZGUoY29udGVudCk7Ci0gICAgICAgIH0pOwot
ICAgIH0KLQotICAgIF91cGRhdGVQb3BvdmVyRm9yU2VsZWN0ZWROb2RlKGNvbnRlbnQpCi0gICAg
ewotICAgICAgICBpZiAoIXRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZSkKLSAgICAgICAgICAg
IHJldHVybjsKLQotICAgICAgICBpZiAoIXRoaXMuX3BvcG92ZXIpIHsKLSAgICAgICAgICAgIHRo
aXMuX3BvcG92ZXIgPSBuZXcgV0kuUG9wb3ZlcjsKLSAgICAgICAgICAgIHRoaXMuX3BvcG92ZXIu
d2luZG93UmVzaXplSGFuZGxlciA9ICgpID0+IHsgdGhpcy5fdXBkYXRlUG9wb3ZlckZvclNlbGVj
dGVkTm9kZSgpOyB9OwotICAgICAgICB9Ci0KLSAgICAgICAgbGV0IHRhcmdldEZyYW1lID0gV0ku
UmVjdC5yZWN0RnJvbUNsaWVudFJlY3QodGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlLmVsZW1l
bnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpOworICAgICAgICAgICAgaWYgKGRhdGFHcmlkTm9k
ZSAhPT0gdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlKQorICAgICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBpZiAoY29udGVudCkKKyAgICAgICAgICAgIHRoaXMuX3BvcG92ZXIgPSB0
aGlzLl9wb3BvdmVyIHx8IG5ldyBXSS5Qb3BvdmVyKHRoaXMpOwogICAgICAgICAgICAgdGhpcy5f
cG9wb3Zlci5jb250ZW50ID0gY29udGVudDsKKyAgICAgICAgICAgIHRoaXMuX3BvcG92ZXIud2lu
ZG93UmVzaXplSGFuZGxlciA9ICgpID0+IHsgdGhpcy5fcHJlc2VudFBvcG92ZXIoKTsgfTsKIAot
ICAgICAgICB0aGlzLl9wb3BvdmVyLnByZXNlbnQodGFyZ2V0RnJhbWUucGFkKDIpLCBbV0kuUmVj
dEVkZ2UuTUlOX1hdKTsKKyAgICAgICAgICAgIHRoaXMuX3ByZXNlbnRQb3BvdmVyKCk7CisgICAg
ICAgIH0pOwogICAgIH0KIAotICAgIF9oaWRlUG9wb3ZlcigpCisgICAgX3ByZXNlbnRQb3BvdmVy
KCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9wb3BvdmVyKQotICAgICAgICAgICAgdGhpcy5f
cG9wb3Zlci5kaXNtaXNzKCk7CisgICAgICAgIGxldCB0YXJnZXRGcmFtZSA9IFdJLlJlY3QucmVj
dEZyb21DbGllbnRSZWN0KHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZS5lbGVtZW50LmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAgdGhpcy5fcG9wb3Zlci5wcmVzZW50KHRhcmdl
dEZyYW1lLnBhZCgyKSwgW1dJLlJlY3RFZGdlLk1JTl9YXSk7CiAgICAgfQogCiAgICAgX2NvbnRl
bnRGb3JQb3BvdmVyKGxheWVyLCBjYWxsYmFjaykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321977</attachid>
            <date>2017-09-27 11:10:42 -0700</date>
            <delta_ts>2017-09-27 11:58:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177477-20170927111041.patch</filename>
            <type>text/plain</type>
            <size>5347</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAz
ZDdkODBkMTI2MjdjYTBmMjZkYzY4NDFiZTBhNWVhNDUxZjc3OWY3Li5lZTkwZmY5YjA0ZGU4ZDE5
NmQ5NDVkYTM1ZDJlOGQ1ZDdiOTNlZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNy0wOS0yNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRml4IExheWVycyB0YWIgc2lkZWJhciBw
b3BvdmVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3NDc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAg
ICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUud2lsbERpc21pc3NQb3Bv
dmVyKTogQWRkZWQuCisgICAgICAgIChXSS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90
eXBlLl9idWlsZERhdGFHcmlkKToKKyAgICAgICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5l
bC5wcm90b3R5cGUuX3NvcnREYXRhR3JpZCk6CisgICAgICAgIChXSS5MYXllckRldGFpbHNTaWRl
YmFyUGFuZWwucHJvdG90eXBlLl9kYXRhR3JpZFNlbGVjdGVkTm9kZUNoYW5nZWQpOgorICAgICAg
ICAoV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fZGF0YUdyaWRGb2N1c2Vk
KToKKyAgICAgICAgKFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2RhdGFH
cmlkQmx1cnJlZCk6CisgICAgICAgIChXSS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90
eXBlLl9zaG93UG9wb3ZlckZvclNlbGVjdGVkTm9kZSk6IFJlZmFjdG9yZWQuCisgICAgICAgIChX
SS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9wcmVzZW50UG9wb3Zlcik6Cisg
ICAgICAgIChXSS5MYXllckRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9kYXRhR3JpZENs
aWNrZWQpOiBEZWxldGVkIC0tIG5vdCBhY3R1YWxseSBkZXNpcmVkIGJlaGF2aW9yLgorICAgICAg
ICAoV0kuTGF5ZXJEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fdXBkYXRlUG9wb3ZlckZv
clNlbGVjdGVkTm9kZSk6IERlbGV0ZWQgLS0gY29kZSBzaW1wbGlmaWNhdGlvbi4KKyAgICAgICAg
KFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2hpZGVQb3BvdmVyKTogRGVs
ZXRlZCAtLSBubyBsb25nZXIgbmVlZGVkLgorCiAyMDE3LTA5LTI1ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBmb2xsb3ctdXAgdG8g
cjIyMjQ3MC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCA1
NGU3OWNlMzdiYmFlMDgxM2UxMGQ4ZTNkZGZlN2IxYjk5YzQ3MDJiLi40ZDYyMWQyYzU4MDVlMmZh
Zjc4ZmEzZTMzODg1YjJjYTk3MTUzNDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllckRldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJEZXRhaWxzU2lk
ZWJhclBhbmVsLmpzCkBAIC01NSw2ICs1NSwxMSBAQCBXSS5MYXllckRldGFpbHNTaWRlYmFyUGFu
ZWwgPSBjbGFzcyBMYXllckRldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5EZXRhaWxzUwog
ICAgICAgICByZXR1cm4gISFsYXllcnMubGVuZ3RoOwogICAgIH0KIAorICAgIHdpbGxEaXNtaXNz
UG9wb3ZlcigpCisgICAgeworICAgICAgICB0aGlzLl9wb3BvdmVyID0gbnVsbDsKKyAgICB9CisK
ICAgICAvLyBQcml2YXRlCiAKICAgICBfYnVpbGREYXRhR3JpZCgpCkBAIC04OCw3ICs5Myw2IEBA
IFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyRGV0YWlsc1NpZGViYXJQ
YW5lbCBleHRlbmRzIFdJLkRldGFpbHNTCiAKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuZWxlbWVu
dC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsIHRoaXMuX2RhdGFHcmlkRm9jdXNlZC5iaW5kKHRo
aXMpLCBmYWxzZSk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigiYmx1ciIsIHRoaXMuX2RhdGFHcmlkQmx1cnJlZC5iaW5kKHRoaXMpLCBmYWxzZSk7Ci0g
ICAgICAgIHRoaXMuX2RhdGFHcmlkLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0
aGlzLl9kYXRhR3JpZENsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogCiAgICAgICAgIHRoaXMu
Y29udGVudFZpZXcuYWRkU3Vidmlldyh0aGlzLl9kYXRhR3JpZCk7CiAgICAgfQpAQCAtMTE2LDcg
KzEyMCw2IEBAIFdJLkxheWVyRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyRGV0YWls
c1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLkRldGFpbHNTCiAgICAgICAgIH0KIAogICAgICAgICB0
aGlzLl9kYXRhR3JpZC5zb3J0Tm9kZXMoY29tcGFyYXRvcik7Ci0gICAgICAgIHRoaXMuX3VwZGF0
ZVBvcG92ZXJGb3JTZWxlY3RlZE5vZGUoKTsKICAgICB9CiAKICAgICBfZGF0YUdyaWRTZWxlY3Rl
ZE5vZGVDaGFuZ2VkKCkKQEAgLTEyNCwyOCArMTI3LDE4IEBAIFdJLkxheWVyRGV0YWlsc1NpZGVi
YXJQYW5lbCA9IGNsYXNzIExheWVyRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbmRzIFdJLkRldGFp
bHNTCiAgICAgICAgIGlmICh0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUpIHsKICAgICAgICAg
ICAgIHRoaXMuX2hpZ2hsaWdodFNlbGVjdGVkTm9kZSgpOwogICAgICAgICAgICAgdGhpcy5fc2hv
d1BvcG92ZXJGb3JTZWxlY3RlZE5vZGUoKTsKLSAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICBXSS5kb21UcmVlTWFuYWdlci5oaWRlRE9NTm9kZUhpZ2hsaWdodCgp
OwotICAgICAgICAgICAgdGhpcy5faGlkZVBvcG92ZXIoKTsKLSAgICAgICAgfQogICAgIH0KIAog
ICAgIF9kYXRhR3JpZEZvY3VzZWQoZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLl9oaWdobGln
aHRTZWxlY3RlZE5vZGUoKTsKLSAgICAgICAgdGhpcy5fc2hvd1BvcG92ZXJGb3JTZWxlY3RlZE5v
ZGUoKTsKICAgICB9CiAKICAgICBfZGF0YUdyaWRCbHVycmVkKGV2ZW50KQogICAgIHsKICAgICAg
ICAgV0kuZG9tVHJlZU1hbmFnZXIuaGlkZURPTU5vZGVIaWdobGlnaHQoKTsKLSAgICAgICAgdGhp
cy5faGlkZVBvcG92ZXIoKTsKLSAgICB9Ci0KLSAgICBfZGF0YUdyaWRDbGlja2VkKGV2ZW50KQot
ICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZSAmJiBldmVudC50
YXJnZXQucGFyZW50Tm9kZS5jbGFzc0xpc3QuY29udGFpbnMoImZpbGxlciIpKQotICAgICAgICAg
ICAgdGhpcy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlLmRlc2VsZWN0KCk7CiAgICAgfQogCiAgICAg
X2hpZ2hsaWdodFNlbGVjdGVkTm9kZSgpCkBAIC0yMjgsMzMgKzIyMSwyMSBAQCBXSS5MYXllckRl
dGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBMYXllckRldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW5k
cyBXSS5EZXRhaWxzUwogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX2NvbnRl
bnRGb3JQb3BvdmVyKGRhdGFHcmlkTm9kZS5sYXllciwgKGNvbnRlbnQpID0+IHsKLSAgICAgICAg
ICAgIGlmIChkYXRhR3JpZE5vZGUgPT09IHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZSkKLSAg
ICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQb3BvdmVyRm9yU2VsZWN0ZWROb2RlKGNvbnRlbnQp
OwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICBfdXBkYXRlUG9wb3ZlckZvclNlbGVjdGVkTm9k
ZShjb250ZW50KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5v
ZGUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKCF0aGlzLl9wb3BvdmVyKSB7
Ci0gICAgICAgICAgICB0aGlzLl9wb3BvdmVyID0gbmV3IFdJLlBvcG92ZXI7Ci0gICAgICAgICAg
ICB0aGlzLl9wb3BvdmVyLndpbmRvd1Jlc2l6ZUhhbmRsZXIgPSAoKSA9PiB7IHRoaXMuX3VwZGF0
ZVBvcG92ZXJGb3JTZWxlY3RlZE5vZGUoKTsgfTsKLSAgICAgICAgfQotCi0gICAgICAgIGxldCB0
YXJnZXRGcmFtZSA9IFdJLlJlY3QucmVjdEZyb21DbGllbnRSZWN0KHRoaXMuX2RhdGFHcmlkLnNl
bGVjdGVkTm9kZS5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAgICAg
IGlmIChkYXRhR3JpZE5vZGUgIT09IHRoaXMuX2RhdGFHcmlkLnNlbGVjdGVkTm9kZSkKKyAgICAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKGNvbnRlbnQpCisgICAgICAgICAgICB0
aGlzLl9wb3BvdmVyID0gdGhpcy5fcG9wb3ZlciB8fCBuZXcgV0kuUG9wb3Zlcih0aGlzKTsKICAg
ICAgICAgICAgIHRoaXMuX3BvcG92ZXIuY29udGVudCA9IGNvbnRlbnQ7CisgICAgICAgICAgICB0
aGlzLl9wb3BvdmVyLndpbmRvd1Jlc2l6ZUhhbmRsZXIgPSAoKSA9PiB7IHRoaXMuX3ByZXNlbnRQ
b3BvdmVyKCk7IH07CiAKLSAgICAgICAgdGhpcy5fcG9wb3Zlci5wcmVzZW50KHRhcmdldEZyYW1l
LnBhZCgyKSwgW1dJLlJlY3RFZGdlLk1JTl9YXSk7CisgICAgICAgICAgICB0aGlzLl9wcmVzZW50
UG9wb3ZlcigpOworICAgICAgICB9KTsKICAgICB9CiAKLSAgICBfaGlkZVBvcG92ZXIoKQorICAg
IF9wcmVzZW50UG9wb3ZlcigpCiAgICAgewotICAgICAgICBpZiAodGhpcy5fcG9wb3ZlcikKLSAg
ICAgICAgICAgIHRoaXMuX3BvcG92ZXIuZGlzbWlzcygpOworICAgICAgICBsZXQgdGFyZ2V0RnJh
bWUgPSBXSS5SZWN0LnJlY3RGcm9tQ2xpZW50UmVjdCh0aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5v
ZGUuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7CisgICAgICAgIHRoaXMuX3BvcG92
ZXIucHJlc2VudCh0YXJnZXRGcmFtZS5wYWQoMiksIFtXSS5SZWN0RWRnZS5NSU5fWF0pOwogICAg
IH0KIAogICAgIF9jb250ZW50Rm9yUG9wb3ZlcihsYXllciwgY2FsbGJhY2spCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>