<?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>221919</bug_id>
          
          <creation_ts>2021-02-15 13:23:38 -0800</creation_ts>
          <short_desc>Web Inspector: Grids with overlays that disappear and reappear remain checked in Layout pane, toggling hits assertion</short_desc>
          <delta_ts>2021-02-16 19:47:24 -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></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="Patrick Angle">pangle</reporter>
          <assigned_to name="Razvan Caliman">rcaliman</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>pangle</cc>
    
    <cc>rcaliman</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729327</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2021-02-15 13:23:38 -0800</bug_when>
    <thetext>**Steps to repro:**
1. Navigate to https://labs.jensimmons.com/2017/03-008.html.
2. Enable the grid overlay for `main` in the Layout sidebar.
3. Resize page width until the content reflows to no longer use grid.
4. Resize page width back to original (or close to it).
5. Click the already-checked main checkbox.

**Expected Result:**
The checkbox would no longer be checked OR the overlay would be reenabled when it becomes a grid again.

**Actual Result:**
The checkbox is still checked without a grid overlay visible and unchecking the box results in:
No grid overlay exists for the node, so cannot clear. (at Connection.js:​162:​29)​
    _dispatchResponseToPromise @ Connection.js:​162:​29
    _dispatchResponse @ Connection.js:​124:​44
    dispatch @ Connection.js:​77:​35
    dispatchMessageFromTarget @ TargetManager.js:​176:​39
    dispatchMessageFromTarget @ TargetObserver.js:​47:​51
    _dispatchEvent @ Connection.js:​210:​26
    dispatch @ Connection.js:​79:​32
    dispatch @ InspectorBackend.js:​232:​52
    ?​ @ MessageDispatcher.js:​42:​34</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729328</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-15 13:24:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/74363006&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729644</commentid>
    <comment_count>2</comment_count>
      <attachid>420462</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 06:11:23 -0800</bug_when>
    <thetext>Created attachment 420462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729723</commentid>
    <comment_count>3</comment_count>
      <attachid>420462</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-16 09:36:48 -0800</bug_when>
    <thetext>Comment on attachment 420462
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/OverlayManager.js:34
&gt; +        WI.DOMNode.addEventListener(WI.DOMNode.Event.LayoutContextTypeChanged, this._handleLayoutContextTypeChanged, this);

Rather than listening for every single layout context type change, can you just add this event listener inside `showGridOverlay` (and remove it in `hideGridOverlay`)?  This way we don&apos;t have to run code for _every_ layout context type change (which is almost guaranteed going to be a far larger amount than just the handful (if even that many) of active overlays).  This would also let you avoid having to check `this._gridOverlayForNodeMap.has(domNode)` in the event handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729810</commentid>
    <comment_count>4</comment_count>
      <attachid>420503</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 11:16:11 -0800</bug_when>
    <thetext>Created attachment 420503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729812</commentid>
    <comment_count>5</comment_count>
      <attachid>420462</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 11:16:51 -0800</bug_when>
    <thetext>Comment on attachment 420462
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/OverlayManager.js:34
&gt;&gt; +        WI.DOMNode.addEventListener(WI.DOMNode.Event.LayoutContextTypeChanged, this._handleLayoutContextTypeChanged, this);
&gt; 
&gt; Rather than listening for every single layout context type change, can you just add this event listener inside `showGridOverlay` (and remove it in `hideGridOverlay`)?  This way we don&apos;t have to run code for _every_ layout context type change (which is almost guaranteed going to be a far larger amount than just the handful (if even that many) of active overlays).  This would also let you avoid having to check `this._gridOverlayForNodeMap.has(domNode)` in the event handler.

