<?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>178508</bug_id>
          
          <creation_ts>2017-10-19 02:16:22 -0700</creation_ts>
          <short_desc>Consider non-main frames for AsyncScrollingCoordinator::frameViewRootLayerDidChange</short_desc>
          <delta_ts>2017-11-16 05:50:47 -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>Frames</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>176914</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1362089</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-10-19 02:16:22 -0700</bug_when>
    <thetext>AsyncScrollingCoordinator::frameViewRootLayerDidChange seems to assume that frameView is always a main-frame:

* It calls ensureRootStateNodeForFrameView, which always attaches a frame node with parentID = 0.
* It has an ASSERT to check m_scrollingStateTree-&gt;rootStateNode(), instead m_scrollingStateTree-&gt;stateNodeForID(frameView.scrollLayerID()).

It seems that the only place where AsyncScrollingCoordinator::frameViewRootLayerDidChange can be called with a non-main frame is RenderLayerCompositor::updateBacking.

I guess we should either ASSERT that frameView is a main frame, or update the function to consider non-main frames. In the latter case, I guess we should re-use the work of RenderLayerCompositor::scrollCoordinatedAncestorInParentOfFrame to calculate the parentID.

I&apos;m making this blocking bug 176914, just because for non-main frames we might also need to calculate a childIndex or similar if we want to ensure z-index ordering.

@Simon: WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362637</commentid>
    <comment_count>1</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-10-20 03:22:34 -0700</bug_when>
    <thetext>I just debugged it now with a simple test case. The iframe node is first created with nonzero parentID via:

ScrollingStateTree::attachNode
AsyncScrollingCoordinator::attachToStateTree
RenderLayerCompositor::attachScrollingNode
RenderLayerCompositor::updateScrollCoordinationForThisFrame
RenderLayerCompositor::updateScrollCoordinatedLayer

After that, attachNode is called again with a wrong parentID == 0 value via:

ScrollingStateTree::attachNode
AsyncScrollingCoordinator::attachToStateTree
AsyncScrollingCoordinator::ensureRootStateNodeForFrameView
AsyncScrollingCoordinator::frameViewRootLayerDidChange
RenderLayerCompositor::updateBacking

It turns out that nodeTypeAndParentMatch always returns true when parentID == 0 so at the end attachToStateTree just returns the existing node id for the iframe and does not modify the state tree.

If the second stack trace was done before the scrolling node for the iframe is created, then ScrollingStateTree::attachNode would incorrectly set it as the new root. Also, if for some reason the iframe node was re-parented before that call, the state tree would not be updated. I&apos;m not sure such bugs happen, but in any case, it is wrong for ensureRootStateNodeForFrameView to pass parentID = 0 for non-main frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362678</commentid>
    <comment_count>2</comment_count>
      <attachid>324391</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-10-20 06:50:52 -0700</bug_when>
    <thetext>Created attachment 324391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362751</commentid>
    <comment_count>3</comment_count>
      <attachid>324391</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-10-20 10:25:10 -0700</bug_when>
    <thetext>Comment on attachment 324391
Patch

Change looks right, but I think this needs tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362791</commentid>
    <comment_count>4</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-10-20 12:03:04 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 324391 [details]
&gt; Patch
&gt; 
&gt; Change looks right, but I think this needs tests.

Unfortunately, as I said in comment 1, the bad parendID = 0 does not seem to affect the scrolling tree. I tried with both static testcase and dynamic testcase (iframe inserted).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363305</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-10-23 09:51:05 -0700</bug_when>
    <thetext>So checking again https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp#L1023

IIUC, updateScrollCoordinatedStatus will perform the first trace of comment 1 and hence creates the node while frameViewRootLayerDidChange will follow the second trace and hence just retrieve the existing node.

So I don&apos;t think it is possible to write a testcase that exhibits the issue. But apparently RenderLayerCompositor::updateBacking is the only place where frameViewRootLayerDidChange is called for non-main frames, so maybe an alternative option is to not call ensureRootStateNodeForFrameView at all for non-main frame:

