<?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>112606</bug_id>
          
          <creation_ts>2013-03-18 11:53:18 -0700</creation_ts>
          <short_desc>Refactor conditions for setCompositingLayersNeedRebuild in RenderLayer::styleChanged</short_desc>
          <delta_ts>2013-03-19 09:51:28 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>109098</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Max Vujovic">mvujovic</reporter>
          <assigned_to name="Max Vujovic">mvujovic</assigned_to>
          <cc>achicu</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>857380</commentid>
    <comment_count>0</comment_count>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-03-18 11:53:18 -0700</bug_when>
    <thetext>To fix bug 109098, we will need to add more conditions for calling RenderLayerCompositor::setCompositingLayersNeedRebuild in RenderLayer::styleChanged. Adding more non-trivial conditions will make this block of code even harder to follow. I suggest we refactor the conditions into functions like:

- needsCompositingLayersRebuiltForClip
- needsCompositingLayersRebuiltForOverflow
- needsCompositingLayersRebuiltForFilters (This function would be added in bug 109098.)

Currently, the block of code in RenderLayer::styleChanged looks like this:

#if USE(ACCELERATED_COMPOSITING)
    updateNeedsCompositedScrolling();
    if (compositor()-&gt;updateLayerCompositingState(this))
        compositor()-&gt;setCompositingLayersNeedRebuild();
    else if (oldStyle &amp;&amp; (oldStyle-&gt;clip() != renderer()-&gt;style()-&gt;clip() || oldStyle-&gt;hasClip() != renderer()-&gt;style()-&gt;hasClip()))
        compositor()-&gt;setCompositingLayersNeedRebuild();
    else if (m_backing)
        m_backing-&gt;updateGraphicsLayerGeometry();
    else if (oldStyle &amp;&amp; oldStyle-&gt;overflowX() != renderer()-&gt;style()-&gt;overflowX()) {
        if (stackingContainer()-&gt;hasCompositingDescendant())
            compositor()-&gt;setCompositingLayersNeedRebuild();
    }
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857515</commentid>
    <comment_count>1</comment_count>
      <attachid>193644</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-03-18 14:02:13 -0700</bug_when>
    <thetext>Created attachment 193644
Patch for Review

Running this patch through the bots to make sure the logic hasn&apos;t changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857524</commentid>
    <comment_count>2</comment_count>
      <attachid>193644</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-03-18 14:09:25 -0700</bug_when>
    <thetext>Comment on attachment 193644
Patch for Review

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

Looks good, thanks!

&gt; Source/WebCore/rendering/RenderLayer.cpp:5989
&gt; +static inline bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const RenderStyle* newStyle)

I would keep both function have similar signature, so in this case, this function could also be part of the RenderLayer.

&gt; Source/WebCore/rendering/RenderLayer.cpp:5997
&gt; +    return !isComposited() &amp;&amp; oldStyle &amp;&amp; (oldStyle-&gt;overflowX() != renderer()-&gt;style()-&gt;overflowX()) &amp;&amp; stackingContainer()-&gt;hasCompositingDescendant();

Why not pass the new style here instead of using renderer()-&gt;style()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857561</commentid>
    <comment_count>3</comment_count>
      <attachid>193656</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-03-18 14:29:24 -0700</bug_when>
    <thetext>Created attachment 193656
Patch for Review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857564</commentid>
    <comment_count>4</comment_count>
      <attachid>193644</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-03-18 14:31:13 -0700</bug_when>
    <thetext>Comment on attachment 193644
Patch for Review

Thanks for looking, Alex.

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:5989
&gt;&gt; +static inline bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const RenderStyle* newStyle)
&gt; 
&gt; I would keep both function have similar signature, so in this case, this function could also be part of the RenderLayer.

