<?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>119078</bug_id>
          
          <creation_ts>2013-07-25 02:22:53 -0700</creation_ts>
          <short_desc>[GTK] [EFL] Enable tiled shadow blur for the inset shadows.</short_desc>
          <delta_ts>2013-08-09 10:02:55 -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>WebKitGTK</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alejandro G. Castro">alex</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>911546</commentid>
    <comment_count>0</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2013-07-25 02:22:53 -0700</bug_when>
    <thetext>We are not currently the tiled rendering in the inset shadow blur for the ports using cairo backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911550</commentid>
    <comment_count>1</comment_count>
      <attachid>207444</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2013-07-25 02:29:23 -0700</bug_when>
    <thetext>Created attachment 207444
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912106</commentid>
    <comment_count>2</comment_count>
      <attachid>207444</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-07-26 14:26:03 -0700</bug_when>
    <thetext>Comment on attachment 207444
Proposed patch

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

Nice. Just a couple suggestions before landing.

&gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1054
&gt; +    if (!roundedHoleRect.radii().isZero())
&gt; +        path.addRoundedRect(roundedHoleRect);
&gt; +    else
&gt; +        path.addRect(roundedHoleRect.rect());

I wonder if this optimization should go into Path.cpp eventually?

&gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1061
&gt; +    setFillRule(RULE_EVENODD);
&gt; +    setFillColor(color, colorSpace);

I think that instead of setting the fill rule and color for the GraphicsContext you should just set them for the Cairo context. That way you can use cairo_save/cairo_restore, instead of oldFillRule and oldFillColor.

&gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1065
&gt; +        ShadowBlur&amp; shadow = platformContext()-&gt;shadowBlur();
&gt; +        shadow.drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii());

I think you can avoid the temporary and move this code to the very start of the method after the early return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913707</commentid>
    <comment_count>3</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2013-08-01 05:17:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 207444 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207444&amp;action=review
&gt; 
&gt; Nice. Just a couple suggestions before landing.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1054
&gt; &gt; +    if (!roundedHoleRect.radii().isZero())
&gt; &gt; +        path.addRoundedRect(roundedHoleRect);
&gt; &gt; +    else
&gt; &gt; +        path.addRect(roundedHoleRect.rect());
&gt; 
&gt; I wonder if this optimization should go into Path.cpp eventually?
&gt;

Good point, not sure, I can check it in a follow-up patch.

&gt; &gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1061
&gt; &gt; +    setFillRule(RULE_EVENODD);
&gt; &gt; +    setFillColor(color, colorSpace);
&gt; 
&gt; I think that instead of setting the fill rule and color for the GraphicsContext you should just set them for the Cairo context. That way you can use cairo_save/cairo_restore, instead of oldFillRule and oldFillColor.
&gt; 

Yep, it sounds better option.

&gt; &gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1065
&gt; &gt; +        ShadowBlur&amp; shadow = platformContext()-&gt;shadowBlur();
&gt; &gt; +        shadow.drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii());
&gt; 
&gt; I think you can avoid the temporary and move this code to the very start of the method after the early return.

Ok,

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913745</commentid>
    <comment_count>4</comment_count>
      <attachid>207927</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2013-08-01 08:10:49 -0700</bug_when>
    <thetext>Created attachment 207927
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915089</commentid>
    <comment_count>5</comment_count>
      <attachid>207927</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-08-07 04:14:42 -0700</bug_when>
    <thetext>Comment on attachment 207927
Proposed patch

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

&gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1056
&gt; +    if (this-&gt;mustUseShadowBlur())
&gt; +        platformContext()-&gt;shadowBlur().drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii());

You could even move this above the path manipulation, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915859</commentid>
    <comment_count>6</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2013-08-09 10:02:55 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 207927 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207927&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:1056
&gt; &gt; +    if (this-&gt;mustUseShadowBlur())
&gt; &gt; +        platformContext()-&gt;shadowBlur().drawInsetShadow(this, rect, roundedHoleRect.rect(), roundedHoleRect.radii());
&gt; 
&gt; You could even move this above the path manipulation, I think.

