<?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>140331</bug_id>
          
          <creation_ts>2015-01-09 20:58:17 -0800</creation_ts>
          <short_desc>Filters aren&apos;t applied to elements in columns after the first</short_desc>
          <delta_ts>2015-04-22 08:53:04 -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>Layout and Rendering</component>
          <version>528+ (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>144043</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1060382</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-09 20:58:17 -0800</bug_when>
    <thetext>Issue with filters and columns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060383</commentid>
    <comment_count>1</comment_count>
      <attachid>244402</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-09 20:59:38 -0800</bug_when>
    <thetext>Created attachment 244402
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060384</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-09 21:03:24 -0800</bug_when>
    <thetext>rdar://problem/19313858</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060385</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-09 21:10:30 -0800</bug_when>
    <thetext>The rootRelativeBounds computed by RenderLayer::setupFilters() doesn&apos;t take columns into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060386</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-09 21:16:22 -0800</bug_when>
    <thetext>clip-path is similarly broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060393</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-09 21:41:26 -0800</bug_when>
    <thetext>Fix is something like this:

diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 1e9f4955775fa120f39cca40126296089e043746..8688273887be2d6dba3d741afe925a02071de05b 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -4094,12 +4094,14 @@ void RenderLayer::paintLayerContents(GraphicsContext* context, const LayerPainti
     bool needToAdjustSubpixelQuantization = setupFontSubpixelQuantization(context, didQuantizeFonts);
 
     // Apply clip-path to context.
-    bool hasClipPath = setupClipPath(context, paintingInfo, offsetFromRoot, rootRelativeBounds, rootRelativeBoundsComputed);
+    LayoutSize columnAwareOffsetFromRoot = toLayoutSize(convertToLayerCoords(paintingInfo.rootLayer, LayoutPoint(), AdjustForColumns));
+    bool hasClipPath = setupClipPath(context, paintingInfo, columnAwareOffsetFromRoot, rootRelativeBounds, rootRelativeBoundsComputed);
 
     LayerPaintingInfo localPaintingInfo(paintingInfo);
 
     GraphicsContext* transparencyLayerContext = context;
-    std::unique_ptr&lt;FilterEffectRendererHelper&gt; filterPainter = setupFilters(context, localPaintingInfo, paintFlags, offsetFromRoot, rootRelativeBounds, rootRelativeBoundsComputed);
+
+    std::unique_ptr&lt;FilterEffectRendererHelper&gt; filterPainter = setupFilters(context, localPaintingInfo, paintFlags, columnAwareOffsetFromRoot, rootRelativeBounds, rootRelativeBoundsComputed);
     if (filterPainter) {
         context = filterPainter-&gt;filterContext();
         if (context != transparencyLayerContext &amp;&amp; haveTransparency) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060914</commentid>
    <comment_count>6</comment_count>
      <attachid>244539</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-01-13 13:48:17 -0800</bug_when>
    <thetext>Created attachment 244539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060935</commentid>
    <comment_count>7</comment_count>
      <attachid>244539</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-01-13 14:18:38 -0800</bug_when>
    <thetext>Comment on attachment 244539
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:4110
&gt; +    if (renderer().flowThreadContainingBlock() &amp;&amp; (renderer().hasClipPath() || hasFilterThatIsPainting(context, paintFlags)))

Is the renderer().flowThreadContainingBlock() permissive enough to handle blocks deeply nested inside columns?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060956</commentid>
    <comment_count>8</comment_count>
      <attachid>244539</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-01-13 15:05:40 -0800</bug_when>
    <thetext>Comment on attachment 244539
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:4110
&gt;&gt; +    if (renderer().flowThreadContainingBlock() &amp;&amp; (renderer().hasClipPath() || hasFilterThatIsPainting(context, paintFlags)))
&gt; 
&gt; Is the renderer().flowThreadContainingBlock() permissive enough to handle blocks deeply nested inside columns?

I believe so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060967</commentid>
    <comment_count>9</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-01-13 15:22:47 -0800</bug_when>
    <thetext>Committed r178380: &lt;http://trac.webkit.org/changeset/178380&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>244402</attachid>
            <date>2015-01-09 20:59:38 -0800</date>
            <delta_ts>2015-01-09 20:59:38 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>filter-in-columns.html</filename>
            <type>text/html</type>
            <size>2708</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KPGhlYWQ+CiAgICA8c3R5bGU+CiAgICAgICAgLmNvbHVt
bnMgewogICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsKICAgICAgICAgICAgLXdl
YmtpdC1jb2x1bW4td2lkdGg6IDMwMHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpbWcg
ewogICAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKCk7CiAgICAgICAgfQogICAg
PC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KCiAgICA8ZGl2IGNsYXNzPSJjb2x1bW5zIj4KICAgICAg
ICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhl
cmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBj
b25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVw
dGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBF
eGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1
bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLjwvcD4K
ICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3Ry
dWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29t
bW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGlu
IHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlh
dHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50
IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVt
LjwvcD4KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlz
IG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXgg
ZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRl
cml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxh
IHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50
LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBs
YWJvcnVtLjwvcD4KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt
LCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1
aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXBy
ZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0
IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHBy
b2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlk
IGVzdCBsYWJvcnVtLjwvcD4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNv
bS9pbWFnZXMvc3Jwci9sb2dvMTF3LnBuZyIgd2lkdGg9IjI2MCIgaGVpZ2h0PSIzMDAiPgogICAg
ICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2lu
ZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9s
b3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBl
eGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2Rv
IGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9s
dXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIu
IEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4g
Y3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uPC9w
PgogICAgPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244539</attachid>
            <date>2015-01-13 13:48:17 -0800</date>
            <delta_ts>2015-01-13 14:18:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140331-20150113134822.patch</filename>
            <type>text/plain</type>
            <size>9978</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDhlN2Y2Mjk5ODI5MTQy
YmIzYjgxYjRmODgwMGI4ZjIwOTg0OTkxMC4uOGFmMWRhMjZkZTVmNzEwOTgwMjMzZjQ4MDU0NzFl
NzEzOTFjYmFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE1LTAxLTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBGaWx0ZXJzIGFyZW4ndCBhcHBs
aWVkIHRvIGVsZW1lbnRzIGluIGNvbHVtbnMgYWZ0ZXIgdGhlIGZpcnN0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAzMzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgaW1wb3J0YW50IGJpdHMgb2Yg
dGhpcyBjaGFuZ2UgY2FtZSBmcm9tIFNpbW9uLgorCisgICAgICAgIEZpbHRlcnMgYW5kIGNsaXBw
aW5nIHdlcmUgbm90IHRha2luZyBjb2x1bW5zIGludG8KKyAgICAgICAgYWNjb3VudCB3aGVuIHVz
aW5nIHRoZWlyIG9mZnNldCByZWN0YW5nbGVzLiBUaGUgZml4CisgICAgICAgIGlzIHRvIHJlY2Fs
Y3VsYXRlIHRoZSByZWN0cyBpZiB5b3UncmUgaW4gc3VjaCBhCisgICAgICAgIHNpdHVhdGlvbi4K
KworICAgICAgICBUZXN0czogZmFzdC9tdWx0aWNvbC9jbGlwLWluLWNvbHVtbnMuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9tdWx0aWNvbC9maWx0ZXItaW4tY29sdW1ucy5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6Omhhc0ZpbHRlclRoYXRJc1BhaW50aW5nKTogTmV3IG1ldGhvZCB1c2VkCisgICAgICAg
IHRvIGNoZWNrIGlmIHdlJ3JlIGFib3V0IHRvIHBhaW50IGEgZmlsdGVyLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNldHVwRmlsdGVycyk6IFVzZSB0aGUgbmV3IGhlbHBlciBpZiBw
b3NzaWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVu
dHMpOiBJZiB3ZSdyZSBpbiBjb2x1bW5zLAorICAgICAgICBhbmQgd2UgZWl0aGVyIGhhdmUgYSBj
bGlwIG9yIGEgZmlsdGVyLCByZWNhbGN1bGF0ZSB0aGUgb2Zmc2V0IHJlY3RhbmdsZXMuCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisKIDIwMTUtMDEtMTIgIEJyaWFuIEouIEJ1
cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFT
U0VSVCB1bmRlciBXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpsb2FkUmVzb3VyY2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGI1ODNjOTA2MDM0
M2VlY2M5Mzk1NmU3MjhjZGFhYTllMmJmODc4YWEuLjY0ZGM3YjQ0MGZmYWViYjgyM2ZiM2YyODY3
NDIzMzQ3Y2MxNDc1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtMzk1OSwyMyArMzk1OSwzNSBAQCBib29sIFJlbmRlckxheWVyOjpzZXR1cENsaXBQYXRo
KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5ZXJQYWludGluZ0luZgogICAgIHJl
dHVybiBmYWxzZTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEZpbHRlckVmZmVjdFJlbmRlcmVySGVs
cGVyPiBSZW5kZXJMYXllcjo6c2V0dXBGaWx0ZXJzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
TGF5ZXJQYWludGluZ0luZm8mIHBhaW50aW5nSW5mbywgUGFpbnRMYXllckZsYWdzIHBhaW50Rmxh
Z3MsIGNvbnN0IExheW91dFNpemUmIG9mZnNldEZyb21Sb290LCBMYXlvdXRSZWN0JiByb290UmVs
YXRpdmVCb3VuZHMsIGJvb2wmIHJvb3RSZWxhdGl2ZUJvdW5kc0NvbXB1dGVkKQorYm9vbCBSZW5k
ZXJMYXllcjo6aGFzRmlsdGVyVGhhdElzUGFpbnRpbmcoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0
LCBQYWludExheWVyRmxhZ3MgcGFpbnRGbGFncykgY29uc3QKIHsKICAgICBpZiAoY29udGV4dC0+
cGFpbnRpbmdEaXNhYmxlZCgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgaWYgKHBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdPdmVy
bGF5U2Nyb2xsYmFycykKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIEZpbHRlckluZm8qIGZpbHRlckluZm8gPSBGaWx0ZXJJbmZvOjpnZXRJZkV4
aXN0cygqdGhpcyk7CiAgICAgYm9vbCBoYXNQYWludGVkRmlsdGVyID0gZmlsdGVySW5mbyAmJiBm
aWx0ZXJJbmZvLT5yZW5kZXJlcigpICYmIHBhaW50c1dpdGhGaWx0ZXJzKCk7CiAgICAgaWYgKCFo
YXNQYWludGVkRmlsdGVyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgYXV0byBmaWx0ZXJQYWludGVyID0gc3RkOjptYWtlX3VuaXF1ZTxGaWx0
ZXJFZmZlY3RSZW5kZXJlckhlbHBlcj4oaGFzUGFpbnRlZEZpbHRlcik7CiAgICAgaWYgKCFmaWx0
ZXJQYWludGVyLT5oYXZlRmlsdGVyRWZmZWN0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCitzdGQ6OnVuaXF1ZV9wdHI8RmlsdGVyRWZmZWN0UmVuZGVy
ZXJIZWxwZXI+IFJlbmRlckxheWVyOjpzZXR1cEZpbHRlcnMoR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBMYXllclBhaW50aW5nSW5mbyYgcGFpbnRpbmdJbmZvLCBQYWludExheWVyRmxhZ3MgcGFp
bnRGbGFncywgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3QsIExheW91dFJlY3QmIHJv
b3RSZWxhdGl2ZUJvdW5kcywgYm9vbCYgcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpCit7Cisg
ICAgaWYgKCFoYXNGaWx0ZXJUaGF0SXNQYWludGluZyhjb250ZXh0LCBwYWludEZsYWdzKSkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgCisKKyAgICBGaWx0ZXJJbmZvKiBmaWx0ZXJJbmZv
ID0gRmlsdGVySW5mbzo6Z2V0SWZFeGlzdHMoKnRoaXMpOworICAgIGJvb2wgaGFzUGFpbnRlZEZp
bHRlciA9IGZpbHRlckluZm8gJiYgZmlsdGVySW5mby0+cmVuZGVyZXIoKSAmJiBwYWludHNXaXRo
RmlsdGVycygpOworICAgIGF1dG8gZmlsdGVyUGFpbnRlciA9IHN0ZDo6bWFrZV91bmlxdWU8Rmls
dGVyRWZmZWN0UmVuZGVyZXJIZWxwZXI+KGhhc1BhaW50ZWRGaWx0ZXIpOworCiAgICAgTGF5b3V0
UmVjdCBmaWx0ZXJSZXBhaW50UmVjdCA9IGZpbHRlckluZm8tPmRpcnR5U291cmNlUmVjdCgpOwog
ICAgIGZpbHRlclJlcGFpbnRSZWN0Lm1vdmUob2Zmc2V0RnJvbVJvb3QpOwogCkBAIC00MDk0LDEy
ICs0MTA2LDE1IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBuZWVkVG9BZGp1
c3RTdWJwaXhlbFF1YW50aXphdGlvbiA9IHNldHVwRm9udFN1YnBpeGVsUXVhbnRpemF0aW9uKGNv
bnRleHQsIGRpZFF1YW50aXplRm9udHMpOwogCiAgICAgLy8gQXBwbHkgY2xpcC1wYXRoIHRvIGNv
bnRleHQuCi0gICAgYm9vbCBoYXNDbGlwUGF0aCA9IHNldHVwQ2xpcFBhdGgoY29udGV4dCwgcGFp
bnRpbmdJbmZvLCBvZmZzZXRGcm9tUm9vdCwgcm9vdFJlbGF0aXZlQm91bmRzLCByb290UmVsYXRp
dmVCb3VuZHNDb21wdXRlZCk7CisgICAgTGF5b3V0U2l6ZSBjb2x1bW5Bd2FyZU9mZnNldEZyb21S
b290ID0gb2Zmc2V0RnJvbVJvb3Q7CisgICAgaWYgKHJlbmRlcmVyKCkuZmxvd1RocmVhZENvbnRh
aW5pbmdCbG9jaygpICYmIChyZW5kZXJlcigpLmhhc0NsaXBQYXRoKCkgfHwgaGFzRmlsdGVyVGhh
dElzUGFpbnRpbmcoY29udGV4dCwgcGFpbnRGbGFncykpKQorICAgICAgICBjb2x1bW5Bd2FyZU9m
ZnNldEZyb21Sb290ID0gdG9MYXlvdXRTaXplKGNvbnZlcnRUb0xheWVyQ29vcmRzKHBhaW50aW5n
SW5mby5yb290TGF5ZXIsIExheW91dFBvaW50KCksIEFkanVzdEZvckNvbHVtbnMpKTsKKyAgICBi
b29sIGhhc0NsaXBQYXRoID0gc2V0dXBDbGlwUGF0aChjb250ZXh0LCBwYWludGluZ0luZm8sIGNv
bHVtbkF3YXJlT2Zmc2V0RnJvbVJvb3QsIHJvb3RSZWxhdGl2ZUJvdW5kcywgcm9vdFJlbGF0aXZl
Qm91bmRzQ29tcHV0ZWQpOwogCiAgICAgTGF5ZXJQYWludGluZ0luZm8gbG9jYWxQYWludGluZ0lu
Zm8ocGFpbnRpbmdJbmZvKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dCogdHJhbnNwYXJlbmN5TGF5
ZXJDb250ZXh0ID0gY29udGV4dDsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RmlsdGVyRWZmZWN0UmVu
ZGVyZXJIZWxwZXI+IGZpbHRlclBhaW50ZXIgPSBzZXR1cEZpbHRlcnMoY29udGV4dCwgbG9jYWxQ
YWludGluZ0luZm8sIHBhaW50RmxhZ3MsIG9mZnNldEZyb21Sb290LCByb290UmVsYXRpdmVCb3Vu
ZHMsIHJvb3RSZWxhdGl2ZUJvdW5kc0NvbXB1dGVkKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8Rmls
dGVyRWZmZWN0UmVuZGVyZXJIZWxwZXI+IGZpbHRlclBhaW50ZXIgPSBzZXR1cEZpbHRlcnMoY29u
dGV4dCwgbG9jYWxQYWludGluZ0luZm8sIHBhaW50RmxhZ3MsIGNvbHVtbkF3YXJlT2Zmc2V0RnJv
bVJvb3QsIHJvb3RSZWxhdGl2ZUJvdW5kcywgcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpOwog
ICAgIGlmIChmaWx0ZXJQYWludGVyKSB7CiAgICAgICAgIGNvbnRleHQgPSBmaWx0ZXJQYWludGVy
LT5maWx0ZXJDb250ZXh0KCk7CiAgICAgICAgIGlmIChjb250ZXh0ICE9IHRyYW5zcGFyZW5jeUxh
eWVyQ29udGV4dCAmJiBoYXZlVHJhbnNwYXJlbmN5KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCmluZGV4IGUwOWRmOTFkMmZkOGY1MTYwYTI5MTNhMzczMzFlMTE2ZTJiZjdl
NWYuLjAyNzUyODhlNTBiODA4Y2YxYzQyNTdkMjFmZDcyYTE0NmJmNGExNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC05ODYsNiArOTg2LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIHNldHVwRm9udFN1YnBpeGVsUXVhbnRpemF0aW9uKEdyYXBoaWNzQ29udGV4dCos
IGJvb2wmIGRpZFF1YW50aXplRm9udHMpOwogICAgIGJvb2wgc2V0dXBDbGlwUGF0aChHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBMYXllclBhaW50aW5nSW5mbyYsIGNvbnN0IExheW91dFNpemUmIG9m
ZnNldEZyb21Sb290LCBMYXlvdXRSZWN0JiByb290UmVsYXRpdmVCb3VuZHMsIGJvb2wmIHJvb3RS
ZWxhdGl2ZUJvdW5kc0NvbXB1dGVkKTsKIAorICAgIGJvb2wgaGFzRmlsdGVyVGhhdElzUGFpbnRp
bmcoR3JhcGhpY3NDb250ZXh0KiwgUGFpbnRMYXllckZsYWdzKSBjb25zdDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RmlsdGVyRWZmZWN0UmVuZGVyZXJIZWxwZXI+IHNldHVwRmlsdGVycyhHcmFwaGlj
c0NvbnRleHQqLCBMYXllclBhaW50aW5nSW5mbyYsIFBhaW50TGF5ZXJGbGFncywgY29uc3QgTGF5
b3V0U2l6ZSYgb2Zmc2V0RnJvbVJvb3QsIExheW91dFJlY3QmIHJvb3RSZWxhdGl2ZUJvdW5kcywg
Ym9vbCYgcm9vdFJlbGF0aXZlQm91bmRzQ29tcHV0ZWQpOwogICAgIEdyYXBoaWNzQ29udGV4dCog
YXBwbHlGaWx0ZXJzKEZpbHRlckVmZmVjdFJlbmRlcmVySGVscGVyKiwgR3JhcGhpY3NDb250ZXh0
KiBvcmlnaW5hbENvbnRleHQsIExheWVyUGFpbnRpbmdJbmZvJiwgTGF5ZXJGcmFnbWVudHMmKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDBjODcxOTE3YzE2YzM2MTRiYTQ3MzhjMTkwYWJiZmU4YWI2ZTRmM2UuLmE1OTk0
MDU0MjE5NGQ0MjQyODdmMzJkNTI4ZWJkYTJkNjU0YTI4N2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxNS0wMS0xMyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAg
RmlsdGVycyBhcmVuJ3QgYXBwbGllZCB0byBlbGVtZW50cyBpbiBjb2x1bW5zIGFmdGVyIHRoZSBm
aXJzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
MzMxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xOTMxMzg1OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyBmb3IgZmlsdGVycyBhbmQgY2xp
cHBpbmcgb24gYSBjb2x1bW4gb3RoZXIKKyAgICAgICAgdGhhbiB0aGUgZmlyc3QuCisKKyAgICAg
ICAgKiBmYXN0L211bHRpY29sL2NsaXAtaW4tY29sdW1ucy1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L211bHRpY29sL2NsaXAtaW4tY29sdW1ucy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L211bHRpY29sL2ZpbHRlci1pbi1jb2x1bW5zLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvZmlsdGVyLWluLWNvbHVtbnMuaHRtbDogQWRk
ZWQuCisKIDIwMTUtMDEtMTIgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNzgyODEuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NsaXAtaW4tY29sdW1ucy1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jbGlwLWluLWNvbHVtbnMtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNTMzY2NiNTdmM2NmN2FmNGJmY2Y0NWVmNDMwMTdhZjYzYWFlMzA4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jbGlwLWluLWNvbHVt
bnMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8c3R5bGU+CitzZWN0aW9uIHsKKyAg
ICBoZWlnaHQ6IDIwMHB4OworICAgIHdpZHRoOiAzMDBweDsKKyAgICBwb3NpdGlvbjogcmVsYXRp
dmU7Cit9CisKK3AgeworICAgIHBhZGRpbmc6IDA7CisgICAgbWFyZ2luOiAwOworfQorCisuYnJl
YWstYWZ0ZXIgeworICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5czsKK30KKworLmNsaXBwZWQg
eworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAxNTBweDsKKyAgICB0b3A6IDA7
CisgICAgd2lkdGg6IDE1MHB4OworICAgIGJhY2tncm91bmQ6IGJsdWU7CisgICAgY29sb3I6IHdo
aXRlOworICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDVweCA1cHgsIDYwcHggNXB4LCA2
MHB4IDIwcHgsIDVweCAyMHB4KTsKK30KKzwvc3R5bGU+Cis8c2VjdGlvbj4KKzxwIGNsYXNzPSJi
cmVhay1hZnRlciI+SGVsbG88L3A+Cis8cCBjbGFzcz0iY2xpcHBlZCI+V29ybGQ8L3A+Cis8L3Nl
Y3Rpb24+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tdWx0aWNvbC9jbGlwLWluLWNvbHVtbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bXVsdGljb2wvY2xpcC1pbi1jb2x1bW5zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjBiNjBlMDJjM2ZhMWEz
MGExNDA2ODZjOTY5Y2ViNzY2MDQyOGZmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvbXVsdGljb2wvY2xpcC1pbi1jb2x1bW5zLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPHN0
eWxlPgorc2VjdGlvbiB7CisgICAgY29sdW1uczogMjsKKyAgICBjb2x1bW4tZ2FwOiAwOworICAg
IGhlaWdodDogMjAwcHg7CisgICAgd2lkdGg6IDMwMHB4OworfQorCitwIHsKKyAgICBwYWRkaW5n
OiAwOworICAgIG1hcmdpbjogMDsKK30KKworLmJyZWFrLWFmdGVyIHsKKyAgICBwYWdlLWJyZWFr
LWFmdGVyOiBhbHdheXM7Cit9CisKKy5jbGlwcGVkIHsKKyAgICBiYWNrZ3JvdW5kOiBibHVlOwor
ICAgIGNvbG9yOiB3aGl0ZTsKKyAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1cHggNXB4
LCA2MHB4IDVweCwgNjBweCAyMHB4LCA1cHggMjBweCk7Cit9Cis8L3N0eWxlPgorPHNlY3Rpb24+
Cis8cCBjbGFzcz0iYnJlYWstYWZ0ZXIiPkhlbGxvPC9wPgorPHAgY2xhc3M9ImNsaXBwZWQiPldv
cmxkPC9wPgorPC9zZWN0aW9uPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvZmlsdGVyLWluLWNvbHVtbnMtZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvZmlsdGVyLWluLWNvbHVtbnMtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45OWFmYjJmYzBiMThhM2E4MDk2NzFlY2Y3NGQyYzA0NjUzNGVl
YzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9maWx0ZXIt
aW4tY29sdW1ucy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzxzdHlsZT4KK3NlY3Rp
b24geworICAgIGhlaWdodDogMjAwcHg7CisgICAgd2lkdGg6IDMwMHB4OworICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKK30KKworcCB7CisgICAgcGFkZGluZzogMDsKKyAgICBtYXJnaW46IDA7Cit9
CisKKy5icmVhay1hZnRlciB7CisgICAgcGFnZS1icmVhay1hZnRlcjogYWx3YXlzOworfQorCisu
ZmlsdGVyZWQgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAxNTBweDsKKyAg
ICB0b3A6IDA7CisgICAgd2lkdGg6IDE1MHB4OworICAgIGJhY2tncm91bmQ6IHdoaXRlOworICAg
IC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoKTsKK30KKzwvc3R5bGU+Cis8c2VjdGlvbj4KKzxwIGNs
YXNzPSJicmVhay1hZnRlciI+SGVsbG88L3A+Cis8cCBjbGFzcz0iZmlsdGVyZWQiPldvcmxkPC9w
PgorPC9zZWN0aW9uPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvZmlsdGVyLWluLWNvbHVtbnMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbXVsdGljb2wvZmlsdGVyLWluLWNvbHVtbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmE4
ZmQ5N2IzZDI2NDgxNGVjMDU0N2E1MzFmNGUyYWRjNGRjYzIxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9maWx0ZXItaW4tY29sdW1ucy5odG1sCkBAIC0wLDAg
KzEsMjYgQEAKKzxzdHlsZT4KK3NlY3Rpb24geworICAgIGNvbHVtbnM6IDI7CisgICAgY29sdW1u
LWdhcDogMDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAgIHdpZHRoOiAzMDBweDsKK30KKworcCB7
CisgICAgcGFkZGluZzogMDsKKyAgICBtYXJnaW46IDA7Cit9CisKKy5icmVhay1hZnRlciB7Cisg
ICAgcGFnZS1icmVhay1hZnRlcjogYWx3YXlzOworfQorCisuZmlsdGVyZWQgeworICAgIGJhY2tn
cm91bmQ6IHdoaXRlOworICAgIC13ZWJraXQtZmlsdGVyOiBpbnZlcnQoKTsKK30KKzwvc3R5bGU+
Cis8c2VjdGlvbj4KKzxwIGNsYXNzPSJicmVhay1hZnRlciI+SGVsbG88L3A+Cis8cCBjbGFzcz0i
ZmlsdGVyZWQiPldvcmxkPC9wPgorPC9zZWN0aW9uPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUK
</data>
<flag name="review"
          id="269478"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>