Done. That looks better.

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:5997
&gt;&gt; +    return !isComposited() &amp;&amp; oldStyle &amp;&amp; (oldStyle-&gt;overflowX() != renderer()-&gt;style()-&gt;overflowX()) &amp;&amp; stackingContainer()-&gt;hasCompositingDescendant();
&gt; 
&gt; Why not pass the new style here instead of using renderer()-&gt;style()?

Done. Now the function signatures match.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858346</commentid>
    <comment_count>5</comment_count>
      <attachid>193656</attachid>
    <who name="Max Vujovic">mvujovic</who>
    <bug_when>2013-03-19 09:27:49 -0700</bug_when>
    <thetext>Comment on attachment 193656
Patch for Review

Bots look good. Setting cq+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858374</commentid>
    <comment_count>6</comment_count>
      <attachid>193656</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 09:51:24 -0700</bug_when>
    <thetext>Comment on attachment 193656
Patch for Review

Clearing flags on attachment: 193656

Committed r146213: &lt;http://trac.webkit.org/changeset/146213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858375</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 09:51:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193644</attachid>
            <date>2013-03-18 14:02:13 -0700</date>
            <delta_ts>2013-03-18 14:31:13 -0700</delta_ts>
            <desc>Patch for Review</desc>
            <filename>112606-1.patch</filename>
            <type>text/plain</type>
            <size>4452</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0OGVlMzEwLi40YWNiYjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTMtMDMtMTggIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAg
ICAgIFJlZmFjdG9yIGNvbmRpdGlvbnMgZm9yIHNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVp
bGQgaW4gUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZml4IGJ1ZyAxMDkwOTggWzFdLCB3ZSB3aWxsIG5l
ZWQgdG8gYWRkIG1vcmUgY29uZGl0aW9ucyBmb3IgY2FsbGluZworICAgICAgICBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQgaW4gUmVuZGVyTGF5
ZXI6OnN0eWxlQ2hhbmdlZC4KKyAgICAgICAgQWRkaW5nIG1vcmUgbm9uLXRyaXZpYWwgY29uZGl0
aW9ucyB3aWxsIG1ha2UgdGhpcyBibG9jayBvZiBjb2RlIGV2ZW4gaGFyZGVyIHRvIGZvbGxvdy4K
KyAgICAgICAgVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGN1cnJlbnQgY29uZGl0aW9ucyBpbnRv
IGZ1bmN0aW9uczoKKyAgICAgICAgICAgIG5lZWRzQ29tcG9zaXRpbmdMYXllcnNSZWJ1aWx0Rm9y
Q2xpcAorICAgICAgICAgICAgbmVlZHNDb21wb3NpdGluZ0xheWVyc1JlYnVpbHRGb3JPdmVyZmxv
dworCisgICAgICAgIEluIGJ1ZyAxMDkwOTggWzFdLCBJJ20gcGxhbm5pbmcgdG8gYWRkOgorICAg
ICAgICAgICAgbmVlZHNDb21wb3NpdGluZ0xheWVyc1JlYnVpbHRGb3JGaWx0ZXJzCisKKyAgICAg
ICAgWzFdOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDk4CisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBKdXN0IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6bmVlZHNDb21wb3NpdGluZ0xheWVyc1JlYnVpbHRGb3JDbGlwKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpuZWVkc0NvbXBvc2l0aW5nTGF5ZXJzUmVidWlsdEZvck92ZXJm
bG93KToKKyAgICAgICAgICAgIFRoaXMgaXMgYSBtZXRob2QgYW5kIG5vdCBhIGZpbGUgc3RhdGlj
IGZ1bmN0aW9uIGJlY2F1c2UgaXQgbmVlZHMgdG8gbG9vayBhdCB0aGUKKyAgICAgICAgICAgIFJl
bmRlckxheWVyJ3Mgc3RhY2tpbmdDb250YWluZXIoKSwgd2hpY2ggaXMgYSBwcml2YXRlIG1ldGhv
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoUmVuZGVyTGF5ZXIpOgorCiAy
MDEzLTAzLTE4ICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0hUTUxUZW1wbGF0ZUVsZW1lbnRdIHBhcnNlRXJyb3IgY2hlY2sgaW4gcHJvY2Vzc1Rl
bXBsYXRlRW5kVGFnIHNob3VsZCB1c2UgaGFzVGFnTmFtZSwgbm90IGhhc0xvY2FsTmFtZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggNmMwZmUyMi4uYWY1MGYw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC01OTg1LDYg
KzU5ODUsMTkgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlT3V0T2ZGbG93UG9zaXRpb25lZChj
b25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUpCiAgICAgfQogfQogCisjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQorc3RhdGljIGlubGluZSBib29sIG5lZWRzQ29tcG9zaXRpbmdMYXll
cnNSZWJ1aWx0Rm9yQ2xpcChjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUsIGNvbnN0IFJlbmRl
clN0eWxlKiBuZXdTdHlsZSkKK3sKKyAgICBBU1NFUlQobmV3U3R5bGUpOworICAgIHJldHVybiBv
bGRTdHlsZSAmJiAob2xkU3R5bGUtPmNsaXAoKSAhPSBuZXdTdHlsZS0+Y2xpcCgpIHx8IG9sZFN0
eWxlLT5oYXNDbGlwKCkgIT0gbmV3U3R5bGUtPmhhc0NsaXAoKSk7Cit9CisKK2lubGluZSBib29s
IFJlbmRlckxheWVyOjpuZWVkc0NvbXBvc2l0aW5nTGF5ZXJzUmVidWlsdEZvck92ZXJmbG93KGNv
bnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgY29uc3QKK3sKKyAgICByZXR1cm4gIWlzQ29tcG9z
aXRlZCgpICYmIG9sZFN0eWxlICYmIChvbGRTdHlsZS0+b3ZlcmZsb3dYKCkgIT0gcmVuZGVyZXIo
KS0+c3R5bGUoKS0+b3ZlcmZsb3dYKCkpICYmIHN0YWNraW5nQ29udGFpbmVyKCktPmhhc0NvbXBv
c2l0aW5nRGVzY2VuZGFudCgpOworfQorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKKwogdm9pZCBSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSwg
Y29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogewogICAgIGJvb2wgaXNOb3JtYWxGbG93T25s
eSA9IHNob3VsZEJlTm9ybWFsRmxvd09ubHkoKTsKQEAgLTYwNDIsMTYgKzYwNTUsMTIgQEAgdm9p
ZCBSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVy
U3R5bGUqIG9sZFN0eWxlKQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOwotICAgIGlmIChjb21wb3NpdG9yKCkt
PnVwZGF0ZUxheWVyQ29tcG9zaXRpbmdTdGF0ZSh0aGlzKSkKKyAgICBpZiAoY29tcG9zaXRvcigp
LT51cGRhdGVMYXllckNvbXBvc2l0aW5nU3RhdGUodGhpcykKKyAgICAgICAgfHwgbmVlZHNDb21w
b3NpdGluZ0xheWVyc1JlYnVpbHRGb3JDbGlwKG9sZFN0eWxlLCByZW5kZXJlcigpLT5zdHlsZSgp
KQorICAgICAgICB8fCBuZWVkc0NvbXBvc2l0aW5nTGF5ZXJzUmVidWlsdEZvck92ZXJmbG93KG9s
ZFN0eWxlKSkKICAgICAgICAgY29tcG9zaXRvcigpLT5zZXRDb21wb3NpdGluZ0xheWVyc05lZWRS
ZWJ1aWxkKCk7Ci0gICAgZWxzZSBpZiAob2xkU3R5bGUgJiYgKG9sZFN0eWxlLT5jbGlwKCkgIT0g
cmVuZGVyZXIoKS0+c3R5bGUoKS0+Y2xpcCgpIHx8IG9sZFN0eWxlLT5oYXNDbGlwKCkgIT0gcmVu
ZGVyZXIoKS0+c3R5bGUoKS0+aGFzQ2xpcCgpKSkKLSAgICAgICAgY29tcG9zaXRvcigpLT5zZXRD
b21wb3NpdGluZ0xheWVyc05lZWRSZWJ1aWxkKCk7Ci0gICAgZWxzZSBpZiAobV9iYWNraW5nKQot
ICAgICAgICBtX2JhY2tpbmctPnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpOwotICAgIGVs
c2UgaWYgKG9sZFN0eWxlICYmIG9sZFN0eWxlLT5vdmVyZmxvd1goKSAhPSByZW5kZXJlcigpLT5z
dHlsZSgpLT5vdmVyZmxvd1goKSkgewotICAgICAgICBpZiAoc3RhY2tpbmdDb250YWluZXIoKS0+
aGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KCkpCi0gICAgICAgICAgICBjb21wb3NpdG9yKCktPnNl
dENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQoKTsKLSAgICB9CisgICAgZWxzZSBpZiAoaXND
b21wb3NpdGVkKCkpCisgICAgICAgIGJhY2tpbmcoKS0+dXBkYXRlR3JhcGhpY3NMYXllckdlb21l
dHJ5KCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggNGE0NWIxNS4uYmVhZTljYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTc3MCw2ICs3NzAsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBHcmFwaGljc0xheWVyKiBsYXllckZvclNjcm9sbENvcm5lcigpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCB1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0IE9WRVJSSURF
OwogICAgIGJvb2wgbmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgY29uc3Q7CisgICAgYm9vbCBu
ZWVkc0NvbXBvc2l0aW5nTGF5ZXJzUmVidWlsdEZvck92ZXJmbG93KGNvbnN0IFJlbmRlclN0eWxl
KikgY29uc3Q7CiAjZWxzZQogICAgIGJvb2wgaXNDb21wb3NpdGVkKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICBib29sIGhhc0NvbXBvc2l0ZWRNYXNrKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0K
</data>
<flag name="commit-queue"
          id="215235"
          type_id="3"
          status="-"
          setter="mvujovic"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193656</attachid>
            <date>2013-03-18 14:29:24 -0700</date>
            <delta_ts>2013-03-19 09:51:23 -0700</delta_ts>
            <desc>Patch for Review</desc>
            <filename>112606-2.patch</filename>
            <type>text/plain</type>
            <size>4725</size>
            <attacher name="Max Vujovic">mvujovic</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0OGVlMzEwLi40NmE2NzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTMtMDMtMTggIE1heCBWdWpvdmljICA8bXZ1am92aWNAYWRvYmUuY29tPgorCisgICAg