Yeah, I&apos;ve modified the patch before landing, thanks.

http://trac.webkit.org/changeset/142608</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207444</attachid>
            <date>2013-07-25 02:29:23 -0700</date>
            <delta_ts>2013-08-01 08:11:14 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>tiledshadowinset.patch</filename>
            <type>text/plain</type>
            <size>4083</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkOTVlMzU1Li5jYjkyNzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTMtMDctMjUgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gW0VGTF0gRW5hYmxlIHRpbGVkIHNoYWRvdyBibHVyIGZvciB0aGUgaW5z
ZXQgc2hhZG93cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExOTA3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFscmVhZHkgY292ZXJlZCBpbiB0aGUgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxD
dXJyZW50Q2Fpcm9QYXRoKTogQWRkZWQgdG8gYWxsb3cgZmlsbCB0aGUgcGF0aAorICAgICAgICB3
aXRob3V0IHRoZSBzaGFkb3cuCisgICAgICAgIChXZWJDb3JlOjpzaGFkb3dBbmRGaWxsQ3VycmVu
dENhaXJvUGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZpbGxSZWN0
V2l0aFJvdW5kZWRIb2xlKTogQWRkZWQgY2Fpcm8KKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisK
IDIwMTMtMDctMjMgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtTb3VwXSBDbGVhbiB1cCBoZWFkZXIgaW5jbHVzaW9ucyBpbiBSZXNvdXJjZVJlcXVlc3Qo
U291cCksIFNvY2tldFN0cmVhbUhhbmRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggMjZlMmRiYi4uYzkzZGQzZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuY3BwCkBAIC02OTMsNyArNjkzLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmZpbGxS
b3VuZGVkUmVjdChjb25zdCBSb3VuZGVkUmVjdCYgcmVjdCwgY29uc3QgQ29sb3ImIGNvbG8KICAg
ICAgICAgZmlsbFJlY3QocmVjdC5yZWN0KCksIGNvbG9yLCBjb2xvclNwYWNlLCBjb21wb3NpdGVP
cGVyYXRpb24oKSwgYmxlbmRNb2RlKTsKIH0KIAotI2lmICFVU0UoQ0cpICYmICFQTEFURk9STShR
VCkKKyNpZiAhVVNFKENHKSAmJiAhUExBVEZPUk0oUVQpICYmICFVU0UoQ0FJUk8pCiB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZmlsbFJlY3RXaXRoUm91bmRlZEhvbGUoY29uc3QgSW50UmVjdCYgcmVj
dCwgY29uc3QgUm91bmRlZFJlY3QmIHJvdW5kZWRIb2xlUmVjdCwgY29uc3QgQ29sb3ImIGNvbG9y
LCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpCiB7CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCBmMjJlYWNhLi4wYjg2OGVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0Nv
bnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC0xNTAsMTkgKzE1MCwyMyBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgZHJhd1BhdGhTaGFkb3coR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBQYXRo
RHJhd2luZ1N0eWxlIGRyYQogICAgIGNhaXJvX2FwcGVuZF9wYXRoKGNhaXJvQ29udGV4dCwgcGF0
aC5nZXQoKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzaGFkb3dBbmRGaWxsQ3VycmVudENh
aXJvUGF0aChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpCitzdGF0aWMgaW5saW5lIHZvaWQgZmls
bEN1cnJlbnRDYWlyb1BhdGgoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQogewogICAgIGNhaXJv
X3QqIGNyID0gY29udGV4dC0+cGxhdGZvcm1Db250ZXh0KCktPmNyKCk7CiAgICAgY2Fpcm9fc2F2
ZShjcik7CiAKLSAgICBkcmF3UGF0aFNoYWRvdyhjb250ZXh0LCBGaWxsKTsKLQogICAgIGNvbnRl
eHQtPnBsYXRmb3JtQ29udGV4dCgpLT5wcmVwYXJlRm9yRmlsbGluZyhjb250ZXh0LT5zdGF0ZSgp
LCBQbGF0Zm9ybUNvbnRleHRDYWlybzo6QWRqdXN0UGF0dGVybkZvckdsb2JhbEFscGhhKTsKICAg
ICBjYWlyb19maWxsKGNyKTsKIAogICAgIGNhaXJvX3Jlc3RvcmUoY3IpOwogfQogCitzdGF0aWMg
aW5saW5lIHZvaWQgc2hhZG93QW5kRmlsbEN1cnJlbnRDYWlyb1BhdGgoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0KQoreworICAgIGRyYXdQYXRoU2hhZG93KGNvbnRleHQsIEZpbGwpOworICAgIGZp
bGxDdXJyZW50Q2Fpcm9QYXRoKGNvbnRleHQpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc2hh
ZG93QW5kU3Ryb2tlQ3VycmVudENhaXJvUGF0aChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpCiB7
CiAgICAgZHJhd1BhdGhTaGFkb3coY29udGV4dCwgU3Ryb2tlKTsKQEAgLTEwMzYsNiArMTA0MCwz
OSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3Qm
IHIsIGNvbnN0IEludFNpemUmIHRvcExlZnQsCiAgICAgY2Fpcm9fcmVzdG9yZShjcik7CiB9CiAK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdFdpdGhSb3VuZGVkSG9sZShjb25zdCBJbnRS
ZWN0JiByZWN0LCBjb25zdCBSb3VuZGVkUmVjdCYgcm91bmRlZEhvbGVSZWN0LCBjb25zdCBDb2xv
ciYgY29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKK3sKKyAgICBpZiAocGFpbnRpbmdEaXNh
YmxlZCgpIHx8ICFjb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFBhdGgg
cGF0aDsKKyAgICBwYXRoLmFkZFJlY3QocmVjdCk7CisKKyAgICBpZiAoIXJvdW5kZWRIb2xlUmVj
dC5yYWRpaSgpLmlzWmVybygpKQorICAgICAgICBwYXRoLmFkZFJvdW5kZWRSZWN0KHJvdW5kZWRI
b2xlUmVjdCk7CisgICAgZWxzZQorICAgICAgICBwYXRoLmFkZFJlY3Qocm91bmRlZEhvbGVSZWN0
LnJlY3QoKSk7CisKKyAgICBXaW5kUnVsZSBvbGRGaWxsUnVsZSA9IGZpbGxSdWxlKCk7CisgICAg
Q29sb3Igb2xkRmlsbENvbG9yID0gZmlsbENvbG9yKCk7CisgICAgQ29sb3JTcGFjZSBvbGRGaWxs
Q29sb3JTcGFjZSA9IGZpbGxDb2xvclNwYWNlKCk7CisKKyAgICBzZXRGaWxsUnVsZShSVUxFX0VW
RU5PREQpOworICAgIHNldEZpbGxDb2xvcihjb2xvciwgY29sb3JTcGFjZSk7CisKKyAgICBpZiAo
dGhpcy0+bXVzdFVzZVNoYWRvd0JsdXIoKSkgeworICAgICAgICBTaGFkb3dCbHVyJiBzaGFkb3cg
PSBwbGF0Zm9ybUNvbnRleHQoKS0+c2hhZG93Qmx1cigpOworICAgICAgICBzaGFkb3cuZHJhd0lu
c2V0U2hhZG93KHRoaXMsIHJlY3QsIHJvdW5kZWRIb2xlUmVjdC5yZWN0KCksIHJvdW5kZWRIb2xl
UmVjdC5yYWRpaSgpKTsKKyAgICB9CisKKyAgICBzZXRQYXRoT25DYWlyb0NvbnRleHQocGxhdGZv
cm1Db250ZXh0KCktPmNyKCksIHBhdGgucGxhdGZvcm1QYXRoKCktPmNvbnRleHQoKSk7CisKKyAg
ICBmaWxsQ3VycmVudENhaXJvUGF0aCh0aGlzKTsKKworICAgIHNldEZpbGxSdWxlKG9sZEZpbGxS
dWxlKTsKKyAgICBzZXRGaWxsQ29sb3Iob2xkRmlsbENvbG9yLCBvbGRGaWxsQ29sb3JTcGFjZSk7
Cit9CisKICNpZiBQTEFURk9STShHVEspCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0R2RrRXhw
b3NlRXZlbnQoR2RrRXZlbnRFeHBvc2UqIGV4cG9zZSkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207927</attachid>
            <date>2013-08-01 08:10:49 -0700</date>
            <delta_ts>2013-08-07 04:14:42 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>tiledinsetshadow.patch</filename>
            <type>text/plain</type>
            <size>3779</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNGExYjZkLi44Y2Y5YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTMtMDgtMDEgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS10gW0VGTF0gRW5hYmxlIHRpbGVkIHNoYWRvdyBibHVyIGZvciB0aGUgaW5z
