<?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>38025</bug_id>
          
          <creation_ts>2010-04-22 19:56:40 -0700</creation_ts>
          <short_desc>Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)</short_desc>
          <delta_ts>2012-05-08 16:34:50 -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>All</rep_platform>
          <op_sys>OS X 10.5</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>
          <dependson>80676</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Igor Trindade Oliveira">igor.oliveira</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>216235</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-04-22 19:56:40 -0700</bug_when>
    <thetext>RenderObject::setAnimatableStyle() calls animation()-&gt;updateAnimations(). This in turn calls m_data-&gt;updateAnimationTimer(), which loops through all m_compositeAnimations().

This means that for every RenderObject doing any kind of transition or keyframe animation, we iterate through all other CompositeAnimations in the page. This seems bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562689</commentid>
    <comment_count>1</comment_count>
      <attachid>128366</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-02-22 18:53:08 -0800</bug_when>
    <thetext>Created attachment 128366
Patch

Proposed Patch. For the worst case, this patch has the same amount of iterations of the code without the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562851</commentid>
    <comment_count>2</comment_count>
      <attachid>128366</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-02-22 22:46:43 -0800</bug_when>
    <thetext>Comment on attachment 128366
Patch

Did you measure any performance gain?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562881</commentid>
    <comment_count>3</comment_count>
      <attachid>128366</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 23:36:24 -0800</bug_when>
    <thetext>Comment on attachment 128366
Patch

Clearing flags on attachment: 128366

Committed r108616: &lt;http://trac.webkit.org/changeset/108616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562882</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 23:36:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563086</commentid>
    <comment_count>5</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-02-23 06:50:20 -0800</bug_when>
    <thetext>Yeah, in some cases the patch reduced the number of iterations in 20%.

