<?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>194299</bug_id>
          
          <creation_ts>2019-02-05 12:58:44 -0800</creation_ts>
          <short_desc>REGRESSION: Elements tab: Uncaught Exception: No node with given id found</short_desc>
          <delta_ts>2019-03-06 16:09:30 -0800</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>file:///Users/mattbaker/Desktop/Test%20pages/delete-multiple-dom-nodes.html</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>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1502479</commentid>
    <comment_count>0</comment_count>
      <attachid>361211</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-02-05 12:58:44 -0800</bug_when>
    <thetext>Created attachment 361211
[HTML] Test Page

-------
Inspected URL:        file:///Users/mattbaker/Desktop/Test%20pages/delete-multiple-dom-nodes.html
Loading completed:    true
Frontend User Agent:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko)

Uncaught Exceptions:
 - No node with given id found (at Connection.js:158:29)
    _dispatchResponseToPromise @ Connection.js:158:29
    _dispatchResponse @ Connection.js:120:44
    dispatch @ Connection.js:70:35
    dispatchMessageFromTarget @ TargetManager.js:101:35
    dispatchMessageFromTarget @ TargetObserver.js:42:51
    dispatchEvent @ InspectorBackend.js:340:42
    _dispatchEvent @ Connection.js:195:32
    dispatch @ Connection.js:72:32
    dispatch @ InspectorBackend.js:178:52
    dispatchNextQueuedMessageFromBackend @ MessageDispatcher.js:42:34
-------

* STEPS TO REPRODUCE
1. Inspect test page
2. Elements tab
3. Select and expand DIV &quot;parent-1&quot;
4. Hit delete
  =&gt; Uncaught exception</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502485</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-05 13:15:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/47828647&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512887</commentid>
    <comment_count>2</comment_count>
      <attachid>363703</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-05 15:46:14 -0800</bug_when>
    <thetext>Created attachment 363703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513003</commentid>
    <comment_count>3</comment_count>
      <attachid>363703</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-03-05 22:11:12 -0800</bug_when>
    <thetext>Comment on attachment 363703
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js:307
&gt; +        this._treeElementsToRemove.sort((a, b) =&gt; getLevel(b) - getLevel(a));

Should we sort before calling `removeSelectedItems`?  It should make performance slightly better since it organizes the array to be bottom-up based on the DOM and we check bottom-up inside `canSelectTreeElement`, meaning that the &quot;lower&quot; nodes are more likely to be earlier on in the array.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js:330
&gt; +            return super.canSelectTreeElement(treeElement);