ZXQgc2hhZG93cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExOTA3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFscmVhZHkgY292ZXJlZCBpbiB0aGUgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxD
dXJyZW50Q2Fpcm9QYXRoKTogQWRkZWQgdG8gYWxsb3cgZmlsbCB0aGUgcGF0aAorICAgICAgICB3
aXRob3V0IHRoZSBzaGFkb3cuCisgICAgICAgIChXZWJDb3JlOjpzaGFkb3dBbmRGaWxsQ3VycmVu
dENhaXJvUGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZpbGxSZWN0
V2l0aFJvdW5kZWRIb2xlKTogQWRkZWQgY2Fpcm8KKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisK
IDIwMTMtMDctMzEgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAg
IEZJTkFMaXplIFN0eWxlU2hlZXQgc3ViY2xhc3Nlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCmluZGV4IDI2ZTJkYmIuLmM5
M2RkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmNwcApAQCAtNjkzLDcgKzY5Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpmaWxsUm91bmRlZFJlY3QoY29uc3QgUm91bmRlZFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBj
b2xvCiAgICAgICAgIGZpbGxSZWN0KHJlY3QucmVjdCgpLCBjb2xvciwgY29sb3JTcGFjZSwgY29t
cG9zaXRlT3BlcmF0aW9uKCksIGJsZW5kTW9kZSk7CiB9CiAKLSNpZiAhVVNFKENHKSAmJiAhUExB
VEZPUk0oUVQpCisjaWYgIVVTRShDRykgJiYgIVBMQVRGT1JNKFFUKSAmJiAhVVNFKENBSVJPKQog
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmZpbGxSZWN0V2l0aFJvdW5kZWRIb2xlKGNvbnN0IEludFJl
Y3QmIHJlY3QsIGNvbnN0IFJvdW5kZWRSZWN0JiByb3VuZGVkSG9sZVJlY3QsIGNvbnN0IENvbG9y
JiBjb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlKQogewogICAgIGlmIChwYWludGluZ0Rpc2Fi
bGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAKaW5kZXggZjIyZWFjYS4uOWMxNWNh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcApAQCAtMTUwLDE5ICsxNTAsMjMgQEAg
c3RhdGljIGlubGluZSB2b2lkIGRyYXdQYXRoU2hhZG93KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCwgUGF0aERyYXdpbmdTdHlsZSBkcmEKICAgICBjYWlyb19hcHBlbmRfcGF0aChjYWlyb0NvbnRl
eHQsIHBhdGguZ2V0KCkpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2hhZG93QW5kRmlsbEN1
cnJlbnRDYWlyb1BhdGgoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQorc3RhdGljIGlubGluZSB2
b2lkIGZpbGxDdXJyZW50Q2Fpcm9QYXRoKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCkKIHsKICAg
ICBjYWlyb190KiBjciA9IGNvbnRleHQtPnBsYXRmb3JtQ29udGV4dCgpLT5jcigpOwogICAgIGNh
aXJvX3NhdmUoY3IpOwogCi0gICAgZHJhd1BhdGhTaGFkb3coY29udGV4dCwgRmlsbCk7Ci0KICAg
ICBjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+cHJlcGFyZUZvckZpbGxpbmcoY29udGV4dC0+
c3RhdGUoKSwgUGxhdGZvcm1Db250ZXh0Q2Fpcm86OkFkanVzdFBhdHRlcm5Gb3JHbG9iYWxBbHBo
YSk7CiAgICAgY2Fpcm9fZmlsbChjcik7CiAKICAgICBjYWlyb19yZXN0b3JlKGNyKTsKIH0KIAor
c3RhdGljIGlubGluZSB2b2lkIHNoYWRvd0FuZEZpbGxDdXJyZW50Q2Fpcm9QYXRoKEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCkKK3sKKyAgICBkcmF3UGF0aFNoYWRvdyhjb250ZXh0LCBGaWxsKTsK
KyAgICBmaWxsQ3VycmVudENhaXJvUGF0aChjb250ZXh0KTsKK30KKwogc3RhdGljIGlubGluZSB2
b2lkIHNoYWRvd0FuZFN0cm9rZUN1cnJlbnRDYWlyb1BhdGgoR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0KQogewogICAgIGRyYXdQYXRoU2hhZG93KGNvbnRleHQsIFN0cm9rZSk7CkBAIC0xMDM2LDYg
KzEwNDAsMjggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmZpbGxSb3VuZGVkUmVjdChjb25zdCBJ
bnRSZWN0JiByLCBjb25zdCBJbnRTaXplJiB0b3BMZWZ0LAogICAgIGNhaXJvX3Jlc3RvcmUoY3Ip
OwogfQogCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJlY3RXaXRoUm91bmRlZEhvbGUoY29u
c3QgSW50UmVjdCYgcmVjdCwgY29uc3QgUm91bmRlZFJlY3QmIHJvdW5kZWRIb2xlUmVjdCwgY29u
c3QgQ29sb3ImIGNvbG9yLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UpCit7CisgICAgaWYgKHBhaW50
aW5nRGlzYWJsZWQoKSB8fCAhY29sb3IuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBQYXRoIHBhdGg7CisgICAgcGF0aC5hZGRSZWN0KHJlY3QpOworICAgIGlmICghcm91bmRlZEhv
bGVSZWN0LnJhZGlpKCkuaXNaZXJvKCkpCisgICAgICAgIHBhdGguYWRkUm91bmRlZFJlY3Qocm91
bmRlZEhvbGVSZWN0KTsKKyAgICBlbHNlCisgICAgICAgIHBhdGguYWRkUmVjdChyb3VuZGVkSG9s
ZVJlY3QucmVjdCgpKTsKKworICAgIGlmICh0aGlzLT5tdXN0VXNlU2hhZG93Qmx1cigpKQorICAg
ICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+c2hhZG93Qmx1cigpLmRyYXdJbnNldFNoYWRvdyh0aGlz
LCByZWN0LCByb3VuZGVkSG9sZVJlY3QucmVjdCgpLCByb3VuZGVkSG9sZVJlY3QucmFkaWkoKSk7
CisKKyAgICBjYWlyb190KiBjciA9IHBsYXRmb3JtQ29udGV4dCgpLT5jcigpOworICAgIGNhaXJv
X3NhdmUoY3IpOworICAgIHNldFBhdGhPbkNhaXJvQ29udGV4dChwbGF0Zm9ybUNvbnRleHQoKS0+
Y3IoKSwgcGF0aC5wbGF0Zm9ybVBhdGgoKS0+Y29udGV4dCgpKTsKKyAgICBmaWxsQ3VycmVudENh
aXJvUGF0aCh0aGlzKTsKKyAgICBjYWlyb19yZXN0b3JlKGNyKTsKK30KKwogI2lmIFBMQVRGT1JN
KEdUSykKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRHZGtFeHBvc2VFdmVudChHZGtFdmVudEV4
cG9zZSogZXhwb3NlKQogewo=
</data>
<flag name="review"
          id="229773"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>