@@ -219,8 +219,9 @@ void AsyncScrollingCoordinator::frameViewRootLayerDidChange(FrameView&amp; frameView
         return;
     
     // If the root layer does not have a ScrollingStateNode, then we should create one.
-    ensureRootStateNodeForFrameView(frameView);
-    ASSERT(m_scrollingStateTree-&gt;rootStateNode());
+    if (frameView.frame().isMainFrame())
+        ensureRootStateNodeForFrameView(frameView);
+    ASSERT(m_scrollingStateTree-&gt;stateNodeForID(frameView.scrollLayerID()));
 
That would allow to save some calculation and to have one case less to consider for bug 176914.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364809</commentid>
    <comment_count>6</comment_count>
      <attachid>325001</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-10-26 06:16:13 -0700</bug_when>
    <thetext>Created attachment 325001
Alternative Patch

This is another version that just skips the call to attachToStateTree when the node already exists, which is the case for non-main frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372567</commentid>
    <comment_count>7</comment_count>
      <attachid>325001</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2017-11-16 04:12:47 -0800</bug_when>
    <thetext>Comment on attachment 325001
Alternative Patch

Looks good to me, r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372577</commentid>
    <comment_count>8</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2017-11-16 05:49:08 -0800</bug_when>
    <thetext>Committed r224914: &lt;https://trac.webkit.org/changeset/224914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372579</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-16 05:50:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/35587294&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324391</attachid>
            <date>2017-10-20 06:50:52 -0700</date>
            <delta_ts>2017-11-16 02:39:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178508-20171020155050.patch</filename>
            <type>text/plain</type>
            <size>5550</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE5OTUwMzBlOWM4ZDlj
Y2Q4YTc5OGM1ZGY4MjVhYjBjOWRhNDEyZi4uOWUwZmI1YWYyNjYzOTkzMjI5MDljMWZhYzc3NWE5
NDA1YmIwODU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE3LTEwLTIwICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBDb25zaWRlciBub24tbWFp
biBmcmFtZXMgZm9yIGZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5nZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4NTA4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0ZXN0ZWQgbWFu
dWFsbHkuCisKKyAgICAgICAgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Um9v
dExheWVyRGlkQ2hhbmdlIGFzc3VtZXMgdGhhdCBmcmFtZVZpZXcgaXMgYWx3YXlzIGEKKyAgICAg
ICAgbWFpbi1mcmFtZS4gSXQgY2FsbHMgZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmlldywg
d2hpY2ggYWx3YXlzIGF0dGFjaGVzIGEgZnJhbWUgbm9kZSB3aXRoCisgICAgICAgIG51bGwgcGFy
ZW50IElELiBJdCBhbHNvIGhhcyBhbiBBU1NFUlQgdG8gY2hlY2sgbV9zY3JvbGxpbmdTdGF0ZVRy
ZWUtPnJvb3RTdGF0ZU5vZGUoKSwgaW5zdGVhZAorICAgICAgICBvZiBtX3Njcm9sbGluZ1N0YXRl
VHJlZS0+c3RhdGVOb2RlRm9ySUQoZnJhbWVWaWV3LnNjcm9sbExheWVySUQoKSkuIFRoaXMgcGF0
Y2ggbWFrZXMgdGhlCisgICAgICAgIEFTU0VSVCBtb3JlIGdlbmVyaWMgYW5kIGFkZHMgYSBjb21w
dXRhdGlvbiBvZiB0aGUgY29ycmVjdCBwYXJlbnQgSUQuIFRoZSBjaGFuZ2UgaGFzIGJlZW4KKyAg
ICAgICAgdmVyaWZpZWQgd2l0aCBhIHNpbXBsZSB0ZXN0Y2FzZSBhbmQgYSBkZWJ1Z2dlciBidXQg
aXQgc2VlbXMgZGlmZmljdWx0IHRvIHByb2R1Y2UgYSB0ZXN0Y2FzZQorICAgICAgICB0aGF0IGhh
cyBhIHZpc2libGUgZWZmZWN0IG9uIHRoZSBzY3JvbGxpbmcgdHJlZS4KKworICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOiBJbmNsdWRlIFJlbmRl
ckxheWVyQ29tcG9zaXRvci5oIHRvIHVzZQorICAgICAgICBzY3JvbGxDb29yZGluYXRlZEFuY2Vz
dG9ySW5QYXJlbnRPZkZyYW1lLgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvcjo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKTogTW9kaWZ5IHRoZSBBU1NFUlQg
dG8KKyAgICAgICAgdmVyaWZ5IHRoZSBhdmFpbGFiaWxpdHkgb2YgYSBzY3JvbGxpbmcgbm9kZSBm
b3IgdGhlIGZyYW1lLCBub3QganVzdCB0aGUgcm9vdCBub2RlLgorICAgICAgICAoV2ViQ29yZTo6
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmll
dyk6IEZvciBub24tbWFpbgorICAgICAgICBmcmFtZXMsIHVzZSBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnNjcm9sbENvb3JkaW5hdGVkQW5jZXN0b3JJblBhcmVudE9mRnJhbWUgdG8gY2FsY3VsYXRl
CisgICAgICAgIHRoZSByZWFsIHBhcmVudCBJRC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcDogTWFrZSBzY3JvbGxDb29yZGluYXRlZEFuY2VzdG9ySW5QYXJl
bnRPZkZyYW1lIGEKKyAgICAgICAgcHVibGljIG1ldGhvZCBvZiBSZW5kZXJMYXllckNvbXBvc2l0
b3IuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNjcm9sbENvb3Jk
aW5hdGVkQW5jZXN0b3JJblBhcmVudE9mRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xs
Q29vcmRpbmF0ZWRBbmNlc3RvckluUGFyZW50T2ZGcmFtZSk6IERlbGV0ZWQuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oOiBEZWNsYXJlIHNjcm9sbENvb3JkaW5h
dGVkQW5jZXN0b3JJblBhcmVudE9mRnJhbWUuCisKIDIwMTctMTAtMjAgIE1zMmdlciAgPE1zMmdl
ckBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFkZCB0aGUgTUFYX0NMSUVOVF9XQUlUX1RJTUVPVVRf
V0VCR0wgY29uc3RhbnQgdG8gV2ViR0wyUmVuZGVyaW5nQ29udGV4dC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAKaW5kZXggY2QwYWU0N2E4ZWY4OGI3MDY0MGYwNzM1NThkYTEzYzdlM2JiM2NmMi4uZGZl
ZTJhNTk4MWMzNDZiN2RlNTExYjRhZjZkNmM0Y2U4ZDI4YTRkZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmgiCisjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIK
ICNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlLmgiCkBAIC0yMjAsNyArMjIxLDcgQEAgdm9pZCBBc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yOjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoRnJhbWVWaWV3JiBmcmFtZVZp
ZXcKICAgICAKICAgICAvLyBJZiB0aGUgcm9vdCBsYXllciBkb2VzIG5vdCBoYXZlIGEgU2Nyb2xs
aW5nU3RhdGVOb2RlLCB0aGVuIHdlIHNob3VsZCBjcmVhdGUgb25lLgogICAgIGVuc3VyZVJvb3RT
dGF0ZU5vZGVGb3JGcmFtZVZpZXcoZnJhbWVWaWV3KTsKLSAgICBBU1NFUlQobV9zY3JvbGxpbmdT
dGF0ZVRyZWUtPnJvb3RTdGF0ZU5vZGUoKSk7CisgICAgQVNTRVJUKG1fc2Nyb2xsaW5nU3RhdGVU
cmVlLT5zdGF0ZU5vZGVGb3JJRChmcmFtZVZpZXcuc2Nyb2xsTGF5ZXJJRCgpKSk7CiAKICAgICBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hhbmdlKGZyYW1lVmll
dyk7CiAKQEAgLTUxMiw3ICs1MTMsMTMgQEAgdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
OjpyZWNvbmNpbGVWaWV3cG9ydENvbnN0cmFpbmVkTGF5ZXJQb3NpdGlvbnMoY29uc3QKIHZvaWQg
QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZW5zdXJlUm9vdFN0YXRlTm9kZUZvckZyYW1lVmll
dyhGcmFtZVZpZXcmIGZyYW1lVmlldykKIHsKICAgICBBU1NFUlQoZnJhbWVWaWV3LnNjcm9sbExh
eWVySUQoKSk7Ci0gICAgYXR0YWNoVG9TdGF0ZVRyZWUoRnJhbWVTY3JvbGxpbmdOb2RlLCBmcmFt
ZVZpZXcuc2Nyb2xsTGF5ZXJJRCgpLCAwKTsKKyAgICBTY3JvbGxpbmdOb2RlSUQgcGFyZW50Tm9k
ZUlEID0gMDsKKyAgICBhdXRvJiBmcmFtZSA9IGZyYW1lVmlldy5mcmFtZSgpOworICAgIGlmICgh
ZnJhbWUuaXNNYWluRnJhbWUoKSkgeworICAgICAgICBwYXJlbnROb2RlSUQgPSBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnNjcm9sbENvb3JkaW5hdGVkQW5jZXN0b3JJblBhcmVudE9mRnJhbWUoZnJh
bWUpOworICAgICAgICBBU1NFUlQocGFyZW50Tm9kZUlEKTsKKyAgICB9CisgICAgYXR0YWNoVG9T
dGF0ZVRyZWUoRnJhbWVTY3JvbGxpbmdOb2RlLCBmcmFtZVZpZXcuc2Nyb2xsTGF5ZXJJRCgpLCBw
YXJlbnROb2RlSUQpOwogfQogCiB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9kZUlELCBHcmFwaGljc0xheWVy
KiBsYXllciwgR3JhcGhpY3NMYXllciogc2Nyb2xsZWRDb250ZW50c0xheWVyLCBHcmFwaGljc0xh
eWVyKiBjb3VudGVyU2Nyb2xsaW5nTGF5ZXIsIEdyYXBoaWNzTGF5ZXIqIGluc2V0Q2xpcExheWVy
LCBjb25zdCBTY3JvbGxpbmdHZW9tZXRyeSogc2Nyb2xsaW5nR2VvbWV0cnkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGJm
Y2E1YWI0ZDZhZGE5NThjYTIxZjRmNGU3NTkxY2NiMTRlZWY4NDkuLmM4ZWQ5ZTA0MGZlMGZlY2Zi
NmQ3ZjA3N2RiODI3MDJkZDhlYmI5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0zNjEzLDcgKzM2MTMsNyBAQCBzdGF0
aWMgU2Nyb2xsaW5nTm9kZUlEIGVuY2xvc2luZ1Njcm9sbGluZ05vZGVJRChSZW5kZXJMYXllciYg
bGF5ZXIsIEluY2x1ZGVTZWxmTwogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgU2Nyb2xsaW5n
Tm9kZUlEIHNjcm9sbENvb3JkaW5hdGVkQW5jZXN0b3JJblBhcmVudE9mRnJhbWUoRnJhbWUmIGZy
YW1lKQorU2Nyb2xsaW5nTm9kZUlEIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6c2Nyb2xsQ29vcmRp
bmF0ZWRBbmNlc3RvckluUGFyZW50T2ZGcmFtZShGcmFtZSYgZnJhbWUpCiB7CiAgICAgaWYgKCFm
cmFtZS5kb2N1bWVudCgpIHx8ICFmcmFtZS52aWV3KCkpCiAgICAgICAgIHJldHVybiAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4
IGFjMjZiMjIwYmUzMmZjOTU4YTIxZWQ2M2EwZGQ1Njk4NjFlNDUwOGQuLjdiMWY5MTQ0YTZmM2M3
MTNjZGM3ZWMwOWZiNWZlOWVmZDU3MjczYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTMzMiw2ICszMzIsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzdGFydFRyYWNraW5nQ29tcG9zaXRpbmdVcGRhdGVzKCkgeyBtX2NvbXBvc2l0
aW5nVXBkYXRlQ291bnQgPSAwOyB9CiAgICAgdW5zaWduZWQgY29tcG9zaXRpbmdVcGRhdGVDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcG9zaXRpbmdVcGRhdGVDb3VudDsgfQogCisgICAgc3Rh
dGljIFNjcm9sbGluZ05vZGVJRCBzY3JvbGxDb29yZGluYXRlZEFuY2VzdG9ySW5QYXJlbnRPZkZy
YW1lKEZyYW1lJik7CisKIHByaXZhdGU6CiAgICAgY2xhc3MgT3ZlcmxhcE1hcDsKICAgICBzdHJ1
Y3QgQ29tcG9zaXRpbmdTdGF0ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325001</attachid>
            <date>2017-10-26 06:16:13 -0700</date>
            <delta_ts>2017-11-16 04:12:47 -0800</delta_ts>
            <desc>Alternative Patch</desc>
            <filename>178508.patch</filename>
            <type>text/plain</type>
            <size>3209</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwYmM1MzJiMTY0YS4uMTdlYTFiNDY2MDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxNy0xMC0yNiAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+
CisKKyAgICAgICAgQ29uc2lkZXIgbm9uLW1haW4gZnJhbWVzIGZvciBmcmFtZVZpZXdSb290TGF5
ZXJEaWRDaGFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODUwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgYmVoYXZpb3IgdW5jaGFuZ2VkLgorCisgICAgICAgIEFzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld1Jvb3RMYXllckRpZENoYW5nZSBhc3N1bWVzIHRo
YXQgZnJhbWVWaWV3IGlzIGFsd2F5cyBhCisgICAgICAgIG1haW4tZnJhbWUuIEl0IGNhbGxzIGVu
c3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZpZXcsIHdoaWNoIGFsd2F5cyBhdHRhY2hlcyBhIGZy
YW1lIG5vZGUgd2l0aAorICAgICAgICBudWxsIHBhcmVudCBJRC4gSXQgYWxzbyBoYXMgYW4gQVNT
RVJUIHRvIGNoZWNrIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5yb290U3RhdGVOb2RlKCksIGluc3Rl
YWQKKyAgICAgICAgb2YgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnN0YXRlTm9kZUZvcklEKGZyYW1l
Vmlldy5zY3JvbGxMYXllcklEKCkpLiBUaGlzIHBhdGNoIG1ha2VzIHRoZQorICAgICAgICBBU1NF
UlQgbW9yZSBnZW5lcmljLiBJdCBhbHNvIGFkZHMgYW4gZWFybHkgcmV0dXJuIGludG8gZW5zdXJl
Um9vdFN0YXRlTm9kZUZvckZyYW1lVmlldyB3aGVuIHRoZQorICAgICAgICBub2RlIGFscmVhZHkg
ZXhpc3RzIHNvIHRoYXQgdGhlIGNhbGwgdG8gYXR0YWNoVG9TdGF0ZVRyZWUgY2FuIGJlIHNraXBw
ZWQuIEl0IHR1cm5zIG91dCB0aGF0IHRoYXQKKyAgICAgICAgY2FsbCBpcyBhY3R1YWxseSBvbmx5
IG5lY2Vzc2FyeSBmb3IgbWFpbiBmcmFtZSwgc28gYW5vdGhlciBBU1NFUlQgaXMgYWRkZWQgdG8g
dmVyaWZ5IGl0LgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
OjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UpOiBNb2RpZnkgdGhlIEFTU0VSVCB0bworICAg
ICAgICB2ZXJpZnkgdGhlIGF2YWlsYWJpbGl0eSBvZiBhIHNjcm9sbGluZyBub2RlIGZvciB0aGUg
ZnJhbWUsIG5vdCBqdXN0IHRoZSByb290IG5vZGUuCisgICAgICAgIChXZWJDb3JlOjpBc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yOjplbnN1cmVSb290U3RhdGVOb2RlRm9yRnJhbWVWaWV3KTogQWRk
IGFuIGVhcmx5IHJldHVybiB0bworICAgICAgICBza2lwIHRoZSBjYWxsIHRvIGF0dGFjaFRvU3Rh
dGVUcmVlIHdoZW4gdGhlIG5vZGUgaXMgYWN0dWFsbHkgYWxyZWFkeSBhdmFpbGFibGUuIEFkZCBh
biBBU1NFUlQgdG8KKyAgICAgICAgZW5zdXJlIHRoYXQgYXR0YWNoaW5nIGEgbmV3IG5vZGUgaXMg
b25seSBuZWNlc3NhcnkgZm9yIG1haW4gZnJhbWVzLgorCiAyMDE3LTEwLTI2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIy
MjIwOTApOiBbSGFyZkJ1enpdIEFyYWJpYyBzaGFwaW5nIGlzIGJyb2tlbiBleGNlcHQgZm9yIGZp
cnN0IHdvcmQgaW4gbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBjZDBhZTQ3YThlZi4u
NTE5MjVhYjA3ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0Fz
eW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC0yMjAsNyArMjIwLDcgQEAg
dm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFu
Z2UoRnJhbWVWaWV3JiBmcmFtZVZpZXcKICAgICAKICAgICAvLyBJZiB0aGUgcm9vdCBsYXllciBk
b2VzIG5vdCBoYXZlIGEgU2Nyb2xsaW5nU3RhdGVOb2RlLCB0aGVuIHdlIHNob3VsZCBjcmVhdGUg
b25lLgogICAgIGVuc3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZpZXcoZnJhbWVWaWV3KTsKLSAg
ICBBU1NFUlQobV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5vZGUoKSk7CisgICAgQVNT
RVJUKG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5zdGF0ZU5vZGVGb3JJRChmcmFtZVZpZXcuc2Nyb2xs
TGF5ZXJJRCgpKSk7CiAKICAgICBTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Um9vdExh
eWVyRGlkQ2hhbmdlKGZyYW1lVmlldyk7CiAKQEAgLTUxMiw2ICs1MTIsMTIgQEAgdm9pZCBBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpyZWNvbmNpbGVWaWV3cG9ydENvbnN0cmFpbmVkTGF5ZXJQ
b3NpdGlvbnMoY29uc3QKIHZvaWQgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6ZW5zdXJlUm9v
dFN0YXRlTm9kZUZvckZyYW1lVmlldyhGcmFtZVZpZXcmIGZyYW1lVmlldykKIHsKICAgICBBU1NF
UlQoZnJhbWVWaWV3LnNjcm9sbExheWVySUQoKSk7CisgICAgaWYgKG1fc2Nyb2xsaW5nU3RhdGVU
cmVlLT5zdGF0ZU5vZGVGb3JJRChmcmFtZVZpZXcuc2Nyb2xsTGF5ZXJJRCgpKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gRm9yIG5vbi1tYWluIGZyYW1lcywgaXQgaXMgb25seSBwb3NzaWJs
ZSB0byBhcnJpdmUgaW4gdGhpcyBmdW5jdGlvbiBmcm9tCisgICAgLy8gUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjp1cGRhdGVCYWNraW5nIHdoZXJlIHRoZSBub2RlIGhhcyBhbHJlYWR5IGJlZW4gY3Jl
YXRlZC4KKyAgICBBU1NFUlQoZnJhbWVWaWV3LmZyYW1lKCkuaXNNYWluRnJhbWUoKSk7CiAgICAg
YXR0YWNoVG9TdGF0ZVRyZWUoRnJhbWVTY3JvbGxpbmdOb2RlLCBmcmFtZVZpZXcuc2Nyb2xsTGF5
ZXJJRCgpLCAwKTsKIH0KIAo=
</data>
<flag name="review"
          id="344547"
          type_id="1"
          status="+"
          setter="tonikitoo"
    />
          </attachment>
      

    </bug>

</bugzilla>