<?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>74229</bug_id>
          
          <creation_ts>2011-12-09 17:03:45 -0800</creation_ts>
          <short_desc>background-image transitions trigger between equivalent images</short_desc>
          <delta_ts>2011-12-09 17:28:02 -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>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>518653</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-12-09 17:03:45 -0800</bug_when>
    <thetext>When testing equality for implicit animations, we&apos;re not testing equivalence of StyleImages, we&apos;re testing pointer equality. This isn&apos;t useful and ends up causing a ton of extra implicit animations which needn&apos;t happen.

This is especially visible on YouTube, which has -webkit-transition: all set, and causes excessive loads there.

&lt;rdar://problem/10558627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518654</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-12-09 17:03:59 -0800</bug_when>
    <thetext>Simon and I have a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518658</commentid>
    <comment_count>2</comment_count>
      <attachid>118668</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-12-09 17:09:20 -0800</bug_when>
    <thetext>Created attachment 118668
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518661</commentid>
    <comment_count>3</comment_count>
      <attachid>118668</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-09 17:16:03 -0800</bug_when>
    <thetext>Comment on attachment 118668
patch

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

&gt; Source/WebCore/page/animation/AnimationBase.cpp:385
&gt; +       if ((!a &amp;&amp; !b) || a == b)

No need for the first half of this expression. Just a == b will do.

&gt; Source/WebCore/page/animation/AnimationBase.cpp:698
&gt; +       if ((!a &amp;&amp; !b) || a == b)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518662</commentid>
    <comment_count>4</comment_count>
      <attachid>118668</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-09 17:16:25 -0800</bug_when>
    <thetext>Comment on attachment 118668
patch

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

&gt; Source/WebCore/page/animation/AnimationBase.cpp:377
&gt; +    : RefCountedPropertyWrapper&lt;StyleImage&gt;(prop, getter, setter)

In WebKit style this is indented four additional spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518670</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-12-09 17:26:59 -0800</bug_when>
    <thetext>Landed with Darin&apos;s changes in 102498.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518672</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-12-09 17:28:02 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=118668&amp;action=review

&gt; Source/WebCore/page/animation/AnimationBase.cpp:384
&gt; +       // If either is null, return false. If both are null, return true.

This comment doesn&apos;t seem to be adding value. You&apos;re just stating in text what the code is actually doing. Either get rid of the comment or say why you&apos;re doing all these tests. It may be that the only comment needed is why a null style is never equal to a non-null. Isn&apos;t it possible that the non-null style would have the same effect as a null style?

&gt; Source/WebCore/page/animation/AnimationBase.cpp:392
&gt; +        return StyleImage::imagesEquivalent(imageA, imageB);

A better name would be good. What does &quot;equivalent&quot; mean? Are you doing a pixel by pixel test? Assuming you&apos;re actually just saying that they both point to the same underlying bitmap, saying imagesSame might be simpler (I think we use &quot;same&quot; in other places).

&gt; Source/WebCore/page/animation/AnimationBase.cpp:697
&gt; +       // If either is null, return false. If both are null, return true.

ibid.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118668</attachid>
            <date>2011-12-09 17:09:20 -0800</date>
            <delta_ts>2011-12-09 17:16:25 -0800</delta_ts>
            <desc>patch</desc>
            <filename>youtube.patch</filename>
            <type>text/plain</type>
            <size>9459</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2OTdlMTYyLi4yNTE5MTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTIt
MDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgYmFj
a2dyb3VuZC1pbWFnZSB0cmFuc2l0aW9ucyB0cmlnZ2VyIGJldHdlZW4gZXF1aXZhbGVudCBpbWFn
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjI5
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU1ODYyNz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGVuc3VyaW5nIHRoYXQgYmFj
a2dyb3VuZC1pbWFnZXMgYXJlbid0IG5lZWRsZXNzbHkgdHJhbnNpdGlvbmVkCisgICAgICAgIHdo
ZW4gdGhleSBhcmUgZXF1aXZhbGVudC4KKworICAgICAgICAqIHRyYW5zaXRpb25zL2VxdWl2YWxl
bnQtYmFja2dyb3VuZC1pbWFnZS1uby10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogdHJhbnNpdGlvbnMvZXF1aXZhbGVudC1iYWNrZ3JvdW5kLWltYWdlLW5vLXRyYW5z
aXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTEtMTItMDkgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBUcnkgdG8gZGVmbGFrZSBhIHJlcGFpbnQgdGVzdCBvbiBDaHJv
bWl1bS4gIEl0IGxvb2tzIGxpa2Ugd2UncmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3RyYW5z
aXRpb25zL2VxdWl2YWxlbnQtYmFja2dyb3VuZC1pbWFnZS1uby10cmFuc2l0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3RyYW5zaXRpb25zL2VxdWl2YWxlbnQtYmFja2dyb3VuZC1pbWFn
ZS1uby10cmFuc2l0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4wNWFjZDE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdHJhbnNpdGlv
bnMvZXF1aXZhbGVudC1iYWNrZ3JvdW5kLWltYWdlLW5vLXRyYW5zaXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMiBAQAorVGhpcyBzaG91bGQgbm90IGZpcmUgYSBiYWNrZ3JvdW5kLWltYWdl
IHRyYW5zaXRpb24uCitQQVNTOiBubyBiYWNrZ3JvdW5kLWltYWdlIHRyYW5zaXRpb24KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3RyYW5zaXRpb25zL2VxdWl2YWxlbnQtYmFja2dyb3VuZC1pbWFn
ZS1uby10cmFuc2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy90cmFuc2l0aW9ucy9lcXVpdmFsZW50
LWJhY2tncm91bmQtaW1hZ2Utbm8tdHJhbnNpdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjQ1OGJhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy90
cmFuc2l0aW9ucy9lcXVpdmFsZW50LWJhY2tncm91bmQtaW1hZ2Utbm8tdHJhbnNpdGlvbi5odG1s
CkBAIC0wLDAgKzEsNTAgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICNmb28g
eworICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjA1cyBsaW5lYXIsIHRvcCAwLjFz
IGxpbmVhcjsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0b3A6IDMwcHg7
CisgICAgICAgIGxlZnQ6IDEwcHg7CisgICAgICAgIHdpZHRoOiAzMDBweDsKKyAgICAgICAgaGVp
Z2h0OiAzMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3Jh
ZGllbnQocmVkLCBncmVlbiwgYmx1ZSk7CisgICAgfQorICAgICNmb28udHJhbnMgeworICAgICAg
ICB0b3A6IDQwcHg7CisgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYg
aWQ9ImZvbyI+VGhpcyBzaG91bGQgbm90IGZpcmUgYSBiYWNrZ3JvdW5kLWltYWdlIHRyYW5zaXRp
b24uPC9kaXY+CisKKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0i
dXRmLTgiPgorCisgICAgdmFyIGZpbmlzaGVkID0gZmFsc2U7CisKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnZm9vJykuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0VHJhbnNpdGlvbkVuZCcs
IGZ1bmN0aW9uKGV2dCkgeworICAgICAgICBpZihldnQucHJvcGVydHlOYW1lID09ICJiYWNrZ3Jv
dW5kLWltYWdlIiAmJiAhZmluaXNoZWQpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAoIkZBSUw6IHNhdyBhIGJhY2tncm91bmQtaW1h
Z2UgdHJhbnNpdGlvbiIpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7CisgICAgICAgIH0gZWxzZSBpZihldnQucHJv
cGVydHlOYW1lID09ICJ0b3AiICYmICFmaW5pc2hlZCkgeworICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICgiUEFTUzogbm8gYmFja2dyb3Vu
ZC1pbWFnZSB0cmFuc2l0aW9uIik7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZvbyIpLmNsYXNzTmFtZT0idHJhbnMiOworICAgIDwvc2NyaXB0PgorCisgICAgPGRpdiBpZD0i
cmVzdWx0Ij4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNzgw
YzM0Li40ZTM3ZThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMTItMDkgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgYmFja2dyb3Vu
ZC1pbWFnZSB0cmFuc2l0aW9ucyB0cmlnZ2VyIGJldHdlZW4gZXF1aXZhbGVudCBpbWFnZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjI5CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU1ODYyNz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgUGF0Y2ggYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEZv
ciBhbmltYXRpb24gcHJvcGVydHkgd3JhcHBlcnMgYXJvdW5kIFN0eWxlSW1hZ2UgcHJvcGVydGll
cywKKyAgICAgICAgdGVzdCB0aGUgZXF1aXZhbGVuY2Ugb2YgdGhlIGltYWdlIGl0c2VsZiwgaW5z
dGVhZCBvZiBlcXVhbGl0eSBvZgorICAgICAgICB0aGUgU3R5bGVJbWFnZSBwb2ludGVyLgorCisg
ICAgICAgIFRlc3Q6IHRyYW5zaXRpb25zL2VxdWl2YWxlbnQtYmFja2dyb3VuZC1pbWFnZS1uby10
cmFuc2l0aW9uLmh0bWwKKworICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVJbWFnZVByb3BlcnR5V3JhcHBlcjo6U3R5bGVJ
bWFnZVByb3BlcnR5V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUltYWdlUHJvcGVy
dHlXcmFwcGVyOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6RmlsbExheWVyU3R5bGVJbWFn
ZVByb3BlcnR5V3JhcHBlcjo6RmlsbExheWVyU3R5bGVJbWFnZVByb3BlcnR5V3JhcHBlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxsTGF5ZXJTdHlsZUltYWdlUHJvcGVydHlXcmFwcGVyOjplcXVh
bHMpOgorICAgICAgICAoV2ViQ29yZTo6RmlsbExheWVyc1Byb3BlcnR5V3JhcHBlcjo6RmlsbExh
eWVyc1Byb3BlcnR5V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25CYXNlOjpl
bnN1cmVQcm9wZXJ0eU1hcCk6CisKIDIwMTEtMTItMDkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJTY3JvbGxiYXJQYXJ0QW5pbWF0aW9uIHNob3Vs
ZCBvbmx5IGtub3cgYWJvdXQgdGhlIHNjcm9sbGJhciBpdCdzIGFuaW1hdGluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCA0NTNlYTg1
Li43NDFlNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25CYXNlLmNwcApAQCAtMzcxLDYgKzM3MSwyOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCAoUmVu
ZGVyU3R5bGU6OiptX3NldHRlcikoUGFzc1JlZlB0cjxUPik7CiB9OwogCitjbGFzcyBTdHlsZUlt
YWdlUHJvcGVydHlXcmFwcGVyIDogcHVibGljIFJlZkNvdW50ZWRQcm9wZXJ0eVdyYXBwZXI8U3R5
bGVJbWFnZT4geworcHVibGljOgorICAgIFN0eWxlSW1hZ2VQcm9wZXJ0eVdyYXBwZXIoaW50IHBy
b3AsIFN0eWxlSW1hZ2UqIChSZW5kZXJTdHlsZTo6KmdldHRlcikoKSBjb25zdCwgdm9pZCAoUmVu
ZGVyU3R5bGU6OipzZXR0ZXIpKFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4pKQorICAgIDogUmVmQ291
bnRlZFByb3BlcnR5V3JhcHBlcjxTdHlsZUltYWdlPihwcm9wLCBnZXR0ZXIsIHNldHRlcikKKyAg
ICB7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGVxdWFscyhjb25zdCBSZW5kZXJTdHlsZSog
YSwgY29uc3QgUmVuZGVyU3R5bGUqIGIpIGNvbnN0CisgICAgeworICAgICAgIC8vIElmIHRoZSBz
dHlsZSBwb2ludGVycyBhcmUgdGhlIHNhbWUsIGRvbid0IGJvdGhlciBkb2luZyB0aGUgdGVzdC4K
KyAgICAgICAvLyBJZiBlaXRoZXIgaXMgbnVsbCwgcmV0dXJuIGZhbHNlLiBJZiBib3RoIGFyZSBu
dWxsLCByZXR1cm4gdHJ1ZS4KKyAgICAgICBpZiAoKCFhICYmICFiKSB8fCBhID09IGIpCisgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgIGlmICghYSB8fCAhYikKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIAorICAgICAgICBTdHlsZUltYWdlKiBpbWFnZUEgPSAo
YS0+Km1fZ2V0dGVyKSgpOworICAgICAgICBTdHlsZUltYWdlKiBpbWFnZUIgPSAoYi0+Km1fZ2V0
dGVyKSgpOworICAgICAgICByZXR1cm4gU3R5bGVJbWFnZTo6aW1hZ2VzRXF1aXZhbGVudChpbWFn
ZUEsIGltYWdlQik7CisgICAgfQorfTsKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKIGNsYXNzIFByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkT3BhY2l0eSA6IHB1YmxpYyBQcm9w
ZXJ0eVdyYXBwZXI8ZmxvYXQ+IHsKIHB1YmxpYzoKQEAgLTY2Miw2ICs2ODQsMjcgQEAgcHJvdGVj
dGVkOgogICAgIHZvaWQgKEZpbGxMYXllcjo6Km1fc2V0dGVyKShQYXNzUmVmUHRyPFQ+KTsKIH07
CiAKK2NsYXNzIEZpbGxMYXllclN0eWxlSW1hZ2VQcm9wZXJ0eVdyYXBwZXIgOiBwdWJsaWMgRmls
bExheWVyUmVmQ291bnRlZFByb3BlcnR5V3JhcHBlcjxTdHlsZUltYWdlPiB7CitwdWJsaWM6Cisg
ICAgRmlsbExheWVyU3R5bGVJbWFnZVByb3BlcnR5V3JhcHBlcihTdHlsZUltYWdlKiAoRmlsbExh
eWVyOjoqZ2V0dGVyKSgpIGNvbnN0LCB2b2lkIChGaWxsTGF5ZXI6OipzZXR0ZXIpKFBhc3NSZWZQ
dHI8U3R5bGVJbWFnZT4pKQorICAgICAgICA6IEZpbGxMYXllclJlZkNvdW50ZWRQcm9wZXJ0eVdy
YXBwZXI8U3R5bGVJbWFnZT4oZ2V0dGVyLCBzZXR0ZXIpCisgICAgeworICAgIH0KKworICAgIHZp
cnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgRmlsbExheWVyKiBhLCBjb25zdCBGaWxsTGF5ZXIqIGIp
IGNvbnN0CisgICAgeworICAgICAgIC8vIElmIHRoZSBzdHlsZSBwb2ludGVycyBhcmUgdGhlIHNh
bWUsIGRvbid0IGJvdGhlciBkb2luZyB0aGUgdGVzdC4KKyAgICAgICAvLyBJZiBlaXRoZXIgaXMg
bnVsbCwgcmV0dXJuIGZhbHNlLiBJZiBib3RoIGFyZSBudWxsLCByZXR1cm4gdHJ1ZS4KKyAgICAg
ICBpZiAoKCFhICYmICFiKSB8fCBhID09IGIpCisgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgIGlmICghYSB8fCAhYikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBT
dHlsZUltYWdlKiBpbWFnZUEgPSAoYS0+Km1fZ2V0dGVyKSgpOworICAgICAgICBTdHlsZUltYWdl
KiBpbWFnZUIgPSAoYi0+Km1fZ2V0dGVyKSgpOworICAgICAgICByZXR1cm4gU3R5bGVJbWFnZTo6
aW1hZ2VzRXF1aXZhbGVudChpbWFnZUEsIGltYWdlQik7CisgICAgfQorfTsKIAogY2xhc3MgRmls
bExheWVyc1Byb3BlcnR5V3JhcHBlciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKIHB1
YmxpYzoKQEAgLTY4OCw3ICs3MzEsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgbV9maWxs
TGF5ZXJQcm9wZXJ0eVdyYXBwZXIgPSBuZXcgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyPExlbmd0
aFNpemU+KCZGaWxsTGF5ZXI6OnNpemVMZW5ndGgsICZGaWxsTGF5ZXI6OnNldFNpemVMZW5ndGgp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJh
Y2tncm91bmRJbWFnZToKLSAgICAgICAgICAgICAgICBtX2ZpbGxMYXllclByb3BlcnR5V3JhcHBl
ciA9IG5ldyBGaWxsTGF5ZXJSZWZDb3VudGVkUHJvcGVydHlXcmFwcGVyPFN0eWxlSW1hZ2U+KCZG
aWxsTGF5ZXI6OmltYWdlLCAmRmlsbExheWVyOjpzZXRJbWFnZSk7CisgICAgICAgICAgICAgICAg
bV9maWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXIgPSBuZXcgRmlsbExheWVyU3R5bGVJbWFnZVByb3Bl
cnR5V3JhcHBlcigmRmlsbExheWVyOjppbWFnZSwgJkZpbGxMYXllcjo6c2V0SW1hZ2UpOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQpAQCAtODcyLDEzICs5MTUsMTMg
QEAgdm9pZCBBbmltYXRpb25CYXNlOjplbnN1cmVQcm9wZXJ0eU1hcCgpCiAgICAgICAgIGdQcm9w
ZXJ0eVdyYXBwZXJzLT5hcHBlbmQobmV3IFByb3BlcnR5V3JhcHBlcjxjb25zdCBDb2xvciY+KENT
U1Byb3BlcnR5QmFja2dyb3VuZENvbG9yLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRDb2xvciwg
JlJlbmRlclN0eWxlOjpzZXRCYWNrZ3JvdW5kQ29sb3IpKTsKIAogICAgICAgICBnUHJvcGVydHlX
cmFwcGVycy0+YXBwZW5kKG5ldyBGaWxsTGF5ZXJzUHJvcGVydHlXcmFwcGVyKENTU1Byb3BlcnR5
QmFja2dyb3VuZEltYWdlLCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsICZSZW5kZXJT
dHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycykpOwotICAgICAgICBnUHJvcGVydHlXcmFwcGVy
cy0+YXBwZW5kKG5ldyBSZWZDb3VudGVkUHJvcGVydHlXcmFwcGVyPFN0eWxlSW1hZ2U+KENTU1By
b3BlcnR5TGlzdFN0eWxlSW1hZ2UsICZSZW5kZXJTdHlsZTo6bGlzdFN0eWxlSW1hZ2UsICZSZW5k
ZXJTdHlsZTo6c2V0TGlzdFN0eWxlSW1hZ2UpKTsKLSAgICAgICAgZ1Byb3BlcnR5V3JhcHBlcnMt
PmFwcGVuZChuZXcgUmVmQ291bnRlZFByb3BlcnR5V3JhcHBlcjxTdHlsZUltYWdlPihDU1NQcm9w
ZXJ0eVdlYmtpdE1hc2tJbWFnZSwgJlJlbmRlclN0eWxlOjptYXNrSW1hZ2UsICZSZW5kZXJTdHls
ZTo6c2V0TWFza0ltYWdlKSk7CisgICAgICAgIGdQcm9wZXJ0eVdyYXBwZXJzLT5hcHBlbmQobmV3
IFN0eWxlSW1hZ2VQcm9wZXJ0eVdyYXBwZXIoQ1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZSwgJlJl
bmRlclN0eWxlOjpsaXN0U3R5bGVJbWFnZSwgJlJlbmRlclN0eWxlOjpzZXRMaXN0U3R5bGVJbWFn
ZSkpOworICAgICAgICBnUHJvcGVydHlXcmFwcGVycy0+YXBwZW5kKG5ldyBTdHlsZUltYWdlUHJv
cGVydHlXcmFwcGVyKENTU1Byb3BlcnR5V2Via2l0TWFza0ltYWdlLCAmUmVuZGVyU3R5bGU6Om1h
c2tJbWFnZSwgJlJlbmRlclN0eWxlOjpzZXRNYXNrSW1hZ2UpKTsKIAotICAgICAgICBnUHJvcGVy
dHlXcmFwcGVycy0+YXBwZW5kKG5ldyBSZWZDb3VudGVkUHJvcGVydHlXcmFwcGVyPFN0eWxlSW1h
Z2U+KENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VTb3VyY2UsICZSZW5kZXJTdHlsZTo6Ym9yZGVySW1h
Z2VTb3VyY2UsICZSZW5kZXJTdHlsZTo6c2V0Qm9yZGVySW1hZ2VTb3VyY2UpKTsKKyAgICAgICAg
Z1Byb3BlcnR5V3JhcHBlcnMtPmFwcGVuZChuZXcgU3R5bGVJbWFnZVByb3BlcnR5V3JhcHBlcihD
U1NQcm9wZXJ0eUJvcmRlckltYWdlU291cmNlLCAmUmVuZGVyU3R5bGU6OmJvcmRlckltYWdlU291
cmNlLCAmUmVuZGVyU3R5bGU6OnNldEJvcmRlckltYWdlU291cmNlKSk7CiAgICAgICAgIGdQcm9w
ZXJ0eVdyYXBwZXJzLT5hcHBlbmQobmV3IFByb3BlcnR5V3JhcHBlcjxjb25zdCBOaW5lUGllY2VJ
bWFnZSY+KENTU1Byb3BlcnR5Qm9yZGVySW1hZ2UsICZSZW5kZXJTdHlsZTo6Ym9yZGVySW1hZ2Us
ICZSZW5kZXJTdHlsZTo6c2V0Qm9yZGVySW1hZ2UpKTsKIAotICAgICAgICBnUHJvcGVydHlXcmFw
cGVycy0+YXBwZW5kKG5ldyBSZWZDb3VudGVkUHJvcGVydHlXcmFwcGVyPFN0eWxlSW1hZ2U+KENT
U1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlU291cmNlLCAmUmVuZGVyU3R5bGU6Om1hc2tCb3hJ
bWFnZVNvdXJjZSwgJlJlbmRlclN0eWxlOjpzZXRNYXNrQm94SW1hZ2VTb3VyY2UpKTsKKyAgICAg
ICAgZ1Byb3BlcnR5V3JhcHBlcnMtPmFwcGVuZChuZXcgU3R5bGVJbWFnZVByb3BlcnR5V3JhcHBl
cihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tCb3hJbWFnZVNvdXJjZSwgJlJlbmRlclN0eWxlOjptYXNr
Qm94SW1hZ2VTb3VyY2UsICZSZW5kZXJTdHlsZTo6c2V0TWFza0JveEltYWdlU291cmNlKSk7CiAg
ICAgICAgIGdQcm9wZXJ0eVdyYXBwZXJzLT5hcHBlbmQobmV3IFByb3BlcnR5V3JhcHBlcjxjb25z
dCBOaW5lUGllY2VJbWFnZSY+KENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlLCAmUmVuZGVy
U3R5bGU6Om1hc2tCb3hJbWFnZSwgJlJlbmRlclN0eWxlOjpzZXRNYXNrQm94SW1hZ2UpKTsKIAog
ICAgICAgICBnUHJvcGVydHlXcmFwcGVycy0+YXBwZW5kKG5ldyBGaWxsTGF5ZXJzUHJvcGVydHlX
cmFwcGVyKENTU1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uWCwgJlJlbmRlclN0eWxlOjpiYWNr
Z3JvdW5kTGF5ZXJzLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc0JhY2tncm91bmRMYXllcnMpKTsK
</data>
<flag name="review"
          id="118478"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>