That&apos;s a good idea! Uploaded a new patch implementing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729851</commentid>
    <comment_count>6</comment_count>
      <attachid>420503</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-16 12:00:32 -0800</bug_when>
    <thetext>Comment on attachment 420503
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/OverlayManager.js:102
&gt; +        if (domNode.layoutContextType !== WI.DOMNode.LayoutContextType.Grid) {

Style: we often prefer early-returns to avoid extra indentation

Also, I think you should be able to assume that the new `layoutContextType` is not `WI.DOMNode.LayoutContextType.Grid` seeing as how the only way that `showGridOverlay` can get called is if the `domNode` is already a `WI.DOMNode.LayoutContextType.Grid` context.  We should probably add `console.assert(domNode.layoutContextType === WI.DOMNode.LayoutContextType.Grid, domNode.layoutContextType);` inside `showGridOverlay` and `hideGridOverlay`.

You also probably should remove it from `_gridOverlayForNodeMap`.
```
    console.assert(domNode.layoutContextType !== WI.DOMNode.LayoutContextType.Grid, domNode);
    this._gridOverlayForNodeMap.delete(domNode);
    domNode.removeEventListener(WI.DOMNode.Event.LayoutContextTypeChanged, this._handleLayoutContextTypeChanged, this);
    this.dispatchEventToListeners(WI.OverlayManager.Event.GridOverlayHidden, this._gridOverlayForNodeMap.take(domNode));
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729858</commentid>
    <comment_count>7</comment_count>
      <attachid>420503</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 12:10:53 -0800</bug_when>
    <thetext>Comment on attachment 420503
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/OverlayManager.js:102
&gt;&gt; +        if (domNode.layoutContextType !== WI.DOMNode.LayoutContextType.Grid) {
&gt; 
&gt; Style: we often prefer early-returns to avoid extra indentation
&gt; 
&gt; Also, I think you should be able to assume that the new `layoutContextType` is not `WI.DOMNode.LayoutContextType.Grid` seeing as how the only way that `showGridOverlay` can get called is if the `domNode` is already a `WI.DOMNode.LayoutContextType.Grid` context.  We should probably add `console.assert(domNode.layoutContextType === WI.DOMNode.LayoutContextType.Grid, domNode.layoutContextType);` inside `showGridOverlay` and `hideGridOverlay`.
&gt; 
&gt; You also probably should remove it from `_gridOverlayForNodeMap`.
&gt; ```
&gt;     console.assert(domNode.layoutContextType !== WI.DOMNode.LayoutContextType.Grid, domNode);
&gt;     this._gridOverlayForNodeMap.delete(domNode);
&gt;     domNode.removeEventListener(WI.DOMNode.Event.LayoutContextTypeChanged, this._handleLayoutContextTypeChanged, this);
&gt;     this.dispatchEventToListeners(WI.OverlayManager.Event.GridOverlayHidden, this._gridOverlayForNodeMap.take(domNode));
&gt; ```

&gt; You also probably should remove it from `_gridOverlayForNodeMap`.

That&apos;s what `this._gridOverlayForNodeMap.take(domNode)` is for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729859</commentid>
    <comment_count>8</comment_count>
      <attachid>420503</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-16 12:12:45 -0800</bug_when>
    <thetext>Comment on attachment 420503
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Controllers/OverlayManager.js:102
&gt;&gt;&gt; +        if (domNode.layoutContextType !== WI.DOMNode.LayoutContextType.Grid) {
&gt;&gt; 
&gt;&gt; Style: we often prefer early-returns to avoid extra indentation
&gt;&gt; 
&gt;&gt; Also, I think you should be able to assume that the new `layoutContextType` is not `WI.DOMNode.LayoutContextType.Grid` seeing as how the only way that `showGridOverlay` can get called is if the `domNode` is already a `WI.DOMNode.LayoutContextType.Grid` context.  We should probably add `console.assert(domNode.layoutContextType === WI.DOMNode.LayoutContextType.Grid, domNode.layoutContextType);` inside `showGridOverlay` and `hideGridOverlay`.
&gt;&gt; 
&gt;&gt; You also probably should remove it from `_gridOverlayForNodeMap`.
&gt;&gt; ```
&gt;&gt;     console.assert(domNode.layoutContextType !== WI.DOMNode.LayoutContextType.Grid, domNode);
&gt;&gt;     this._gridOverlayForNodeMap.delete(domNode);
&gt;&gt;     domNode.removeEventListener(WI.DOMNode.Event.LayoutContextTypeChanged, this._handleLayoutContextTypeChanged, this);
&gt;&gt;     this.dispatchEventToListeners(WI.OverlayManager.Event.GridOverlayHidden, this._gridOverlayForNodeMap.take(domNode));
&gt;&gt; ```
&gt; 
&gt; 

Oh I totally missed that!  Very clever move :)

You might consider pulling that out into a variable tho just so that it&apos;s a bit more visible :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729866</commentid>
    <comment_count>9</comment_count>
      <attachid>420520</attachid>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 12:23:49 -0800</bug_when>
    <thetext>Created attachment 420520
Patch

Carry over R+ from previous</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729867</commentid>
    <comment_count>10</comment_count>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 12:25:03 -0800</bug_when>
    <thetext>(In reply to Razvan Caliman from comment #9)
&gt; Created attachment 420520 [details]
&gt; Patch
&gt; 
&gt; Carry over R+ from previous

Scratch that. No R+ to carry over. I got confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729869</commentid>
    <comment_count>11</comment_count>
      <attachid>420520</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-16 12:26:55 -0800</bug_when>
    <thetext>Comment on attachment 420520
Patch

(In reply to Razvan Caliman from comment #10)
&gt; (In reply to Razvan Caliman from comment #9)
&gt; &gt; Created attachment 420520 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Carry over R+ from previous
&gt; 
&gt; Scratch that. No R+ to carry over. I got confused.
I actually did r+ the previous patch, but I forgot to write &quot;r=me&quot;.  You can click the &quot;History&quot; link in the top-right next to &quot;Modified:&quot; and see for yourself :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729870</commentid>
    <comment_count>12</comment_count>
    <who name="Razvan Caliman">rcaliman</who>
    <bug_when>2021-02-16 12:28:43 -0800</bug_when>
    <thetext>(In reply to Devin Rousso from comment #11)
&gt; Comment on attachment 420520 [details]
&gt; Patch
&gt; 
&gt; (In reply to Razvan Caliman from comment #10)
&gt; &gt; (In reply to Razvan Caliman from comment #9)
&gt; &gt; &gt; Created attachment 420520 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Carry over R+ from previous
&gt; &gt; 
&gt; &gt; Scratch that. No R+ to carry over. I got confused.
&gt; I actually did r+ the previous patch, but I forgot to write &quot;r=me&quot;.  You can
&gt; click the &quot;History&quot; link in the top-right next to &quot;Modified:&quot; and see for
&gt; yourself :)

Ha! Switching quickly between working on two patches. I knew I saw some R+ somewhere :)
Thanks for the History tip!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730092</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-16 19:47:22 -0800</bug_when>
    <thetext>Committed r272976: &lt;https://commits.webkit.org/r272976&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420520.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420462</attachid>
            <date>2021-02-16 06:11:23 -0800</date>
            <delta_ts>2021-02-16 11:16:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221919-20210216151122.patch</filename>
            <type>text/plain</type>
            <size>2875</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDVkODNmYWQwZmIyZDNmYzMyYThjOTczMjAxNzAy
NTBmNDkwZmM3ZDguLjkxOTc4M2UxYjYyMzNlZGM2NmEwYTNmYzk0ODg2ODIyMDcxNmQyMGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAyLTE2ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBHcmlkcyB3aXRoIG92ZXJsYXlzIHRoYXQgZGlzYXBwZWFyIGFuZCByZWFwcGVhciByZW1haW4g
Y2hlY2tlZCBpbiBMYXlvdXQgcGFuZSwgdG9nZ2xpbmcgaGl0cyBhc3NlcnRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTkxOQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzQzNjMwMDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBhIERPTU5vZGUncyBncmlkIGxheW91dCBjb250ZXh0IGNo
YW5nZXMgdG8gc29tZXRoaW5nIGVsc2UsCisgICAgICAgIGl0cyBjb3JyZXNwb25kaW5nIHNob3du
IGdyaWQgb3ZlcmxheSBpcyBhdXRvbWF0aWNhbGx5IGhpZGRlbiBvbiB0aGUgYmFja2VuZC4KKyAg
ICAgICAgVGhlIGZyb250ZW5kIG5lZWRzIHRvIHVwZGF0ZSBpdHMgbWFwcGluZyBvZiBub2RlcyB0
byBvdmVybGF5cyBhbmQgbm90aWZ5IGxpc3RlbmVycyBvZiB0aGUgY2hhbmdlIGluIHN0YXRlLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qczoK
KyAgICAgICAgKFdJLk92ZXJsYXlNYW5hZ2VyKToKKyAgICAgICAgKFdJLk92ZXJsYXlNYW5hZ2Vy
LnByb3RvdHlwZS5faGFuZGxlTGF5b3V0Q29udGV4dFR5cGVDaGFuZ2VkKToKKwogMjAyMS0wMi0x
MSAgUmF6dmFuIENhbGltYW4gIDxyY2FsaW1hbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogQWRkIHNldHRpbmdzIFVJIGZvciBDU1MgR3JpZCBvdmVybGF5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5
TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL092ZXJsYXlNYW5hZ2VyLmpzCmluZGV4IDc3Mzk0MDIwYmMzMTYwY2Q4MjA4YzcyNzQ1ZGRl
OTRkZTRjM2E4Y2MuLmFhY2I1NDI3MmRkMWZlY2FlYTMxMTgxMzI3MTIyOTY3ZjQ3NGEwOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L092ZXJsYXlNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzCkBAIC0zMSw2ICszMSw3IEBAIFdJLk92
ZXJsYXlNYW5hZ2VyID0gY2xhc3MgT3ZlcmxheU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAog
ICAgICAgICB0aGlzLl9ncmlkT3ZlcmxheUZvck5vZGVNYXAgPSBuZXcgTWFwOwogCisgICAgICAg
IFdJLkRPTU5vZGUuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01Ob2RlLkV2ZW50LkxheW91dENvbnRl
eHRUeXBlQ2hhbmdlZCwgdGhpcy5faGFuZGxlTGF5b3V0Q29udGV4dFR5cGVDaGFuZ2VkLCB0aGlz
KTsKICAgICAgICAgV0kuc2V0dGluZ3MuZ3JpZE92ZXJsYXlTaG93RXh0ZW5kZWRHcmlkTGluZXMu
YWRkRXZlbnRMaXN0ZW5lcihXSS5TZXR0aW5nLkV2ZW50LkNoYW5nZWQsIHRoaXMuX2hhbmRsZUdy
aWRTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIFdJLnNldHRpbmdzLmdyaWRPdmVybGF5
U2hvd0xpbmVOYW1lcy5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwg
dGhpcy5faGFuZGxlR3JpZFNldHRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgV0kuc2V0dGlu
Z3MuZ3JpZE92ZXJsYXlTaG93TGluZU51bWJlcnMuYWRkRXZlbnRMaXN0ZW5lcihXSS5TZXR0aW5n
LkV2ZW50LkNoYW5nZWQsIHRoaXMuX2hhbmRsZUdyaWRTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CkBA
IC05Myw2ICs5NCwxNSBAQCBXSS5PdmVybGF5TWFuYWdlciA9IGNsYXNzIE92ZXJsYXlNYW5hZ2Vy
IGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICAvLyBQcml2YXRlCiAKKyAgICBfaGFuZGxlTGF5b3V0
Q29udGV4dFR5cGVDaGFuZ2VkKGV2ZW50KQorICAgIHsKKyAgICAgICAgbGV0IGRvbU5vZGUgPSBl
dmVudC50YXJnZXQ7CisgICAgICAgIC8vIFdoZW4gdGhlIGNvbnRleHQgdHlwZSBjaGFuZ2VzLCB0
aGUgb3ZlcmxheSBpcyBhdXRvbWF0aWNhbGx5IGhpZGRlbiBvbiB0aGUgYmFja2VuZC4gSGVyZSwg
d2Ugb25seSB1cGRhdGUgdGhlIG1hcCBhbmQgbm90aWZ5IGxpc3RlbmVycy4KKyAgICAgICAgaWYg
KHRoaXMuX2dyaWRPdmVybGF5Rm9yTm9kZU1hcC5oYXMoZG9tTm9kZSkgJiYgZG9tTm9kZS5sYXlv
dXRDb250ZXh0VHlwZSAhPT0gV0kuRE9NTm9kZS5MYXlvdXRDb250ZXh0VHlwZS5HcmlkKQorICAg
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuT3ZlcmxheU1hbmFnZXIu
RXZlbnQuR3JpZE92ZXJsYXlIaWRkZW4sIHRoaXMuX2dyaWRPdmVybGF5Rm9yTm9kZU1hcC50YWtl
KGRvbU5vZGUpKTsKKyAgICB9CisKKwogICAgIF9oYW5kbGVHcmlkU2V0dGluZ0NoYW5nZWQoZXZl
bnQpCiAgICAgewogICAgICAgICBmb3IgKGxldCBbZG9tTm9kZSwgb3ZlcmxheV0gb2YgdGhpcy5f
Z3JpZE92ZXJsYXlGb3JOb2RlTWFwKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420503</attachid>
            <date>2021-02-16 11:16:11 -0800</date>
            <delta_ts>2021-02-16 12:23:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221919-20210216201609.patch</filename>
            <type>text/plain</type>
            <size>3067</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDVkODNmYWQwZmIyZDNmYzMyYThjOTczMjAxNzAy
NTBmNDkwZmM3ZDguLjkxOTc4M2UxYjYyMzNlZGM2NmEwYTNmYzk0ODg2ODIyMDcxNmQyMGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAyLTE2ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBHcmlkcyB3aXRoIG92ZXJsYXlzIHRoYXQgZGlzYXBwZWFyIGFuZCByZWFwcGVhciByZW1haW4g
Y2hlY2tlZCBpbiBMYXlvdXQgcGFuZSwgdG9nZ2xpbmcgaGl0cyBhc3NlcnRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTkxOQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzQzNjMwMDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBhIERPTU5vZGUncyBncmlkIGxheW91dCBjb250ZXh0IGNo
YW5nZXMgdG8gc29tZXRoaW5nIGVsc2UsCisgICAgICAgIGl0cyBjb3JyZXNwb25kaW5nIHNob3du
IGdyaWQgb3ZlcmxheSBpcyBhdXRvbWF0aWNhbGx5IGhpZGRlbiBvbiB0aGUgYmFja2VuZC4KKyAg
ICAgICAgVGhlIGZyb250ZW5kIG5lZWRzIHRvIHVwZGF0ZSBpdHMgbWFwcGluZyBvZiBub2RlcyB0
byBvdmVybGF5cyBhbmQgbm90aWZ5IGxpc3RlbmVycyBvZiB0aGUgY2hhbmdlIGluIHN0YXRlLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qczoK
KyAgICAgICAgKFdJLk92ZXJsYXlNYW5hZ2VyKToKKyAgICAgICAgKFdJLk92ZXJsYXlNYW5hZ2Vy
LnByb3RvdHlwZS5faGFuZGxlTGF5b3V0Q29udGV4dFR5cGVDaGFuZ2VkKToKKwogMjAyMS0wMi0x
MSAgUmF6dmFuIENhbGltYW4gIDxyY2FsaW1hbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogQWRkIHNldHRpbmdzIFVJIGZvciBDU1MgR3JpZCBvdmVybGF5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5
TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL092ZXJsYXlNYW5hZ2VyLmpzCmluZGV4IDc3Mzk0MDIwYmMzMTYwY2Q4MjA4YzcyNzQ1ZGRl
OTRkZTRjM2E4Y2MuLmViZDc3Zjg2YmNiYjA1MDcyNmIxYjRhOTRmOWU5ZTM1ZDdmZmI4ZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L092ZXJsYXlNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzCkBAIC03MSw2ICs3MSw3IEBAIFdJLk92
ZXJsYXlNYW5hZ2VyID0gY2xhc3MgT3ZlcmxheU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAg
ICAgICAgbGV0IG92ZXJsYXkgPSB7ZG9tTm9kZSwgLi4uY29tbWFuZEFyZ3VtZW50c307CiAgICAg
ICAgIHRoaXMuX2dyaWRPdmVybGF5Rm9yTm9kZU1hcC5zZXQoZG9tTm9kZSwgb3ZlcmxheSk7CiAK
KyAgICAgICAgZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKFdJLkRPTU5vZGUuRXZlbnQuTGF5b3V0
Q29udGV4dFR5cGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVMYXlvdXRDb250ZXh0VHlwZUNoYW5nZWQs
IHRoaXMpOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5PdmVybGF5
TWFuYWdlci5FdmVudC5HcmlkT3ZlcmxheVNob3duLCBvdmVybGF5KTsKICAgICB9CiAKQEAgLTg4
LDExICs4OSwyMiBAQCBXSS5PdmVybGF5TWFuYWdlciA9IGNsYXNzIE92ZXJsYXlNYW5hZ2VyIGV4
dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJn
ZXQoKTsKICAgICAgICAgdGFyZ2V0LkRPTUFnZW50LmhpZGVHcmlkT3ZlcmxheShkb21Ob2RlLmlk
KTsKIAorICAgICAgICBkb21Ob2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuRE9NTm9kZS5FdmVu
dC5MYXlvdXRDb250ZXh0VHlwZUNoYW5nZWQsIHRoaXMuX2hhbmRsZUxheW91dENvbnRleHRUeXBl
Q2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJ
Lk92ZXJsYXlNYW5hZ2VyLkV2ZW50LkdyaWRPdmVybGF5SGlkZGVuLCBvdmVybGF5KTsKICAgICB9
CiAKICAgICAvLyBQcml2YXRlCiAKKyAgICBfaGFuZGxlTGF5b3V0Q29udGV4dFR5cGVDaGFuZ2Vk
KGV2ZW50KQorICAgIHsKKyAgICAgICAgbGV0IGRvbU5vZGUgPSBldmVudC50YXJnZXQ7CisgICAg
ICAgIC8vIFdoZW4gdGhlIGNvbnRleHQgdHlwZSBjaGFuZ2VzLCB0aGUgb3ZlcmxheSBpcyBhdXRv
bWF0aWNhbGx5IGhpZGRlbiBvbiB0aGUgYmFja2VuZC4gSGVyZSwgd2Ugb25seSB1cGRhdGUgdGhl
IG1hcCBhbmQgbm90aWZ5IGxpc3RlbmVycy4KKyAgICAgICAgaWYgKGRvbU5vZGUubGF5b3V0Q29u
dGV4dFR5cGUgIT09IFdJLkRPTU5vZGUuTGF5b3V0Q29udGV4dFR5cGUuR3JpZCkgeworICAgICAg
ICAgICAgZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRPTU5vZGUuRXZlbnQuTGF5b3V0
Q29udGV4dFR5cGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVMYXlvdXRDb250ZXh0VHlwZUNoYW5nZWQs
IHRoaXMpOworICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuT3Zl
cmxheU1hbmFnZXIuRXZlbnQuR3JpZE92ZXJsYXlIaWRkZW4sIHRoaXMuX2dyaWRPdmVybGF5Rm9y
Tm9kZU1hcC50YWtlKGRvbU5vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIF9oYW5kbGVH
cmlkU2V0dGluZ0NoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICBmb3IgKGxldCBbZG9tTm9k
ZSwgb3ZlcmxheV0gb2YgdGhpcy5fZ3JpZE92ZXJsYXlGb3JOb2RlTWFwKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420520</attachid>
            <date>2021-02-16 12:23:49 -0800</date>
            <delta_ts>2021-02-16 19:47:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221919-20210216212347.patch</filename>
            <type>text/plain</type>
            <size>3881</size>
            <attacher name="Razvan Caliman">rcaliman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDVkODNmYWQwZmIyZDNmYzMyYThjOTczMjAxNzAy
NTBmNDkwZmM3ZDguLjkxOTc4M2UxYjYyMzNlZGM2NmEwYTNmYzk0ODg2ODIyMDcxNmQyMGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAyLTE2ICBSYXp2
YW4gQ2FsaW1hbiAgPHJjYWxpbWFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBHcmlkcyB3aXRoIG92ZXJsYXlzIHRoYXQgZGlzYXBwZWFyIGFuZCByZWFwcGVhciByZW1haW4g
Y2hlY2tlZCBpbiBMYXlvdXQgcGFuZSwgdG9nZ2xpbmcgaGl0cyBhc3NlcnRpb24KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTkxOQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzQzNjMwMDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2hlbiBhIERPTU5vZGUncyBncmlkIGxheW91dCBjb250ZXh0IGNo
YW5nZXMgdG8gc29tZXRoaW5nIGVsc2UsCisgICAgICAgIGl0cyBjb3JyZXNwb25kaW5nIHNob3du
IGdyaWQgb3ZlcmxheSBpcyBhdXRvbWF0aWNhbGx5IGhpZGRlbiBvbiB0aGUgYmFja2VuZC4KKyAg
ICAgICAgVGhlIGZyb250ZW5kIG5lZWRzIHRvIHVwZGF0ZSBpdHMgbWFwcGluZyBvZiBub2RlcyB0
byBvdmVybGF5cyBhbmQgbm90aWZ5IGxpc3RlbmVycyBvZiB0aGUgY2hhbmdlIGluIHN0YXRlLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5TWFuYWdlci5qczoK
KyAgICAgICAgKFdJLk92ZXJsYXlNYW5hZ2VyKToKKyAgICAgICAgKFdJLk92ZXJsYXlNYW5hZ2Vy
LnByb3RvdHlwZS5faGFuZGxlTGF5b3V0Q29udGV4dFR5cGVDaGFuZ2VkKToKKwogMjAyMS0wMi0x
MSAgUmF6dmFuIENhbGltYW4gIDxyY2FsaW1hbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogQWRkIHNldHRpbmdzIFVJIGZvciBDU1MgR3JpZCBvdmVybGF5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9PdmVybGF5
TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL092ZXJsYXlNYW5hZ2VyLmpzCmluZGV4IDc3Mzk0MDIwYmMzMTYwY2Q4MjA4YzcyNzQ1ZGRl
OTRkZTRjM2E4Y2MuLjIwMWQ4ODBkMzRkZDU5ZWJlMjZlYjVmMDg3ZTBiOTVkODQ1NTM0M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L092ZXJsYXlNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL092ZXJsYXlNYW5hZ2VyLmpzCkBAIC01Myw2ICs1Myw3IEBAIFdJLk92
ZXJsYXlNYW5hZ2VyID0gY2xhc3MgT3ZlcmxheU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAog
ICAgICAgICBjb25zb2xlLmFzc2VydChkb21Ob2RlIGluc3RhbmNlb2YgV0kuRE9NTm9kZSwgZG9t
Tm9kZSk7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFjb2xvciB8fCBjb2xvciBpbnN0YW5jZW9m
IFdJLkNvbG9yLCBjb2xvcik7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRvbU5vZGUubGF5b3V0
Q29udGV4dFR5cGUgPT09IFdJLkRPTU5vZGUuTGF5b3V0Q29udGV4dFR5cGUuR3JpZCwgZG9tTm9k
ZS5sYXlvdXRDb250ZXh0VHlwZSk7CiAKICAgICAgICAgY29sb3IgfHw9IFdJLkNvbG9yLmZyb21T
dHJpbmcoIm1hZ2VudGEiKTsgLy8gZmFsbGJhY2sgY29sb3IKIApAQCAtNzEsNiArNzIsNyBAQCBX
SS5PdmVybGF5TWFuYWdlciA9IGNsYXNzIE92ZXJsYXlNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0
CiAgICAgICAgIGxldCBvdmVybGF5ID0ge2RvbU5vZGUsIC4uLmNvbW1hbmRBcmd1bWVudHN9Owog
ICAgICAgICB0aGlzLl9ncmlkT3ZlcmxheUZvck5vZGVNYXAuc2V0KGRvbU5vZGUsIG92ZXJsYXkp
OwogCisgICAgICAgIGRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcihXSS5ET01Ob2RlLkV2ZW50Lkxh
eW91dENvbnRleHRUeXBlQ2hhbmdlZCwgdGhpcy5faGFuZGxlTGF5b3V0Q29udGV4dFR5cGVDaGFu
Z2VkLCB0aGlzKTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV0kuT3Zl
cmxheU1hbmFnZXIuRXZlbnQuR3JpZE92ZXJsYXlTaG93biwgb3ZlcmxheSk7CiAgICAgfQogCkBA
IC03OCw2ICs4MCw3IEBAIFdJLk92ZXJsYXlNYW5hZ2VyID0gY2xhc3MgT3ZlcmxheU1hbmFnZXIg
ZXh0ZW5kcyBXSS5PYmplY3QKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRvbU5vZGUg
aW5zdGFuY2VvZiBXSS5ET01Ob2RlLCBkb21Ob2RlKTsKICAgICAgICAgY29uc29sZS5hc3NlcnQo
IWRvbU5vZGUuZGVzdHJveWVkLCBkb21Ob2RlKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZG9t
Tm9kZS5sYXlvdXRDb250ZXh0VHlwZSA9PT0gV0kuRE9NTm9kZS5MYXlvdXRDb250ZXh0VHlwZS5H
cmlkLCBkb21Ob2RlLmxheW91dENvbnRleHRUeXBlKTsKICAgICAgICAgaWYgKGRvbU5vZGUuZGVz
dHJveWVkKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC04OCwxMSArOTEsMjQgQEAgV0kuT3Zl
cmxheU1hbmFnZXIgPSBjbGFzcyBPdmVybGF5TWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAg
ICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNzdW1pbmdNYWluVGFyZ2V0KCk7CiAgICAgICAgIHRhcmdl
dC5ET01BZ2VudC5oaWRlR3JpZE92ZXJsYXkoZG9tTm9kZS5pZCk7CiAKKyAgICAgICAgZG9tTm9k
ZS5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkRPTU5vZGUuRXZlbnQuTGF5b3V0Q29udGV4dFR5cGVD
aGFuZ2VkLCB0aGlzLl9oYW5kbGVMYXlvdXRDb250ZXh0VHlwZUNoYW5nZWQsIHRoaXMpOwogICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5PdmVybGF5TWFuYWdlci5FdmVu
dC5HcmlkT3ZlcmxheUhpZGRlbiwgb3ZlcmxheSk7CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQog
CisgICAgX2hhbmRsZUxheW91dENvbnRleHRUeXBlQ2hhbmdlZChldmVudCkKKyAgICB7CisgICAg
ICAgIGxldCBkb21Ob2RlID0gZXZlbnQudGFyZ2V0OworICAgICAgICBjb25zb2xlLmFzc2VydChk
b21Ob2RlLmxheW91dENvbnRleHRUeXBlICE9PSBXSS5ET01Ob2RlLkxheW91dENvbnRleHRUeXBl
LkdyaWQsIGRvbU5vZGUpOworCisgICAgICAgIGRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
SS5ET01Ob2RlLkV2ZW50LkxheW91dENvbnRleHRUeXBlQ2hhbmdlZCwgdGhpcy5faGFuZGxlTGF5
b3V0Q29udGV4dFR5cGVDaGFuZ2VkLCB0aGlzKTsKKworICAgICAgICAvLyBXaGVuIHRoZSBjb250
ZXh0IHR5cGUgY2hhbmdlcywgdGhlIG92ZXJsYXkgaXMgYXV0b21hdGljYWxseSBoaWRkZW4gb24g
dGhlIGJhY2tlbmQuIEhlcmUsIHdlIG9ubHkgdXBkYXRlIHRoZSBtYXAgYW5kIG5vdGlmeSBsaXN0
ZW5lcnMuCisgICAgICAgIGxldCBvdmVybGF5ID0gdGhpcy5fZ3JpZE92ZXJsYXlGb3JOb2RlTWFw
LnRha2UoZG9tTm9kZSk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJ
Lk92ZXJsYXlNYW5hZ2VyLkV2ZW50LkdyaWRPdmVybGF5SGlkZGVuLCBvdmVybGF5KTsKKyAgICB9
CisKICAgICBfaGFuZGxlR3JpZFNldHRpbmdDaGFuZ2VkKGV2ZW50KQogICAgIHsKICAgICAgICAg
Zm9yIChsZXQgW2RvbU5vZGUsIG92ZXJsYXldIG9mIHRoaXMuX2dyaWRPdmVybGF5Rm9yTm9kZU1h
cCkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>