ICAgIFJlZmFjdG9yIGNvbmRpdGlvbnMgZm9yIHNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVp
bGQgaW4gUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gZml4IGJ1ZyAxMDkwOTggWzFdLCB3ZSB3aWxsIG5l
ZWQgdG8gYWRkIG1vcmUgY29uZGl0aW9ucyBmb3IgY2FsbGluZworICAgICAgICBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQgaW4gUmVuZGVyTGF5
ZXI6OnN0eWxlQ2hhbmdlZC4KKyAgICAgICAgQWRkaW5nIG1vcmUgbm9uLXRyaXZpYWwgY29uZGl0
aW9ucyB3aWxsIG1ha2UgdGhpcyBibG9jayBvZiBjb2RlIGV2ZW4gaGFyZGVyIHRvIGZvbGxvdy4K
KyAgICAgICAgVGhpcyBwYXRjaCByZWZhY3RvcnMgdGhlIGN1cnJlbnQgY29uZGl0aW9ucyBpbnRv
IGZ1bmN0aW9uczoKKyAgICAgICAgICAgIG5lZWRzQ29tcG9zaXRpbmdMYXllcnNSZWJ1aWx0Rm9y
Q2xpcAorICAgICAgICAgICAgbmVlZHNDb21wb3NpdGluZ0xheWVyc1JlYnVpbHRGb3JPdmVyZmxv
dworCisgICAgICAgIEluIGJ1ZyAxMDkwOTggWzFdLCBJJ20gcGxhbm5pbmcgdG8gYWRkOgorICAg
ICAgICAgICAgbmVlZHNDb21wb3NpdGluZ0xheWVyc1JlYnVpbHRGb3JGaWx0ZXJzCisKKyAgICAg
ICAgWzFdOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDk4CisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBKdXN0IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6Om5lZWRzQ29tcG9zaXRpbmdMYXllcnNSZWJ1aWx0Rm9yQ2xpcCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6bmVlZHNDb21wb3NpdGluZ0xheWVyc1Jl
YnVpbHRGb3JPdmVyZmxvdyk6CisgICAgICAgICAgICBUaGlzIGlzIGEgbWV0aG9kIGFuZCBub3Qg
YSBmaWxlIHN0YXRpYyBmdW5jdGlvbiBiZWNhdXNlIGl0IG5lZWRzIHRvIGxvb2sgYXQgdGhlCisg
ICAgICAgICAgICBSZW5kZXJMYXllcidzIHN0YWNraW5nQ29udGFpbmVyKCksIHdoaWNoIGlzIGEg
cHJpdmF0ZSBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c3R5bGVDaGFu
Z2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFJlbmRl
ckxheWVyKToKKwogMjAxMy0wMy0xOCAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtIVE1MVGVtcGxhdGVFbGVtZW50XSBwYXJzZUVycm9yIGNoZWNr
IGluIHByb2Nlc3NUZW1wbGF0ZUVuZFRhZyBzaG91bGQgdXNlIGhhc1RhZ05hbWUsIG5vdCBoYXNM
b2NhbE5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDZj
MGZlMjIuLjIzYzRkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cApAQCAtNTk4NSw2ICs1OTg1LDIwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZU91dE9mRmxv
d1Bvc2l0aW9uZWQoY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogICAgIH0KIH0KIAorI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKK2lubGluZSBib29sIFJlbmRlckxheWVyOjpu
ZWVkc0NvbXBvc2l0aW5nTGF5ZXJzUmVidWlsdEZvckNsaXAoY29uc3QgUmVuZGVyU3R5bGUqIG9s
ZFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpIGNvbnN0Cit7CisgICAgQVNTRVJU
KG5ld1N0eWxlKTsKKyAgICByZXR1cm4gb2xkU3R5bGUgJiYgKG9sZFN0eWxlLT5jbGlwKCkgIT0g
bmV3U3R5bGUtPmNsaXAoKSB8fCBvbGRTdHlsZS0+aGFzQ2xpcCgpICE9IG5ld1N0eWxlLT5oYXND
bGlwKCkpOworfQorCitpbmxpbmUgYm9vbCBSZW5kZXJMYXllcjo6bmVlZHNDb21wb3NpdGluZ0xh
eWVyc1JlYnVpbHRGb3JPdmVyZmxvdyhjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUsIGNvbnN0
IFJlbmRlclN0eWxlKiBuZXdTdHlsZSkgY29uc3QKK3sKKyAgICBBU1NFUlQobmV3U3R5bGUpOwor
ICAgIHJldHVybiAhaXNDb21wb3NpdGVkKCkgJiYgb2xkU3R5bGUgJiYgKG9sZFN0eWxlLT5vdmVy
Zmxvd1goKSAhPSBuZXdTdHlsZS0+b3ZlcmZsb3dYKCkpICYmIHN0YWNraW5nQ29udGFpbmVyKCkt
Pmhhc0NvbXBvc2l0aW5nRGVzY2VuZGFudCgpOworfQorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKKwogdm9pZCBSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkKFN0eWxlRGlm
ZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogewogICAgIGJvb2wgaXNOb3Jt
YWxGbG93T25seSA9IHNob3VsZEJlTm9ybWFsRmxvd09ubHkoKTsKQEAgLTYwNDIsMTYgKzYwNTYs
MTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSwgY29u
c3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOwotICAgIGlmIChjb21w
b3NpdG9yKCktPnVwZGF0ZUxheWVyQ29tcG9zaXRpbmdTdGF0ZSh0aGlzKSkKLSAgICAgICAgY29t
cG9zaXRvcigpLT5zZXRDb21wb3NpdGluZ0xheWVyc05lZWRSZWJ1aWxkKCk7Ci0gICAgZWxzZSBp
ZiAob2xkU3R5bGUgJiYgKG9sZFN0eWxlLT5jbGlwKCkgIT0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+
Y2xpcCgpIHx8IG9sZFN0eWxlLT5oYXNDbGlwKCkgIT0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+aGFz
Q2xpcCgpKSkKKworICAgIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSA9IHJlbmRlcmVyKCkt
PnN0eWxlKCk7CisgICAgaWYgKGNvbXBvc2l0b3IoKS0+dXBkYXRlTGF5ZXJDb21wb3NpdGluZ1N0
YXRlKHRoaXMpCisgICAgICAgIHx8IG5lZWRzQ29tcG9zaXRpbmdMYXllcnNSZWJ1aWx0Rm9yQ2xp
cChvbGRTdHlsZSwgbmV3U3R5bGUpCisgICAgICAgIHx8IG5lZWRzQ29tcG9zaXRpbmdMYXllcnNS
ZWJ1aWx0Rm9yT3ZlcmZsb3cob2xkU3R5bGUsIG5ld1N0eWxlKSkKICAgICAgICAgY29tcG9zaXRv
cigpLT5zZXRDb21wb3NpdGluZ0xheWVyc05lZWRSZWJ1aWxkKCk7Ci0gICAgZWxzZSBpZiAobV9i
YWNraW5nKQotICAgICAgICBtX2JhY2tpbmctPnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgp
OwotICAgIGVsc2UgaWYgKG9sZFN0eWxlICYmIG9sZFN0eWxlLT5vdmVyZmxvd1goKSAhPSByZW5k
ZXJlcigpLT5zdHlsZSgpLT5vdmVyZmxvd1goKSkgewotICAgICAgICBpZiAoc3RhY2tpbmdDb250
YWluZXIoKS0+aGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KCkpCi0gICAgICAgICAgICBjb21wb3Np
dG9yKCktPnNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQoKTsKLSAgICB9CisgICAgZWxz
ZSBpZiAoaXNDb21wb3NpdGVkKCkpCisgICAgICAgIGJhY2tpbmcoKS0+dXBkYXRlR3JhcGhpY3NM
YXllckdlb21ldHJ5KCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggNGE0NWIxNS4uZWU5YWY0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTc3MCw2ICs3NzAsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBHcmFwaGljc0xheWVyKiBsYXllckZvclNjcm9sbENvcm5lcigp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCB1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0
IE9WRVJSSURFOwogICAgIGJvb2wgbmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgY29uc3Q7Cisg
ICAgYm9vbCBuZWVkc0NvbXBvc2l0aW5nTGF5ZXJzUmVidWlsdEZvckNsaXAoY29uc3QgUmVuZGVy
U3R5bGUqIG9sZFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSogbmV3U3R5bGUpIGNvbnN0OworICAg
IGJvb2wgbmVlZHNDb21wb3NpdGluZ0xheWVyc1JlYnVpbHRGb3JPdmVyZmxvdyhjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSkgY29uc3Q7CiAj
ZWxzZQogICAgIGJvb2wgaXNDb21wb3NpdGVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICBib29sIGhhc0NvbXBvc2l0ZWRNYXNrKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>