Rather than only using this path if we aren&apos;t removing, I think we should flip this around.
```
    if (!super.canSelectTreeElement(treeElement))
        return false;

    let willRemoveAncestorOrSelf = false;
    if (this._treeElementsToRemove) {
        while (treeElement &amp;&amp; !willRemoveAncestorOrSelf) {
            willRemoveAncestorOrSelf = this._treeElementsToRemove.includes(treeElement);
            treeElement = treeElement.parent;
        }
    }
    return !willRemoveAncestorOrSelf;
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513235</commentid>
    <comment_count>4</comment_count>
      <attachid>363803</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-06 15:40:50 -0800</bug_when>
    <thetext>Created attachment 363803
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513236</commentid>
    <comment_count>5</comment_count>
      <attachid>363703</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2019-03-06 15:43:34 -0800</bug_when>
    <thetext>Comment on attachment 363703
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeOutline.js:307
&gt;&gt; +        this._treeElementsToRemove.sort((a, b) =&gt; getLevel(b) - getLevel(a));
&gt; 
&gt; Should we sort before calling `removeSelectedItems`?  It should make performance slightly better since it organizes the array to be bottom-up based on the DOM and we check bottom-up inside `canSelectTreeElement`, meaning that the &quot;lower&quot; nodes are more likely to be earlier on in the array.

The sort would need to go in SelectionController, and this is only needed for the DOMTreeOutline. If this path needs to be optimized in the future I will investigate then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513253</commentid>
    <comment_count>6</comment_count>
      <attachid>363803</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-06 16:09:28 -0800</bug_when>
    <thetext>Comment on attachment 363803
Patch for landing

Clearing flags on attachment: 363803

Committed r242577: &lt;https://trac.webkit.org/changeset/242577&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513254</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-06 16:09:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>361211</attachid>
            <date>2019-02-05 12:58:44 -0800</date>
            <delta_ts>2019-02-05 12:58:44 -0800</delta_ts>
            <desc>[HTML] Test Page</desc>
            <filename>delete-multiple-dom-nodes.html</filename>
            <type>text/html</type>
            <size>86</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">PGRpdiBjbGFzcz0icGFyZW50LTEiPgogICAgPHAgY2xhc3M9ImNoaWxkLTEiPjwvcD4KPC9kaXY+
CjxkaXYgY2xhc3M9InBhcmVudC0yIj48L2Rpdj4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363703</attachid>
            <date>2019-03-05 15:46:14 -0800</date>
            <delta_ts>2019-03-06 15:40:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194299-20190305154613.patch</filename>
            <type>text/plain</type>
            <size>6050</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA4
MGIxNWFhNzY1MDcwMDE5OWZlMTQ2NzM5YWFjNDkwNzU1ZDg3MDRiLi44NDAxODFiYTg0ODJlMWJk
MWZhYzViYzE3ODg5NDM2MzkxMjA1YjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0wMy0wNSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTjogRWxlbWVudHMgdGFiOiBVbmNhdWdodCBFeGNlcHRpb246
IE5vIG5vZGUgd2l0aCBnaXZlbiBpZCBmb3VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0Mjk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Nzgy
ODY0Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIHJlbW92aW5nIHRoZSBzZWxlY3Rpb24sIFRyZWVPdXRsaW5lIHN1YmNsYXNzZXMgc2hvdWxk
IGhhdmUgbW9yZQorICAgICAgICBjb250cm9sIG92ZXIgd2hpY2ggaXRlbSBiZWNvbWVzIHNlbGVj
dGVkIGFmdGVyIHRoZSBzZWxlY3Rpb24gaXMgcmVtb3ZlZC4KKyAgICAgICAgRE9NVHJlZU91dGxp
bmUgc2hvdWxkIHRyYWNrIHRoZSBpdGVtcyB0aGF0IGFyZSBiZWluZyByZW1vdmVkLCBhbmQgcHJl
dmVudAorICAgICAgICB0aGVtIG9yIHRoZWlyIGRlc2NlbmRhbnRzIGZyb20gYmVjb21pbmcgc2Vs
ZWN0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpz
OgorICAgICAgICAoV0kuRE9NVHJlZU91dGxpbmUpOgorICAgICAgICAoV0kuRE9NVHJlZU91dGxp
bmUucHJvdG90eXBlLm9uZGVsZXRlKToKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lLnByb3Rv
dHlwZS5jYW5TZWxlY3RUcmVlRWxlbWVudCk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV0kuVHJlZU91dGxpbmUucHJvdG90eXBlLnNl
bGVjdGlvbkNvbnRyb2xsZXJMYXN0U2VsZWN0YWJsZUl0ZW0pOgorICAgICAgICAoV0kuVHJlZU91
dGxpbmUucHJvdG90eXBlLnNlbGVjdGlvbkNvbnRyb2xsZXJQcmV2aW91c1NlbGVjdGFibGVJdGVt
KToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5zZWxlY3Rpb25Db250cm9sbGVy
TmV4dFNlbGVjdGFibGVJdGVtKToKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5j
YW5TZWxlY3RUcmVlRWxlbWVudCk6CisKIDIwMTktMDMtMDQgIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENTUzogY2xhc3MgaW5wdXQg
aXNuJ3QgZnVsbHkgY2VudGVyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxpbmUuanMKaW5kZXggNjdlYmQwNjIw
ZjYyNGUyNWM1ZDJlNGQyMzNhM2RkNmNhYzYzMTlhNi4uNmFlNjBlMGM5NmYzMGQ5NDM0MDY1NWMx
MDU2NmJlYWVkOTQwNWRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxpbmUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZU91dGxpbmUuanMKQEAgLTQ5LDYgKzQ5LDcg
QEAgV0kuRE9NVHJlZU91dGxpbmUgPSBjbGFzcyBET01UcmVlT3V0bGluZSBleHRlbmRzIFdJLlRy
ZWVPdXRsaW5lCiAgICAgICAgIHRoaXMuX2V4Y2x1ZGVSZXZlYWxFbGVtZW50Q29udGV4dE1lbnUg
PSBleGNsdWRlUmV2ZWFsRWxlbWVudENvbnRleHRNZW51OwogICAgICAgICB0aGlzLl9yb290RE9N
Tm9kZSA9IG51bGw7CiAgICAgICAgIHRoaXMuX3NlbGVjdGVkRE9NTm9kZSA9IG51bGw7CisgICAg
ICAgIHRoaXMuX3RyZWVFbGVtZW50c1RvUmVtb3ZlID0gbnVsbDsKIAogICAgICAgICB0aGlzLl9l
ZGl0YWJsZSA9IGZhbHNlOwogICAgICAgICB0aGlzLl9lZGl0aW5nID0gZmFsc2U7CkBAIC0yODQs
NyArMjg1LDcgQEAgV0kuRE9NVHJlZU91dGxpbmUgPSBjbGFzcyBET01UcmVlT3V0bGluZSBleHRl
bmRzIFdJLlRyZWVPdXRsaW5lCiAgICAgICAgIGlmICghdGhpcy5fZWRpdGFibGUpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgbGV0IHNlbGVjdGVkVHJlZUVsZW1lbnRzID0g
dGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50czsKKyAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRzVG9S
ZW1vdmUgPSB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnRzOwogICAgICAgICB0aGlzLl9zZWxlY3Rp
b25Db250cm9sbGVyLnJlbW92ZVNlbGVjdGVkSXRlbXMoKTsKIAogICAgICAgICBsZXQgbGV2ZWxN
YXAgPSBuZXcgTWFwOwpAQCAtMzAzLDI0ICszMDQsNDMgQEAgV0kuRE9NVHJlZU91dGxpbmUgPSBj
bGFzcyBET01UcmVlT3V0bGluZSBleHRlbmRzIFdJLlRyZWVPdXRsaW5lCiAKICAgICAgICAgLy8g
U29ydCBpbiBkZXNjZW5kaW5nIG9yZGVyIGJ5IG5vZGUgbGV2ZWwuIFRoaXMgZW5zdXJlcyB0aGF0
IGNoaWxkIG5vZGVzCiAgICAgICAgIC8vIGFyZSByZW1vdmVkIGJlZm9yZSB0aGVpciBhbmNlc3Rv
cnMuCi0gICAgICAgIHNlbGVjdGVkVHJlZUVsZW1lbnRzLnNvcnQoKGEsIGIpID0+IGdldExldmVs
KGIpIC0gZ2V0TGV2ZWwoYSkpOworICAgICAgICB0aGlzLl90cmVlRWxlbWVudHNUb1JlbW92ZS5z
b3J0KChhLCBiKSA9PiBnZXRMZXZlbChiKSAtIGdldExldmVsKGEpKTsKIAogICAgICAgICAvLyBU
cmFjayByZW1vdmVkIGVsZW1lbnRzLCBzaW5jZSB0aGUgb3BlbmluZyBhbmQgY2xvc2luZyB0YWdz
IGZvciB0aGUKICAgICAgICAgLy8gc2FtZSBXSS5ET01Ob2RlIGNhbiBib3RoIGJlIHNlbGVjdGVk
LgogICAgICAgICBsZXQgcmVtb3ZlZFRyZWVFbGVtZW50cyA9IG5ldyBTZXQ7CiAKLSAgICAgICAg
Zm9yIChsZXQgdHJlZUVsZW1lbnQgb2Ygc2VsZWN0ZWRUcmVlRWxlbWVudHMpIHsKKyAgICAgICAg
Zm9yIChsZXQgdHJlZUVsZW1lbnQgb2YgdGhpcy5fdHJlZUVsZW1lbnRzVG9SZW1vdmUpIHsKICAg
ICAgICAgICAgIGlmIChyZW1vdmVkVHJlZUVsZW1lbnRzLmhhcyh0cmVlRWxlbWVudCkpCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICByZW1vdmVkVHJlZUVsZW1lbnRzLmFk
ZCh0cmVlRWxlbWVudCkKICAgICAgICAgICAgIHRyZWVFbGVtZW50LnJlbW92ZSgpOwogICAgICAg
ICB9CiAKKyAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRzVG9SZW1vdmUgPSBudWxsOworCiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KIAogICAgIC8vIFByb3RlY3RlZAogCisgICAgY2FuU2Vs
ZWN0VHJlZUVsZW1lbnQodHJlZUVsZW1lbnQpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX3Ry
ZWVFbGVtZW50c1RvUmVtb3ZlKQorICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmNhblNlbGVjdFRy
ZWVFbGVtZW50KHRyZWVFbGVtZW50KTsKKworICAgICAgICBpZiAoIXRyZWVFbGVtZW50LnNlbGVj
dGFibGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgbGV0IHdpbGxSZW1v
dmVBbmNlc3Rvck9yU2VsZiA9IGZhbHNlOworICAgICAgICB3aGlsZSAodHJlZUVsZW1lbnQgJiYg
IXdpbGxSZW1vdmVBbmNlc3Rvck9yU2VsZikgeworICAgICAgICAgICAgd2lsbFJlbW92ZUFuY2Vz
dG9yT3JTZWxmID0gdGhpcy5fdHJlZUVsZW1lbnRzVG9SZW1vdmUuaW5jbHVkZXModHJlZUVsZW1l
bnQpOworICAgICAgICAgICAgdHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVudC5wYXJlbnQ7CisgICAg
ICAgIH0KKworICAgICAgICByZXR1cm4gIXdpbGxSZW1vdmVBbmNlc3Rvck9yU2VsZjsKKyAgICB9
CisKICAgICBvYmplY3RGb3JTZWxlY3Rpb24odHJlZUVsZW1lbnQpCiAgICAgewogICAgICAgICBp
ZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXSS5ET01UcmVlRWxlbWVudCAmJiB0cmVlRWxlbWVu
dC5pc0Nsb3NlVGFnKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKaW5kZXggOTU4Y2IzYmQwZDk5YTQyYTQ1
N2IwMjhlNDI4ZDlhODU2ZjEyZjI5OS4uYzYzMmVmZTAxZjIyMTU2MmIyNGFkODdhMzVmYzlhYmEx
MDk4ZjY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVHJlZU91dGxpbmUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKQEAgLTgxNyw3ICs4MTcsNyBAQCBXSS5UcmVlT3V0
bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAgICB0
cmVlRWxlbWVudCA9IHRyZWVFbGVtZW50LmNoaWxkcmVuLmxhc3RWYWx1ZTsKIAogICAgICAgICBs
ZXQgaXRlbSA9IHRoaXMub2JqZWN0Rm9yU2VsZWN0aW9uKHRyZWVFbGVtZW50KTsKLSAgICAgICAg
aWYgKHRyZWVFbGVtZW50LnNlbGVjdGFibGUpCisgICAgICAgIGlmICh0aGlzLmNhblNlbGVjdFRy
ZWVFbGVtZW50KHRyZWVFbGVtZW50KSkKICAgICAgICAgICAgIHJldHVybiBpdGVtOwogICAgICAg
ICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Db250cm9sbGVyUHJldmlvdXNTZWxlY3RhYmxlSXRlbShj
b250cm9sbGVyLCBpdGVtKTsKICAgICB9CkBAIC04MzQsNyArODM0LDcgQEAgV0kuVHJlZU91dGxp
bmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBjb25zdCBk
b250UG9wdWxhdGUgPSB0cnVlOwogCiAgICAgICAgIHdoaWxlICh0cmVlRWxlbWVudCA9IHRyZWVF
bGVtZW50LnRyYXZlcnNlUHJldmlvdXNUcmVlRWxlbWVudChza2lwVW5yZXZlYWxlZCwgc3RheVdp
dGhpbiwgZG9udFBvcHVsYXRlKSkgewotICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50LnNlbGVj
dGFibGUpCisgICAgICAgICAgICBpZiAodGhpcy5jYW5TZWxlY3RUcmVlRWxlbWVudCh0cmVlRWxl
bWVudCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0Rm9yU2VsZWN0aW9uKHRy
ZWVFbGVtZW50KTsKICAgICAgICAgfQogCkBAIC04NTMsNyArODUzLDcgQEAgV0kuVHJlZU91dGxp
bmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICBjb25zdCBk
b250UG9wdWxhdGUgPSB0cnVlOwogCiAgICAgICAgIHdoaWxlICh0cmVlRWxlbWVudCA9IHRyZWVF
bGVtZW50LnRyYXZlcnNlTmV4dFRyZWVFbGVtZW50KHNraXBVbnJldmVhbGVkLCBzdGF5V2l0aGlu
LCBkb250UG9wdWxhdGUpKSB7Ci0gICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQuc2VsZWN0YWJs
ZSkKKyAgICAgICAgICAgIGlmICh0aGlzLmNhblNlbGVjdFRyZWVFbGVtZW50KHRyZWVFbGVtZW50
KSkKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RGb3JTZWxlY3Rpb24odHJlZUVs
ZW1lbnQpOwogICAgICAgICB9CiAKQEAgLTg2Miw2ICs4NjIsMTMgQEAgV0kuVHJlZU91dGxpbmUg
PSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVjdAogCiAgICAgLy8gUHJvdGVjdGVk
CiAKKyAgICBjYW5TZWxlY3RUcmVlRWxlbWVudCh0cmVlRWxlbWVudCkKKyAgICB7CisgICAgICAg
IC8vIENhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMuCisKKyAgICAgICAgcmV0dXJuIHRy
ZWVFbGVtZW50LnNlbGVjdGFibGU7CisgICAgfQorCiAgICAgb2JqZWN0Rm9yU2VsZWN0aW9uKHRy
ZWVFbGVtZW50KQogICAgIHsKICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50LnJlcHJlc2VudGVk
T2JqZWN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363803</attachid>
            <date>2019-03-06 15:40:50 -0800</date>
            <delta_ts>2019-03-06 16:09:28 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-194299-20190306154049.patch</filename>
            <type>text/plain</type>
            <size>6066</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
NGI4YjM4NTMzOGVlMWNjZTUyMzM4N2VmMDNjMTQ1YzIyM2YwYWE3Li41M2UzMDZlNDhjZmUzN2Mz
YjM0ZTNlOWIxNjRjZmMzMGZlMmRhNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOS0wMy0wNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTjogRWxlbWVudHMgdGFiOiBVbmNhdWdodCBFeGNlcHRpb246
IE5vIG5vZGUgd2l0aCBnaXZlbiBpZCBmb3VuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0Mjk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Nzgy
ODY0Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgV2hl
biByZW1vdmluZyB0aGUgc2VsZWN0aW9uLCBUcmVlT3V0bGluZSBzdWJjbGFzc2VzIHNob3VsZCBo
YXZlIG1vcmUKKyAgICAgICAgY29udHJvbCBvdmVyIHdoaWNoIGl0ZW0gYmVjb21lcyBzZWxlY3Rl
ZCBhZnRlciB0aGUgc2VsZWN0aW9uIGlzIHJlbW92ZWQuCisgICAgICAgIERPTVRyZWVPdXRsaW5l
IHNob3VsZCB0cmFjayB0aGUgaXRlbXMgdGhhdCBhcmUgYmVpbmcgcmVtb3ZlZCwgYW5kIHByZXZl
bnQKKyAgICAgICAgdGhlbSBvciB0aGVpciBkZXNjZW5kYW50cyBmcm9tIGJlY29taW5nIHNlbGVj
dGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qczoK
KyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5lKToKKyAgICAgICAgKFdJLkRPTVRyZWVPdXRsaW5l
LnByb3RvdHlwZS5vbmRlbGV0ZSk6CisgICAgICAgIChXSS5ET01UcmVlT3V0bGluZS5wcm90b3R5
cGUuY2FuU2VsZWN0VHJlZUVsZW1lbnQpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9UcmVlT3V0bGluZS5qczoKKyAgICAgICAgKFdJLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5zZWxl
Y3Rpb25Db250cm9sbGVyTGFzdFNlbGVjdGFibGVJdGVtKToKKyAgICAgICAgKFdJLlRyZWVPdXRs
aW5lLnByb3RvdHlwZS5zZWxlY3Rpb25Db250cm9sbGVyUHJldmlvdXNTZWxlY3RhYmxlSXRlbSk6
CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5cGUuc2VsZWN0aW9uQ29udHJvbGxlck5l
eHRTZWxlY3RhYmxlSXRlbSk6CisgICAgICAgIChXSS5UcmVlT3V0bGluZS5wcm90b3R5cGUuY2Fu
U2VsZWN0VHJlZUVsZW1lbnQpOgorCiAyMDE5LTAzLTA2ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU2ltcGxpZnkgY2hhcnQg
PHJlY3Q+cyB3aXRoIHgveSBhdHRyaWJ1dGVzIGluc3RlYWQgb2YgdHJhbnNmb3JtKHgsIHkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01U
cmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTVRyZWVPdXRsaW5lLmpzCmluZGV4IDY3ZWJkMDYyMGY2MjRlMjVjNWQyZTRkMjMzYTNkZDZj
YWM2MzE5YTYuLmM2ZWQ2NDI4OGM0MDQ5ZTQzYmEyMDQ0YmQ2OGYxZDhhNDAzYmE4NjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVP
dXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTVRyZWVPdXRsaW5lLmpzCkBAIC00OSw2ICs0OSw3IEBAIFdJLkRPTVRyZWVPdXRsaW5lID0g
Y2xhc3MgRE9NVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5UcmVlT3V0bGluZQogICAgICAgICB0aGlz
Ll9leGNsdWRlUmV2ZWFsRWxlbWVudENvbnRleHRNZW51ID0gZXhjbHVkZVJldmVhbEVsZW1lbnRD
b250ZXh0TWVudTsKICAgICAgICAgdGhpcy5fcm9vdERPTU5vZGUgPSBudWxsOwogICAgICAgICB0
aGlzLl9zZWxlY3RlZERPTU5vZGUgPSBudWxsOworICAgICAgICB0aGlzLl90cmVlRWxlbWVudHNU
b1JlbW92ZSA9IG51bGw7CiAKICAgICAgICAgdGhpcy5fZWRpdGFibGUgPSBmYWxzZTsKICAgICAg
ICAgdGhpcy5fZWRpdGluZyA9IGZhbHNlOwpAQCAtMjg0LDcgKzI4NSw3IEBAIFdJLkRPTVRyZWVP
dXRsaW5lID0gY2xhc3MgRE9NVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5UcmVlT3V0bGluZQogICAg
ICAgICBpZiAoIXRoaXMuX2VkaXRhYmxlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgICAgIGxldCBzZWxlY3RlZFRyZWVFbGVtZW50cyA9IHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVu
dHM7CisgICAgICAgIHRoaXMuX3RyZWVFbGVtZW50c1RvUmVtb3ZlID0gdGhpcy5zZWxlY3RlZFRy
ZWVFbGVtZW50czsKICAgICAgICAgdGhpcy5fc2VsZWN0aW9uQ29udHJvbGxlci5yZW1vdmVTZWxl
Y3RlZEl0ZW1zKCk7CiAKICAgICAgICAgbGV0IGxldmVsTWFwID0gbmV3IE1hcDsKQEAgLTMwMywy
NCArMzA0LDQyIEBAIFdJLkRPTVRyZWVPdXRsaW5lID0gY2xhc3MgRE9NVHJlZU91dGxpbmUgZXh0
ZW5kcyBXSS5UcmVlT3V0bGluZQogCiAgICAgICAgIC8vIFNvcnQgaW4gZGVzY2VuZGluZyBvcmRl
ciBieSBub2RlIGxldmVsLiBUaGlzIGVuc3VyZXMgdGhhdCBjaGlsZCBub2RlcwogICAgICAgICAv
LyBhcmUgcmVtb3ZlZCBiZWZvcmUgdGhlaXIgYW5jZXN0b3JzLgotICAgICAgICBzZWxlY3RlZFRy
ZWVFbGVtZW50cy5zb3J0KChhLCBiKSA9PiBnZXRMZXZlbChiKSAtIGdldExldmVsKGEpKTsKKyAg
ICAgICAgdGhpcy5fdHJlZUVsZW1lbnRzVG9SZW1vdmUuc29ydCgoYSwgYikgPT4gZ2V0TGV2ZWwo
YikgLSBnZXRMZXZlbChhKSk7CiAKICAgICAgICAgLy8gVHJhY2sgcmVtb3ZlZCBlbGVtZW50cywg
c2luY2UgdGhlIG9wZW5pbmcgYW5kIGNsb3NpbmcgdGFncyBmb3IgdGhlCiAgICAgICAgIC8vIHNh
bWUgV0kuRE9NTm9kZSBjYW4gYm90aCBiZSBzZWxlY3RlZC4KICAgICAgICAgbGV0IHJlbW92ZWRU
cmVlRWxlbWVudHMgPSBuZXcgU2V0OwogCi0gICAgICAgIGZvciAobGV0IHRyZWVFbGVtZW50IG9m
IHNlbGVjdGVkVHJlZUVsZW1lbnRzKSB7CisgICAgICAgIGZvciAobGV0IHRyZWVFbGVtZW50IG9m
IHRoaXMuX3RyZWVFbGVtZW50c1RvUmVtb3ZlKSB7CiAgICAgICAgICAgICBpZiAocmVtb3ZlZFRy
ZWVFbGVtZW50cy5oYXModHJlZUVsZW1lbnQpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICAgICAgcmVtb3ZlZFRyZWVFbGVtZW50cy5hZGQodHJlZUVsZW1lbnQpCiAgICAgICAg
ICAgICB0cmVlRWxlbWVudC5yZW1vdmUoKTsKICAgICAgICAgfQogCisgICAgICAgIHRoaXMuX3Ry
ZWVFbGVtZW50c1RvUmVtb3ZlID0gbnVsbDsKKwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAKICAgICAvLyBQcm90ZWN0ZWQKIAorICAgIGNhblNlbGVjdFRyZWVFbGVtZW50KHRyZWVFbGVt
ZW50KQorICAgIHsKKyAgICAgICAgaWYgKCFzdXBlci5jYW5TZWxlY3RUcmVlRWxlbWVudCh0cmVl
RWxlbWVudCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgbGV0IHdpbGxS
ZW1vdmVBbmNlc3Rvck9yU2VsZiA9IGZhbHNlOworICAgICAgICBpZiAodGhpcy5fdHJlZUVsZW1l
bnRzVG9SZW1vdmUpIHsKKyAgICAgICAgICAgIHdoaWxlICh0cmVlRWxlbWVudCAmJiAhd2lsbFJl
bW92ZUFuY2VzdG9yT3JTZWxmKSB7CisgICAgICAgICAgICAgICAgd2lsbFJlbW92ZUFuY2VzdG9y
T3JTZWxmID0gdGhpcy5fdHJlZUVsZW1lbnRzVG9SZW1vdmUuaW5jbHVkZXModHJlZUVsZW1lbnQp
OworICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50ID0gdHJlZUVsZW1lbnQucGFyZW50OworICAg
ICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuICF3aWxsUmVtb3ZlQW5jZXN0
b3JPclNlbGY7CisgICAgfQorCiAgICAgb2JqZWN0Rm9yU2VsZWN0aW9uKHRyZWVFbGVtZW50KQog
ICAgIHsKICAgICAgICAgaWYgKHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV0kuRE9NVHJlZUVsZW1l
bnQgJiYgdHJlZUVsZW1lbnQuaXNDbG9zZVRhZygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCmluZGV4IDk1
OGNiM2JkMGQ5OWE0MmE0NTdiMDI4ZTQyOGQ5YTg1NmYxMmYyOTkuLmM2MzJlZmUwMWYyMjE1NjJi
MjRhZDg3YTM1ZmM5YWJhMTA5OGY2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCkBAIC04MTcsNyArODE3
LDcgQEAgV0kuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdJLk9iamVj
dAogICAgICAgICAgICAgdHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVudC5jaGlsZHJlbi5sYXN0VmFs
dWU7CiAKICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLm9iamVjdEZvclNlbGVjdGlvbih0cmVlRWxl
bWVudCk7Ci0gICAgICAgIGlmICh0cmVlRWxlbWVudC5zZWxlY3RhYmxlKQorICAgICAgICBpZiAo
dGhpcy5jYW5TZWxlY3RUcmVlRWxlbWVudCh0cmVlRWxlbWVudCkpCiAgICAgICAgICAgICByZXR1
cm4gaXRlbTsKICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uQ29udHJvbGxlclByZXZpb3Vz
U2VsZWN0YWJsZUl0ZW0oY29udHJvbGxlciwgaXRlbSk7CiAgICAgfQpAQCAtODM0LDcgKzgzNCw3
IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgY29uc3QgZG9udFBvcHVsYXRlID0gdHJ1ZTsKIAogICAgICAgICB3aGlsZSAodHJl
ZUVsZW1lbnQgPSB0cmVlRWxlbWVudC50cmF2ZXJzZVByZXZpb3VzVHJlZUVsZW1lbnQoc2tpcFVu
cmV2ZWFsZWQsIHN0YXlXaXRoaW4sIGRvbnRQb3B1bGF0ZSkpIHsKLSAgICAgICAgICAgIGlmICh0
cmVlRWxlbWVudC5zZWxlY3RhYmxlKQorICAgICAgICAgICAgaWYgKHRoaXMuY2FuU2VsZWN0VHJl
ZUVsZW1lbnQodHJlZUVsZW1lbnQpKQogICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9iamVj
dEZvclNlbGVjdGlvbih0cmVlRWxlbWVudCk7CiAgICAgICAgIH0KIApAQCAtODUzLDcgKzg1Myw3
IEBAIFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgY29uc3QgZG9udFBvcHVsYXRlID0gdHJ1ZTsKIAogICAgICAgICB3aGlsZSAodHJl
ZUVsZW1lbnQgPSB0cmVlRWxlbWVudC50cmF2ZXJzZU5leHRUcmVlRWxlbWVudChza2lwVW5yZXZl
YWxlZCwgc3RheVdpdGhpbiwgZG9udFBvcHVsYXRlKSkgewotICAgICAgICAgICAgaWYgKHRyZWVF
bGVtZW50LnNlbGVjdGFibGUpCisgICAgICAgICAgICBpZiAodGhpcy5jYW5TZWxlY3RUcmVlRWxl
bWVudCh0cmVlRWxlbWVudCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0Rm9y
U2VsZWN0aW9uKHRyZWVFbGVtZW50KTsKICAgICAgICAgfQogCkBAIC04NjIsNiArODYyLDEzIEBA
IFdJLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXSS5PYmplY3QKIAog
ICAgIC8vIFByb3RlY3RlZAogCisgICAgY2FuU2VsZWN0VHJlZUVsZW1lbnQodHJlZUVsZW1lbnQp
CisgICAgeworICAgICAgICAvLyBDYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzLgorCisg
ICAgICAgIHJldHVybiB0cmVlRWxlbWVudC5zZWxlY3RhYmxlOworICAgIH0KKwogICAgIG9iamVj
dEZvclNlbGVjdGlvbih0cmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIHJldHVybiB0cmVlRWxl
bWVudC5yZXByZXNlbnRlZE9iamVjdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>