(In reply to comment #2)
&gt; (From update of attachment 128366 [details])
&gt; Did you measure any performance gain?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574603</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-03-08 21:41:55 -0800</bug_when>
    <thetext>This broke the animation on http://www.apple.com/safari/welcome/ and was rolled out via bug 80676.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574637</commentid>
    <comment_count>7</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-03-08 22:22:12 -0800</bug_when>
    <thetext>Investigating.

(In reply to comment #6)
&gt; This broke the animation on http://www.apple.com/safari/welcome/ and was rolled out via bug 80676.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580597</commentid>
    <comment_count>8</comment_count>
      <attachid>132302</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-03-16 09:46:53 -0700</bug_when>
    <thetext>Created attachment 132302
Test case

Safari Welcome page reduced test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582611</commentid>
    <comment_count>9</comment_count>
      <attachid>132744</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-03-19 19:12:17 -0700</bug_when>
    <thetext>Created attachment 132744
Patch

Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582634</commentid>
    <comment_count>10</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-03-19 19:29:59 -0700</bug_when>
    <thetext>The bug happened because every time that we had an active timer, the patch stopped the timer and called timer.startOneShot, now we are checking if the new timer is bigger than the active timer, if not, we stop the active timer and started a new one shot timer.

(In reply to comment #6)
&gt; This broke the animation on http://www.apple.com/safari/welcome/ and was rolled out via bug 80676.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583354</commentid>
    <comment_count>11</comment_count>
      <attachid>132744</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-20 12:32:34 -0700</bug_when>
    <thetext>Comment on attachment 132744
Patch

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

&gt; LayoutTests/animations/animation-welcome-safari.html:124
&gt; +        document.body.className = &quot;go&quot;

semicolon missing

&gt; Source/WebCore/ChangeLog:7
&gt; +        This patchs implements updateAnimationTimerForRenderer, it just checks the timeToNextService for
&gt; +        the current RenderObject reducing the amount of iterations.

Typo &quot;patchs&quot;. I also suggest:

Implement updateAnimationTimerForRender. This reduces unnecessary animation steps on the current RenderObject by checking the value of timeToNextService before starting a new timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585344</commentid>
    <comment_count>12</comment_count>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2012-03-22 08:53:40 -0700</bug_when>
    <thetext>committed r111639: http://trac.webkit.org/changeset/111639</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618938</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-05-08 16:34:50 -0700</bug_when>
    <thetext>This caused bug 85929.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128366</attachid>
            <date>2012-02-22 18:53:08 -0800</date>
            <delta_ts>2012-03-19 19:12:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Remove-complexity-of-updateAnimationTimer.patch</filename>
            <type>text/plain</type>
            <size>3729</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSBjMTA5NTU3ZWI0MTYxZmY4OGJmNGE5MjI4NGY1YzlkYWU3YjE0YmUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9Ac2lzYS5zYW1zdW5nLmNv
bT4KRGF0ZTogV2VkLCAyMiBGZWIgMjAxMiAxODoyNjozNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hd
IFJlbW92ZSBjb21wbGV4aXR5IG9mIHVwZGF0ZUFuaW1hdGlvblRpbWVyCgotLS0KIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysr
KysrKysrKysrKwogLi4uL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHAgfCAgIDE1ICsrKysrKysrKysrKysrLQogLi4uL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmggICAgfCAgICAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDMzIGlu
c2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDlmNDNlZDkuLjg4YTUy
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMi0yMiAgSWdvciBPbGl2ZWly
YSAgPGlnb3Iub0BzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAgIEV2ZXJ5IGNhbGwgdG8gUmVu
ZGVyT2JqZWN0OjpzZXRBbmltYXRhYmxlU3R5bGUoKSBpdGVyYXRlcyB0aHJvdWdoIGFsbCBtX2Nv
bXBvc2l0ZUFuaW1hdGlvbnM6IHBvdGVudGlhbGx5IE8oTl4yKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzgwMjUKKworICAgICAgICBUaGlzIHBhdGNo
cyBpbXBsZW1lbnRzIHVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIsIGl0IGp1c3QgY2hl
Y2tzIHRoZSB0aW1lVG9OZXh0U2VydmljZSBmb3IKKyAgICAgICAgdGhlIGN1cnJlbnQgUmVuZGVy
T2JqZWN0IHJlZHVjaW5nIHRoZSBhbW91bnQgb2YgaXRlcmF0aW9ucy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5k
ZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyOjp1cGRhdGVBbmlt
YXRpb25zKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZS5oOgorICAgICAgICAoQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUpOgorCiAyMDEyLTAy
LTIyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBDbGVhbiBidWlsZCBpcyBicm9rZW4gd2hlbiB1c2luZyBtYWtlIC1qCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCmlu
ZGV4IDgxMmQxOGQuLjQ5MzBiNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0xMTUsNiArMTE1LDE5IEBAIGRv
dWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9ucyhTZXRDaGFu
Z2VkIGNhbGxTZXRDaGFuZ2VkLyoKICAgICByZXR1cm4gdGltZVRvTmV4dFNlcnZpY2U7CiB9CiAK
K3ZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9y
UmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sKKyAgICBkb3VibGUgdGltZVRvTmV4
dFNlcnZpY2UgPSAwOworCisgICAgUmVmUHRyPENvbXBvc2l0ZUFuaW1hdGlvbj4gY29tcEFuaW0g
PSBtX2NvbXBvc2l0ZUFuaW1hdGlvbnMuZ2V0KHJlbmRlcmVyKTsKKyAgICBpZiAoIWNvbXBBbmlt
LT5zdXNwZW5kZWQoKSAmJiBjb21wQW5pbS0+aGFzQW5pbWF0aW9ucygpKQorICAgICAgICB0aW1l
VG9OZXh0U2VydmljZSA9IGNvbXBBbmltLT50aW1lVG9OZXh0U2VydmljZSgpOworCisgICAgaWYg
KG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5z
dG9wKCk7CisgICAgbV9hbmltYXRpb25UaW1lci5zdGFydE9uZVNob3QodGltZVRvTmV4dFNlcnZp
Y2UpOworfQorCiB2b2lkIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRp
b25UaW1lcihTZXRDaGFuZ2VkIGNhbGxTZXRDaGFuZ2VkLyogPSBEb05vdENhbGxTZXRDaGFuZ2Vk
Ki8pCiB7CiAgICAgZG91YmxlIHRpbWVUb05leHRTZXJ2aWNlID0gdXBkYXRlQW5pbWF0aW9ucyhj
YWxsU2V0Q2hhbmdlZCk7CkBAIC01MTcsNyArNTMwLDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHls
ZT4gQW5pbWF0aW9uQ29udHJvbGxlcjo6dXBkYXRlQW5pbWF0aW9ucyhSZW5kZXJPYmplY3QqIHJl
bmQKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IGJsZW5kZWRTdHlsZSA9IHJlbmRlcmVyQW5pbWF0
aW9ucy0+YW5pbWF0ZShyZW5kZXJlciwgb2xkU3R5bGUsIG5ld1N0eWxlKTsKIAogICAgIGlmIChy
ZW5kZXJlci0+cGFyZW50KCkgfHwgbmV3U3R5bGUtPmFuaW1hdGlvbnMoKSB8fCAob2xkU3R5bGUg
JiYgb2xkU3R5bGUtPmFuaW1hdGlvbnMoKSkpIHsKLSAgICAgICAgbV9kYXRhLT51cGRhdGVBbmlt
YXRpb25UaW1lcigpOworICAgICAgICBtX2RhdGEtPnVwZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVu
ZGVyZXIocmVuZGVyZXIpOwogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKICAg
ICAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IHJlbmRlcmVyLT5kb2N1bWVudCgpLT52aWV3KCkp
CiAgICAgICAgICAgICB2aWV3LT5zY2hlZHVsZUFuaW1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
LmgKaW5kZXggMmMyMDUxZS4uOGYzZWU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCkBAIC0xMDgs
NiArMTA4LDggQEAgcHVibGljOgogICAgIHZvaWQgYW5pbWF0aW9uV2lsbEJlUmVtb3ZlZChBbmlt
YXRpb25CYXNlKik7CiAKICAgICBQYXNzUmVmUHRyPFdlYktpdEFuaW1hdGlvbkxpc3Q+IGFuaW1h
dGlvbnNGb3JSZW5kZXJlcihSZW5kZXJPYmplY3QqKSBjb25zdDsKKworICAgIHZvaWQgdXBkYXRl
QW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcihSZW5kZXJPYmplY3QqKTsKICAgICAKIHByaXZhdGU6
CiAgICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKFRpbWVyPEFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlPiopOwotLSAKMS43LjUuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>132302</attachid>
            <date>2012-03-16 09:46:53 -0700</date>
            <delta_ts>2012-03-16 09:46:53 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>safari.htm</filename>
            <type>text/html</type>
            <size>1886</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
IiB4bWw6bGFuZz0iZW4tVVMiIGxhbmc9ImVuLVVTIj4KPGhlYWQ+CiAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgoKICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5jbGFzc05hbWUgPSAiZ28iCiAgICAgICAgfSwgZmFsc2UpOwogICAgPC9zY3JpcHQ+CjxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+CgojcmVkLCAjZ3JlZW4sICNibHVlIHsgcG9zaXRpb246IGFic29s
dXRlOyB0b3A6IDQwJTsgbGVmdDogNTAlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IG9w
YWNpdHk6IDB9CgojcmVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CgojZ3JlZW4geyBiYWNr
Z3JvdW5kLWNvbG9yOiBncmVlbjsgfQoKI2JsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyB9
CgpALXdlYmtpdC1rZXlmcmFtZXMgcmVkIHsKCWZyb20gewoJCW9wYWNpdHk6IDA7CgkJLXdlYmtp
dC10cmFuc2Zvcm06IHNjYWxlKDMpOwoJfQoJMjIlIHsKCQlvcGFjaXR5OiAxOwoJCS13ZWJraXQt
dHJhbnNmb3JtOiBzY2FsZSgxLjEpOwoJfQoJMzAlIHsKCQlvcGFjaXR5OiAxOwoJCS13ZWJraXQt
dHJhbnNmb3JtOiBzY2FsZSgxKTsKCX0KCTgyJSB7CgkJb3BhY2l0eTogMTsKCQktd2Via2l0LXRy
YW5zZm9ybTogc2NhbGUoMC45Mik7Cgl9Cgl0byB7CgkJb3BhY2l0eTogMDsKCQktd2Via2l0LXRy
YW5zZm9ybTogc2NhbGUoMC4yKTsKCX0KfQoKQC13ZWJraXQta2V5ZnJhbWVzIGdyZWVuIHsKCWZy
b20gewoJCW9wYWNpdHk6IDA7CgkJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIuNik7Cgl9Cgky
MCUgewoJCW9wYWNpdHk6IDE7CgkJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwoJfQoJNzcl
IHsKCQlvcGFjaXR5OiAxOwoJCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOwoJfQoJdG8g
ewoJCW9wYWNpdHk6IDA7CgkJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSk7Cgl9Cn0KCi8q
IHNhZmFyaSBrZXlmcmFtZXMgKi8KQC13ZWJraXQta2V5ZnJhbWVzIGJsdWUgewoJZnJvbSB7CgkJ
LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAw
OwoJfQoJMjAlIHsKCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgICAgICAgICAg
ICAgIG9wYWNpdHk6IDE7Cgl9Cgk4NCUgewoJCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjYp
OwogICAgICAgICAgICAgICAgb3BhY2l0eTogMTsKCX0KCXRvIHsKCQktd2Via2l0LXRyYW5zZm9y
bTogc2NhbGUoMC4yKTsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7Cgl9Cn0KCmJvZHkuZ28g
I3JlZCB7Cgktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41czsKCS13ZWJraXQtYW5pbWF0aW9u
LWR1cmF0aW9uOiAxLjdzOwoJLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcmVkOwp9Cgpib2R5Lmdv
ICNncmVlbiB7Cgktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4yczsKCS13ZWJraXQtYW5pbWF0
aW9uLWR1cmF0aW9uOiAxLjVzOwoJLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZ3JlZW47Cn0KCmJv
ZHkuZ28gI2JsdWUgewoJLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuN3M7Cgktd2Via2l0LWFu
aW1hdGlvbi1kdXJhdGlvbjogMS45czsKCS13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJsdWU7Cn0K
PC9zdHlsZT4KCjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgogICAgPGRp
diBpZD0iZ3JlZW4iPjwvZGl2PgogICAgPGRpdiBpZD0iYmx1ZSI+PC9kaXY+CjwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132744</attachid>
            <date>2012-03-19 19:12:17 -0700</date>
            <delta_ts>2012-03-22 08:53:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Every-call-to-RenderObject-setAnimatableStyle-iterat.patch</filename>
            <type>text/plain</type>
            <size>8392</size>
            <attacher name="Igor Trindade Oliveira">igor.oliveira</attacher>
            
              <data encoding="base64">RnJvbSAxNDE0Mzg1NmM0ZGU4YWIxMWMxZmNmZDAyYjNkZThhYTZmYWY4MmNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBJZ29yIE9saXZlaXJhIDxpZ29yLm9Ac2lzYS5zYW1zdW5nLmNv
bT4KRGF0ZTogTW9uLCAxOSBNYXIgMjAxMiAxOTowOToyNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hd
IEV2ZXJ5IGNhbGwgdG8gUmVuZGVyT2JqZWN0OjpzZXRBbmltYXRhYmxlU3R5bGUoKSBpdGVyYXRl
cwogdGhyb3VnaCBhbGwgbV9jb21wb3NpdGVBbmltYXRpb25zOiBwb3RlbnRpYWxseSBPKE5eMikK
Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDEwICsrCiAuLi4vYW5pbWF0aW9uLXdlbGNvbWUtc2FmYXJpLWV4cGVjdGVkLnR4dCAgICAg
ICAgICB8ICAgIDEgKwogLi4uL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXdlbGNvbWUtc2FmYXJpLmh0
bWwgICAgICAgfCAgMTM5ICsrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTkgKysrCiAuLi4vV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcCB8ICAgMjIgKysrLQogLi4uL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggICAgfCAgICAyICsKIDYg
ZmlsZXMgY2hhbmdlZCwgMTkyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRpb24td2VsY29tZS1zYWZh
cmktZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYW5pbWF0aW9u
cy9hbmltYXRpb24td2VsY29tZS1zYWZhcmkuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMWMyNzEwLi44NjdkOWEz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDMtMTkgIElnb3IgT2xpdmVpcmEgIDxpZ29y
Lm9Ac2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBFdmVyeSBjYWxsIHRvIFJlbmRlck9iamVj
dDo6c2V0QW5pbWF0YWJsZVN0eWxlKCkgaXRlcmF0ZXMgdGhyb3VnaCBhbGwgbV9jb21wb3NpdGVB
bmltYXRpb25zOiBwb3RlbnRpYWxseSBPKE5eMikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MDI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBhbmltYXRpb25zL2FuaW1hdGlvbi13ZWxjb21lLXNhZmFy
aS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvYW5pbWF0aW9uLXdl
bGNvbWUtc2FmYXJpLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE3ICBOaWtvbGFzIFppbW1lcm1h
bm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIEVuYWJsZSBhbmltVmFsIHN1cHBv
cnQgZm9yIFNWR051bWJlck9wdGlvbmFsTnVtYmVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
bmltYXRpb25zL2FuaW1hdGlvbi13ZWxjb21lLXNhZmFyaS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hbmltYXRpb25zL2FuaW1hdGlvbi13ZWxjb21lLXNhZmFyaS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM0MzIyZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXdlbGNvbWUtc2FmYXJpLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTIHN0YXJ0IG9mIHRoZSBhbmltYXRpb24KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXdlbGNvbWUtc2FmYXJpLmh0
bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2FuaW1hdGlvbi13ZWxjb21lLXNhZmFyaS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZmM2NjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2FuaW1hdGlvbi13ZWxjb21lLXNhZmFyaS5o
dG1sCkBAIC0wLDAgKzEsMTM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4tVVMiIGxhbmc9ImVuLVVTIj4K
KzxoZWFkPgorCis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCisjcmVkLCAjZ3JlZW4sICNibHVl
IHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IG9wYWNp
dHk6IDB9CisKKyNyZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKworI2dyZWVuIHsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKworI2JsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVl
OyB9CisKK0Atd2Via2l0LWtleWZyYW1lcyByZWQgeworCWZyb20geworCQlvcGFjaXR5OiAwOwor
CQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMyk7CisJfQorCTIyJSB7CisJCW9wYWNpdHk6IDE7
CisJCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOworCX0KKwkzMCUgeworCQlvcGFjaXR5
OiAxOworCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CisJfQorCTgyJSB7CisJCW9wYWNp
dHk6IDE7CisJCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTsKKwl9CisJdG8geworCQlv
cGFjaXR5OiAwOworCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTsKKwl9Cit9CisKK0At
d2Via2l0LWtleWZyYW1lcyBncmVlbiB7CisJZnJvbSB7CisJCW9wYWNpdHk6IDA7CisJCS13ZWJr
aXQtdHJhbnNmb3JtOiBzY2FsZSgyLjYpOworCX0KKwkyMCUgeworCQlvcGFjaXR5OiAxOworCQkt
d2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CisJfQorCTc3JSB7CisJCW9wYWNpdHk6IDE7CisJ
CS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOworCX0KKwl0byB7CisJCW9wYWNpdHk6IDA7
CisJCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpOworCX0KK30KKworLyogc2FmYXJpIGtl
eWZyYW1lcyAqLworQC13ZWJraXQta2V5ZnJhbWVzIGJsdWUgeworCWZyb20geworCQktd2Via2l0
LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKKyAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOworCX0K
KwkyMCUgeworCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsKKyAgICAgICAgICAgICAg
ICBvcGFjaXR5OiAxOworCX0KKwk4NCUgeworCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42
KTsKKyAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOworCX0KKwl0byB7CisJCS13ZWJraXQtdHJh
bnNmb3JtOiBzY2FsZSgwLjIpOworICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CisJfQorfQor
Citib2R5LmdvICNyZWQgeworCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjFzOworCS13ZWJr
aXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKKwktd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByZWQ7
Cit9CisKK2JvZHkuZ28gI2dyZWVuIHsKKwktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC43czsK
Kwktd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7CisJLXdlYmtpdC1hbmltYXRpb24tbmFt
ZTogZ3JlZW47Cit9CisKK2JvZHkuZ28gI2JsdWUgeworCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5
OiAxLjJzOworCS13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKKwktd2Via2l0LWFuaW1h
dGlvbi1uYW1lOiBibHVlOworfQorPC9zdHlsZT4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgdmFy
IGFuaW1hdGlvblN0YXJ0ZWQgPSBmYWxzZTsKKyAgICAKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KGV2ZW50KXsKKyAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAgICAgaWYgKGFuaW1hdGlvblN0YXJ0
ZWQpCisgICAgICAgICAgICByZXN1bHQgPSAiUEFTUyBzdGFydCBvZiB0aGUgYW5pbWF0aW9uIjsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gIkZBSUwgc3RhcnQgb2YgdGhlIGFu
aW1hdGlvbiI7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5l
ckhUTUwgPSByZXN1bHQ7CisKKyAgICB9LCAyMDApOworCisgICAgZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigid2Via2l0QW5pbWF0aW9uU3RhcnQiLCBmdW5jdGlvbihldmVudCl7CisgICAgICAg
IGFuaW1hdGlvblN0YXJ0ZWQgPSB0cnVlOworICAgIH0sIGZhbHNlKTsKKworICAgIGRvY3VtZW50
LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdEFuaW1hdGlvbkVuZCIsIGZ1bmN0aW9uKGV2ZW50KSB7
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfSwgZmFsc2UpOworCisgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIGRv
Y3VtZW50LmJvZHkuY2xhc3NOYW1lID0gImdvIgorICAgIH0sIGZhbHNlKTsKKworPC9zY3JpcHQ+
CisKKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgPGRpdiBp
ZD0iZ3JlZW4iPjwvZGl2PgorICAgIDxkaXYgaWQ9ImJsdWUiPjwvZGl2PgorPGRpdiBpZD0icmVz
dWx0Ij4KKzwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4
NzkwYWE2Li4yOGRjN2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDMtMTkg
IElnb3IgT2xpdmVpcmEgIDxpZ29yLm9Ac2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBFdmVy
eSBjYWxsIHRvIFJlbmRlck9iamVjdDo6c2V0QW5pbWF0YWJsZVN0eWxlKCkgaXRlcmF0ZXMgdGhy
b3VnaCBhbGwgbV9jb21wb3NpdGVBbmltYXRpb25zOiBwb3RlbnRpYWxseSBPKE5eMikKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MDI1CisKKyAgICAg
ICAgVGhpcyBwYXRjaHMgaW1wbGVtZW50cyB1cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVy
LCBpdCBqdXN0IGNoZWNrcyB0aGUgdGltZVRvTmV4dFNlcnZpY2UgZm9yCisgICAgICAgIHRoZSBj
dXJyZW50IFJlbmRlck9iamVjdCByZWR1Y2luZyB0aGUgYW1vdW50IG9mIGl0ZXJhdGlvbnMuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogYW5p
bWF0aW9ucy9hbmltYXRpb24td2VsY29tZS1zYWZhcmkuaHRtbAorCisgICAgICAgICogcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcik6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xs
ZXI6OnVwZGF0ZUFuaW1hdGlvbnMpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmg6CisgICAgICAgIChBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZSk6CisKIDIwMTItMDMtMTcgIEpvZSBUaG9tYXMgIDxqb2V0aG9tYXNAbW90b3JvbGEuY29tPgog
CiAgICAgICAgIG1vdmUgY2FsYypWYWx1ZSBmdW5jdGlvbnMgb3V0IGZyb20gTGVuZ3RoIChhbmQg
cGxhdGZvcm0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDgxMmQxOGQuLjBmMjMzMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwCkBA
IC0xMTUsNiArMTE1LDI2IEBAIGRvdWJsZSBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBk
YXRlQW5pbWF0aW9ucyhTZXRDaGFuZ2VkIGNhbGxTZXRDaGFuZ2VkLyoKICAgICByZXR1cm4gdGlt
ZVRvTmV4dFNlcnZpY2U7CiB9CiAKK3ZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVw
ZGF0ZUFuaW1hdGlvblRpbWVyRm9yUmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKK3sK
KyAgICBzdGF0aWMgZG91YmxlIHByZXZpb3VzVGltZVRvTmV4dFNlcnZpY2UgPSAwOworICAgIGRv
dWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IDA7CisKKyAgICBSZWZQdHI8Q29tcG9zaXRlQW5pbWF0
aW9uPiBjb21wQW5pbSA9IG1fY29tcG9zaXRlQW5pbWF0aW9ucy5nZXQocmVuZGVyZXIpOworICAg
IGlmICghY29tcEFuaW0tPnN1c3BlbmRlZCgpICYmIGNvbXBBbmltLT5oYXNBbmltYXRpb25zKCkp
CisgICAgICAgIHRpbWVUb05leHRTZXJ2aWNlID0gY29tcEFuaW0tPnRpbWVUb05leHRTZXJ2aWNl
KCk7CisKKyAgICBpZiAobV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKSB7CisgICAgICAgIGlm
IChwcmV2aW91c1RpbWVUb05leHRTZXJ2aWNlIDwgdGltZVRvTmV4dFNlcnZpY2UpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdG9wKCk7CisgICAgfQor
CisgICAgcHJldmlvdXNUaW1lVG9OZXh0U2VydmljZSA9IHRpbWVUb05leHRTZXJ2aWNlOworICAg
IG1fYW5pbWF0aW9uVGltZXIuc3RhcnRPbmVTaG90KHRpbWVUb05leHRTZXJ2aWNlKTsKK30KKwog
dm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlQW5pbWF0aW9uVGltZXIoU2V0
Q2hhbmdlZCBjYWxsU2V0Q2hhbmdlZC8qID0gRG9Ob3RDYWxsU2V0Q2hhbmdlZCovKQogewogICAg
IGRvdWJsZSB0aW1lVG9OZXh0U2VydmljZSA9IHVwZGF0ZUFuaW1hdGlvbnMoY2FsbFNldENoYW5n
ZWQpOwpAQCAtNTE3LDcgKzUzNyw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IEFuaW1hdGlv
bkNvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnMoUmVuZGVyT2JqZWN0KiByZW5kCiAgICAgUmVm
UHRyPFJlbmRlclN0eWxlPiBibGVuZGVkU3R5bGUgPSByZW5kZXJlckFuaW1hdGlvbnMtPmFuaW1h
dGUocmVuZGVyZXIsIG9sZFN0eWxlLCBuZXdTdHlsZSk7CiAKICAgICBpZiAocmVuZGVyZXItPnBh
cmVudCgpIHx8IG5ld1N0eWxlLT5hbmltYXRpb25zKCkgfHwgKG9sZFN0eWxlICYmIG9sZFN0eWxl
LT5hbmltYXRpb25zKCkpKSB7Ci0gICAgICAgIG1fZGF0YS0+dXBkYXRlQW5pbWF0aW9uVGltZXIo
KTsKKyAgICAgICAgbV9kYXRhLT51cGRhdGVBbmltYXRpb25UaW1lckZvclJlbmRlcmVyKHJlbmRl
cmVyKTsKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiAgICAgICAgIGlmIChG
cmFtZVZpZXcqIHZpZXcgPSByZW5kZXJlci0+ZG9jdW1lbnQoKS0+dmlldygpKQogICAgICAgICAg
ICAgdmlldy0+c2NoZWR1bGVBbmltYXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDJj
MjA1MWUuLjhmM2VlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtMTA4LDYgKzEwOCw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIGFuaW1hdGlvbldpbGxCZVJlbW92ZWQoQW5pbWF0aW9uQmFzZSop
OwogCiAgICAgUGFzc1JlZlB0cjxXZWJLaXRBbmltYXRpb25MaXN0PiBhbmltYXRpb25zRm9yUmVu
ZGVyZXIoUmVuZGVyT2JqZWN0KikgY29uc3Q7CisKKyAgICB2b2lkIHVwZGF0ZUFuaW1hdGlvblRp
bWVyRm9yUmVuZGVyZXIoUmVuZGVyT2JqZWN0Kik7CiAgICAgCiBwcml2YXRlOgogICAgIHZvaWQg
YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZT4qKTsK
LS0gCjEuNy41LjQKCg==
</data>
<flag name="review"
          id="136475"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>