<?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>30501</bug_id>
          
          <creation_ts>2009-10-18 21:10:41 -0700</creation_ts>
          <short_desc>Flash at end of opacity/transform transition sometimes</short_desc>
          <delta_ts>2009-10-19 17:39:59 -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>Mac</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarrin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>155556</commentid>
    <comment_count>0</comment_count>
      <attachid>41393</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-18 21:10:41 -0700</bug_when>
    <thetext>Created attachment 41393
Testcase

In some content, there&apos;s a noticeable flash sometimes when a transform or opacity transition ends sometimes. I&apos;m having a hard time making a reduced testcase, but the attached shows it sometimes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155557</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-18 21:11:55 -0700</bug_when>
    <thetext>The flash happens because we remove the transition on the GraphicsLayer before we set the final opacity/transform style, so there&apos;s a window where it renders with the original opacity/transform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155558</commentid>
    <comment_count>2</comment_count>
      <attachid>41394</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-18 21:12:38 -0700</bug_when>
    <thetext>Created attachment 41394
Proto patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155680</commentid>
    <comment_count>3</comment_count>
      <attachid>41394</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2009-10-19 07:38:02 -0700</bug_when>
    <thetext>Comment on attachment 41394
Proto patch

&gt; diff --git a/WebCore/rendering/RenderLayerBacking.cpp b/WebCore/rendering/RenderLayerBacking.cpp
&gt; index 4c82843..d7248d4 100644
&gt; --- a/WebCore/rendering/RenderLayerBacking.cpp
&gt; +++ b/WebCore/rendering/RenderLayerBacking.cpp
&gt; @@ -89,8 +89,8 @@ void RenderLayerBacking::createGraphicsLayer()
&gt;          m_graphicsLayer-&gt;setName(&quot;Anonymous Node&quot;);
&gt;  #endif  // NDEBUG
&gt;  
&gt; -    updateLayerOpacity();
&gt; -    updateLayerTransform();
&gt; +    updateLayerOpacity(renderer()-&gt;style());
&gt; +    updateLayerTransform(renderer()-&gt;style());
&gt;  }
&gt;  
&gt;  void RenderLayerBacking::destroyGraphicsLayer()
&gt; @@ -104,15 +104,13 @@ void RenderLayerBacking::destroyGraphicsLayer()
&gt;      m_maskLayer = 0;
&gt;  }
&gt;  
&gt; -void RenderLayerBacking::updateLayerOpacity()
&gt; +void RenderLayerBacking::updateLayerOpacity(const RenderStyle* style)
&gt;  {
&gt; -    m_graphicsLayer-&gt;setOpacity(compositingOpacity(renderer()-&gt;opacity()));
&gt; +    m_graphicsLayer-&gt;setOpacity(compositingOpacity(style-&gt;opacity()));
&gt;  }

I don&apos;t see how these two are different? How is passing in renderer()-&gt;style() and setting the opacity to renderer()-&gt;style() is different?

What is the fix you&apos;re doing here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155681</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-19 07:40:07 -0700</bug_when>
    <thetext>I just pass in style there so I can use toStyle lower down. Look at the rest of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155985</commentid>
    <comment_count>5</comment_count>
      <attachid>41462</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-19 17:03:16 -0700</bug_when>
    <thetext>Created attachment 41462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156002</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-10-19 17:39:59 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/49823</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>41393</attachid>
            <date>2009-10-18 21:10:41 -0700</date>
            <delta_ts>2009-10-18 21:10:41 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>transition-stutter.html</filename>
            <type>text/html</type>
            <size>1609</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFPgoKPGh0bWw+CjxoZWFkPgogIDx0aXRsZT5UcmFuc2l0aW9uIEZsYXNoPC90aXRs
ZT4KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgogICAgLmJveCB7CiAg
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgbWFyZ2luOiAxMHB4OwogICAgICB3aWR0aDog
MjAwcHg7CiAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7
CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOwogICAgICBvcGFjaXR5OiAw
LjE7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBsaW5lYXI7CiAgICB9CiAg
ICAKICAgIC5vcGFxdWUgewogICAgICBvcGFjaXR5OiAxOwogICAgfQogICAgCiAgICAuZmFkZXIg
ewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IDMwMHB4OwogICAgICB0b3A6
IDEwMHB4OwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgIGJv
cmRlcjogMTBweCBzb2xpZCByZWQ7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIC13ZWJraXQtdHJh
bnNmb3JtOiBzY2FsZSgwLjkpOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJh
bnNmb3JtIDhzLCBvcGFjaXR5IDhzOwogICAgfQogICAgCiAgICAjYmFjayB7CiAgICAgIC13ZWJr
aXQtYm94LXNoYWRvdzogMCAwIDIwcHggYmxhY2s7CiAgICB9CiAgICAuZmFkZXIuYmlnIHsKICAg
ICAgb3BhY2l0eTogMTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7CiAgICB9
CiAgPC9zdHlsZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRm
LTgiPgogICAgCiAgICB2YXIgY3VyQm94ID0gMDsKICAgIGZ1bmN0aW9uIGZhZGVCb3goKQogICAg
ewogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JyArIGN1ckJveCkuc3R5bGUub3Bh
Y2l0eSA9IDE7CiAgICAgICsrY3VyQm94OwogICAgICAKICAgICAgaWYgKGN1ckJveCA8IDYpCiAg
ICAgICAgd2luZG93LnNldFRpbWVvdXQoZmFkZUJveCwgMTAwMCk7CiAgICB9CiAgICAKICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CiAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdiYWNrJykuY2xhc3NOYW1lID0gJ2ZhZGVyIGJpZyc7CiAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcm9udCcpLmNsYXNzTmFtZSA9ICdmYWRlciBiaWcnOwog
ICAgICBmYWRlQm94KCk7CiAgICB9LCBmYWxzZSk7CiAgPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+
Cgo8ZGl2IGlkPSJiYWNrIiBjbGFzcz0iZmFkZXIiPjwvZGl2PgoKPGRpdiBpZD0iYm94MCIgY2xh
c3M9ImJveCI+PC9kaXY+CjxkaXYgaWQ9ImJveDEiIGNsYXNzPSJib3giPjwvZGl2Pgo8ZGl2IGlk
PSJib3gyIiBjbGFzcz0iYm94Ij48L2Rpdj4KPGRpdiBpZD0iYm94MyIgY2xhc3M9ImJveCI+PC9k
aXY+CjxkaXYgaWQ9ImJveDQiIGNsYXNzPSJib3giPjwvZGl2Pgo8ZGl2IGlkPSJib3g1IiBjbGFz
cz0iYm94Ij48L2Rpdj4KCjxkaXYgaWQ9ImZyb250IiBjbGFzcz0iZmFkZXIiPjwvZGl2PgoKPC9i
b2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41394</attachid>
            <date>2009-10-18 21:12:38 -0700</date>
            <delta_ts>2009-10-19 17:03:16 -0700</delta_ts>
            <desc>Proto patch</desc>
            <filename>30501_proto-patch.txt</filename>
            <type>text/plain</type>
            <size>4565</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IDRjODI4NDMuLmQ3
MjQ4ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtODks
OCArODksOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6Y3JlYXRlR3JhcGhpY3NMYXllcigp
CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0TmFtZSgiQW5vbnltb3VzIE5vZGUiKTsKICNl
bmRpZiAgLy8gTkRFQlVHCiAKLSAgICB1cGRhdGVMYXllck9wYWNpdHkoKTsKLSAgICB1cGRhdGVM
YXllclRyYW5zZm9ybSgpOworICAgIHVwZGF0ZUxheWVyT3BhY2l0eShyZW5kZXJlcigpLT5zdHls
ZSgpKTsKKyAgICB1cGRhdGVMYXllclRyYW5zZm9ybShyZW5kZXJlcigpLT5zdHlsZSgpKTsKIH0K
IAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVyKCkKQEAgLTEw
NCwxNSArMTA0LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0cm95R3JhcGhpY3NM
YXllcigpCiAgICAgbV9tYXNrTGF5ZXIgPSAwOwogfQogCi12b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6dXBkYXRlTGF5ZXJPcGFjaXR5KCkKK3ZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVM
YXllck9wYWNpdHkoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIG1fZ3JhcGhpY3NM
YXllci0+c2V0T3BhY2l0eShjb21wb3NpdGluZ09wYWNpdHkocmVuZGVyZXIoKS0+b3BhY2l0eSgp
KSk7CisgICAgbV9ncmFwaGljc0xheWVyLT5zZXRPcGFjaXR5KGNvbXBvc2l0aW5nT3BhY2l0eShz
dHlsZS0+b3BhY2l0eSgpKSk7CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVM
YXllclRyYW5zZm9ybSgpCit2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlTGF5ZXJUcmFu
c2Zvcm0oY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQogewotICAgIFJlbmRlclN0eWxlKiBzdHls
ZSA9IHJlbmRlcmVyKCktPnN0eWxlKCk7Ci0KICAgICAvLyBGSVhNRTogVGhpcyBjb3VsZCB1c2Ug
bV9vd25pbmdMYXllci0+dHJhbnNmb3JtKCksIGJ1dCB0aGF0IGN1cnJlbnRseSBoYXMgdHJhbnNm
b3JtLW9yaWdpbgogICAgIC8vIGJha2VkIGludG8gaXQsIGFuZCB3ZSBkb24ndCB3YW50IHRoYXQu
CiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggdDsKQEAgLTIxOSwxMSArMjE3LDExIEBAIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkoKQogICAgIC8v
IFNldCB0cmFuc2Zvcm0gcHJvcGVydHksIGlmIGl0IGlzIG5vdCBhbmltYXRpbmcuIFdlIGhhdmUg
dG8gZG8gdGhpcyBoZXJlIGJlY2F1c2UgdGhlIHRyYW5zZm9ybQogICAgIC8vIGlzIGFmZmVjdGVk
IGJ5IHRoZSBsYXllciBkaW1lbnNpb25zLgogICAgIGlmICghcmVuZGVyZXIoKS0+YW5pbWF0aW9u
KCktPmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKHJlbmRlcmVyKCksIENTU1Byb3BlcnR5
V2Via2l0VHJhbnNmb3JtKSkKLSAgICAgICAgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0oKTsKKyAgICAg
ICAgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0ocmVuZGVyZXIoKS0+c3R5bGUoKSk7CiAKICAgICAvLyBT
ZXQgb3BhY2l0eSwgaWYgaXQgaXMgbm90IGFuaW1hdGluZy4KICAgICBpZiAoIXJlbmRlcmVyKCkt
PmFuaW1hdGlvbigpLT5pc0FuaW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcihyZW5kZXJlcigpLCBD
U1NQcm9wZXJ0eU9wYWNpdHkpKQotICAgICAgICB1cGRhdGVMYXllck9wYWNpdHkoKTsKKyAgICAg
ICAgdXBkYXRlTGF5ZXJPcGFjaXR5KHJlbmRlcmVyKCktPnN0eWxlKCkpOwogICAgIAogICAgIFJl
bmRlclN0eWxlKiBzdHlsZSA9IHJlbmRlcmVyKCktPnN0eWxlKCk7CiAgICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRQcmVzZXJ2ZXMzRChzdHlsZS0+dHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9y
bVN0eWxlM0RQcmVzZXJ2ZTNEKTsKQEAgLTEwODIsOCArMTA4MCwxMSBAQCBib29sIFJlbmRlckxh
eWVyQmFja2luZzo6c3RhcnRUcmFuc2l0aW9uKGRvdWJsZSBiZWdpblRpbWUsIGludCBwcm9wZXJ0
eSwgY29uc3QgUgogICAgICAgICAgICAgb3BhY2l0eVZlY3Rvci5pbnNlcnQobmV3IEZsb2F0QW5p
bWF0aW9uVmFsdWUoMCwgY29tcG9zaXRpbmdPcGFjaXR5KGZyb21TdHlsZS0+b3BhY2l0eSgpKSkp
OwogICAgICAgICAgICAgb3BhY2l0eVZlY3Rvci5pbnNlcnQobmV3IEZsb2F0QW5pbWF0aW9uVmFs
dWUoMSwgY29tcG9zaXRpbmdPcGFjaXR5KHRvU3R5bGUtPm9wYWNpdHkoKSkpKTsKICAgICAgICAg
ICAgIC8vIFRoZSBib3hTaXplIHBhcmFtIGlzIG9ubHkgdXNlZCBmb3IgdHJhbnNmb3JtIGFuaW1h
dGlvbnMgKHdoaWNoIGNhbiBvbmx5IHJ1biBvbiBSZW5kZXJCb3hlcyksIHNvIHdlIHBhc3MgYW4g
ZW1wdHkgc2l6ZSBoZXJlLgotICAgICAgICAgICAgaWYgKG1fZ3JhcGhpY3NMYXllci0+YWRkQW5p
bWF0aW9uKG9wYWNpdHlWZWN0b3IsIEludFNpemUoKSwgb3BhY2l0eUFuaW0sIFN0cmluZygpLCBi
ZWdpblRpbWUpKQorICAgICAgICAgICAgaWYgKG1fZ3JhcGhpY3NMYXllci0+YWRkQW5pbWF0aW9u
KG9wYWNpdHlWZWN0b3IsIEludFNpemUoKSwgb3BhY2l0eUFuaW0sIFN0cmluZygpLCBiZWdpblRp
bWUpKSB7CisgICAgICAgICAgICAgICAgLy8gVG8gZW5zdXJlIHRoYXQgdGhlIGNvcnJlY3Qgb3Bh
Y2l0eSBpcyB2aXNpYmxlIHdoZW4gdGhlIGFuaW1hdGlvbiBlbmRzLCBhbHNvIHNldCB0aGUgZmlu
YWwgb3BhY2l0eS4KKyAgICAgICAgICAgICAgICB1cGRhdGVMYXllck9wYWNpdHkodG9TdHlsZSk7
CiAgICAgICAgICAgICAgICAgZGlkQW5pbWF0ZSA9IHRydWU7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTEwOTMsOCArMTA5NCwxMSBAQCBib29sIFJlbmRlckxheWVyQmFj
a2luZzo6c3RhcnRUcmFuc2l0aW9uKGRvdWJsZSBiZWdpblRpbWUsIGludCBwcm9wZXJ0eSwgY29u
c3QgUgogICAgICAgICAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QgdHJhbnNmb3JtVmVjdG9yKEFuaW1h
dGVkUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pOwogICAgICAgICAgICAgdHJhbnNmb3JtVmVjdG9y
Lmluc2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUoMCwgJmZyb21TdHlsZS0+dHJhbnNm
b3JtKCkpKTsKICAgICAgICAgICAgIHRyYW5zZm9ybVZlY3Rvci5pbnNlcnQobmV3IFRyYW5zZm9y
bUFuaW1hdGlvblZhbHVlKDEsICZ0b1N0eWxlLT50cmFuc2Zvcm0oKSkpOwotICAgICAgICAgICAg
aWYgKG1fZ3JhcGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKHRyYW5zZm9ybVZlY3RvciwgdG9SZW5k
ZXJCb3gocmVuZGVyZXIoKSktPmJvcmRlckJveFJlY3QoKS5zaXplKCksIHRyYW5zZm9ybUFuaW0s
IFN0cmluZygpLCBiZWdpblRpbWUpKQorICAgICAgICAgICAgaWYgKG1fZ3JhcGhpY3NMYXllci0+
YWRkQW5pbWF0aW9uKHRyYW5zZm9ybVZlY3RvciwgdG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPmJv
cmRlckJveFJlY3QoKS5zaXplKCksIHRyYW5zZm9ybUFuaW0sIFN0cmluZygpLCBiZWdpblRpbWUp
KSB7CisgICAgICAgICAgICAgICAgLy8gVG8gZW5zdXJlIHRoYXQgdGhlIGNvcnJlY3QgdHJhbnNm
b3JtIGlzIHZpc2libGUgd2hlbiB0aGUgYW5pbWF0aW9uIGVuZHMsIGFsc28gc2V0IHRoZSBmaW5h
bCBvcGFjaXR5LgorICAgICAgICAgICAgICAgIHVwZGF0ZUxheWVyVHJhbnNmb3JtKHRvU3R5bGUp
OwogICAgICAgICAgICAgICAgIGRpZEFuaW1hdGUgPSB0cnVlOworICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4
IDhmOTVhOTQuLjE3YmNhZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5o
CkBAIC0xNDAsOCArMTQwLDggQEAgcHJpdmF0ZToKICAgICAvLyBSZXN1bHQgaXMgcGVyc3BlY3Rp
dmUgb3JpZ2luIGluIHBpeGVscy4KICAgICBGbG9hdFBvaW50IGNvbXB1dGVQZXJzcGVjdGl2ZU9y
aWdpbihjb25zdCBJbnRSZWN0JiBib3JkZXJCb3gpIGNvbnN0OwogCi0gICAgdm9pZCB1cGRhdGVM
YXllck9wYWNpdHkoKTsKLSAgICB2b2lkIHVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7CisgICAgdm9p
ZCB1cGRhdGVMYXllck9wYWNpdHkoY29uc3QgUmVuZGVyU3R5bGUqKTsKKyAgICB2b2lkIHVwZGF0
ZUxheWVyVHJhbnNmb3JtKGNvbnN0IFJlbmRlclN0eWxlKik7CiAKICAgICAvLyBSZXR1cm4gdGhl
IG9wYWNpdHkgdmFsdWUgdGhhdCB0aGlzIGxheWVyIHNob3VsZCB1c2UgZm9yIGNvbXBvc2l0aW5n
LgogICAgIGZsb2F0IGNvbXBvc2l0aW5nT3BhY2l0eShmbG9hdCByZW5kZXJlck9wYWNpdHkpIGNv
bnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41462</attachid>
            <date>2009-10-19 17:03:16 -0700</date>
            <delta_ts>2009-10-19 17:32:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>30501_patch.txt</filename>
            <type>text/plain</type>
            <size>5959</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTQwZmQ0Ni4uMzk0YTYxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0xMC0xOSAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGbGFzaCBhdCBlbmQgb2Ygb3BhY2l0eS90cmFuc2Zvcm0gdHJh
bnNpdGlvbiBzb21ldGltZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTMwNTAxCisgICAgICAgIAorICAgICAgICBXaGVuIGEgdHJhbnNpdGlvbiBmaW5p
c2hlcywgdGhlcmUgd2luZG93IG9mIHRpbWUgYmV0d2VlbiB3aGVuIHRoZSBhbmltYXRpb24gaXMK
KyAgICAgICAgcmVtb3ZlZCwgYW5kIHRoZSBmaW5hbCBzdHlsZSBzZXQgb24gdGhlIEdyYXBoaWNz
TGF5ZXIuIFRoaXMgY2F1c2VkIHRoZSBsYXllciB0byByZXZlcnQKKyAgICAgICAgdG8gaXRzIG9s
ZCBhcHBlYXJhbmNlIGZvciBvbmUgb3IgdHdvIGZyYW1lcy4gVG8gYXZvaWQgdGhpcywgd2Ugc2V0
IHRoZSBmaW5hbAorICAgICAgICB0cmFuc2Zvcm0gb3Igb3BhY2l0eSBhdCB0aGUgc3RhcnQgb2Yg
dGhlIHRyYW5zaXRpb247IHdlIGtub3cgdGhhdCB0aGUgYW5pbWF0aW9uCisgICAgICAgIHdpbGwg
b3ZlcnJpZGUgdGhlIGZpbmFsIHZhbHVlIGZvciBhcyBsb25nIGFzIGl0cyBydW5uaW5nLgorICAg
ICAgICAKKyAgICAgICAgTm8gdGVzdCBiZWNhdXNlIHRoaXMgaXMgYSB2ZXJ5IHRyYW5zaWVudCBl
ZmZlY3QgdGhhdCBjYW4ndCBiZSBjYXB0dXJlZAorICAgICAgICBpbiBhIHRlc3QuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6Y3JlYXRlR3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUxheWVyT3BhY2l0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUxheWVyVHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21l
dHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6c3RhcnRUcmFuc2l0
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisKIDIwMDkt
MTAtMTkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5jcHAKaW5kZXggNGM4Mjg0My4uZDcyNDhkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwCkBAIC04OSw4ICs4OSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjpjcmVhdGVHcmFwaGljc0xheWVyKCkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRO
YW1lKCJBbm9ueW1vdXMgTm9kZSIpOwogI2VuZGlmICAvLyBOREVCVUcKIAotICAgIHVwZGF0ZUxh
eWVyT3BhY2l0eSgpOwotICAgIHVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7CisgICAgdXBkYXRlTGF5
ZXJPcGFjaXR5KHJlbmRlcmVyKCktPnN0eWxlKCkpOworICAgIHVwZGF0ZUxheWVyVHJhbnNmb3Jt
KHJlbmRlcmVyKCktPnN0eWxlKCkpOwogfQogCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6ZGVz
dHJveUdyYXBoaWNzTGF5ZXIoKQpAQCAtMTA0LDE1ICsxMDQsMTMgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVyKCkKICAgICBtX21hc2tMYXllciA9IDA7CiB9
CiAKLXZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVMYXllck9wYWNpdHkoKQordm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUxheWVyT3BhY2l0eShjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUpCiB7Ci0gICAgbV9ncmFwaGljc0xheWVyLT5zZXRPcGFjaXR5KGNvbXBvc2l0aW5nT3Bh
Y2l0eShyZW5kZXJlcigpLT5vcGFjaXR5KCkpKTsKKyAgICBtX2dyYXBoaWNzTGF5ZXItPnNldE9w
YWNpdHkoY29tcG9zaXRpbmdPcGFjaXR5KHN0eWxlLT5vcGFjaXR5KCkpKTsKIH0KIAotdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUxheWVyVHJhbnNmb3JtKCkKK3ZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVMYXllclRyYW5zZm9ybShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUp
CiB7Ci0gICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyZXIoKS0+c3R5bGUoKTsKLQogICAg
IC8vIEZJWE1FOiBUaGlzIGNvdWxkIHVzZSBtX293bmluZ0xheWVyLT50cmFuc2Zvcm0oKSwgYnV0
IHRoYXQgY3VycmVudGx5IGhhcyB0cmFuc2Zvcm0tb3JpZ2luCiAgICAgLy8gYmFrZWQgaW50byBp
dCwgYW5kIHdlIGRvbid0IHdhbnQgdGhhdC4KICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0OwpA
QCAtMjE5LDExICsyMTcsMTEgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBo
aWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgLy8gU2V0IHRyYW5zZm9ybSBwcm9wZXJ0eSwgaWYgaXQg
aXMgbm90IGFuaW1hdGluZy4gV2UgaGF2ZSB0byBkbyB0aGlzIGhlcmUgYmVjYXVzZSB0aGUgdHJh
bnNmb3JtCiAgICAgLy8gaXMgYWZmZWN0ZWQgYnkgdGhlIGxheWVyIGRpbWVuc2lvbnMuCiAgICAg
aWYgKCFyZW5kZXJlcigpLT5hbmltYXRpb24oKS0+aXNBbmltYXRpbmdQcm9wZXJ0eU9uUmVuZGVy
ZXIocmVuZGVyZXIoKSwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pKQotICAgICAgICB1cGRh
dGVMYXllclRyYW5zZm9ybSgpOworICAgICAgICB1cGRhdGVMYXllclRyYW5zZm9ybShyZW5kZXJl
cigpLT5zdHlsZSgpKTsKIAogICAgIC8vIFNldCBvcGFjaXR5LCBpZiBpdCBpcyBub3QgYW5pbWF0
aW5nLgogICAgIGlmICghcmVuZGVyZXIoKS0+YW5pbWF0aW9uKCktPmlzQW5pbWF0aW5nUHJvcGVy
dHlPblJlbmRlcmVyKHJlbmRlcmVyKCksIENTU1Byb3BlcnR5T3BhY2l0eSkpCi0gICAgICAgIHVw
ZGF0ZUxheWVyT3BhY2l0eSgpOworICAgICAgICB1cGRhdGVMYXllck9wYWNpdHkocmVuZGVyZXIo
KS0+c3R5bGUoKSk7CiAgICAgCiAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gcmVuZGVyZXIoKS0+
c3R5bGUoKTsKICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldFByZXNlcnZlczNEKHN0eWxlLT50cmFu
c2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3JtU3R5bGUzRFByZXNlcnZlM0QpOwpAQCAtMTA4Miw4
ICsxMDgwLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzdGFydFRyYW5zaXRpb24oZG91
YmxlIGJlZ2luVGltZSwgaW50IHByb3BlcnR5LCBjb25zdCBSCiAgICAgICAgICAgICBvcGFjaXR5
VmVjdG9yLmluc2VydChuZXcgRmxvYXRBbmltYXRpb25WYWx1ZSgwLCBjb21wb3NpdGluZ09wYWNp
dHkoZnJvbVN0eWxlLT5vcGFjaXR5KCkpKSk7CiAgICAgICAgICAgICBvcGFjaXR5VmVjdG9yLmlu
c2VydChuZXcgRmxvYXRBbmltYXRpb25WYWx1ZSgxLCBjb21wb3NpdGluZ09wYWNpdHkodG9TdHls
ZS0+b3BhY2l0eSgpKSkpOwogICAgICAgICAgICAgLy8gVGhlIGJveFNpemUgcGFyYW0gaXMgb25s
eSB1c2VkIGZvciB0cmFuc2Zvcm0gYW5pbWF0aW9ucyAod2hpY2ggY2FuIG9ubHkgcnVuIG9uIFJl
bmRlckJveGVzKSwgc28gd2UgcGFzcyBhbiBlbXB0eSBzaXplIGhlcmUuCi0gICAgICAgICAgICBp
ZiAobV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24ob3BhY2l0eVZlY3RvciwgSW50U2l6ZSgp
LCBvcGFjaXR5QW5pbSwgU3RyaW5nKCksIGJlZ2luVGltZSkpCisgICAgICAgICAgICBpZiAobV9n
cmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24ob3BhY2l0eVZlY3RvciwgSW50U2l6ZSgpLCBvcGFj
aXR5QW5pbSwgU3RyaW5nKCksIGJlZ2luVGltZSkpIHsKKyAgICAgICAgICAgICAgICAvLyBUbyBl
bnN1cmUgdGhhdCB0aGUgY29ycmVjdCBvcGFjaXR5IGlzIHZpc2libGUgd2hlbiB0aGUgYW5pbWF0
aW9uIGVuZHMsIGFsc28gc2V0IHRoZSBmaW5hbCBvcGFjaXR5LgorICAgICAgICAgICAgICAgIHVw
ZGF0ZUxheWVyT3BhY2l0eSh0b1N0eWxlKTsKICAgICAgICAgICAgICAgICBkaWRBbmltYXRlID0g
dHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtMTA5Myw4ICsxMDk0
LDExIEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzdGFydFRyYW5zaXRpb24oZG91YmxlIGJl
Z2luVGltZSwgaW50IHByb3BlcnR5LCBjb25zdCBSCiAgICAgICAgICAgICBLZXlmcmFtZVZhbHVl
TGlzdCB0cmFuc2Zvcm1WZWN0b3IoQW5pbWF0ZWRQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSk7CiAg
ICAgICAgICAgICB0cmFuc2Zvcm1WZWN0b3IuaW5zZXJ0KG5ldyBUcmFuc2Zvcm1BbmltYXRpb25W
YWx1ZSgwLCAmZnJvbVN0eWxlLT50cmFuc2Zvcm0oKSkpOwogICAgICAgICAgICAgdHJhbnNmb3Jt
VmVjdG9yLmluc2VydChuZXcgVHJhbnNmb3JtQW5pbWF0aW9uVmFsdWUoMSwgJnRvU3R5bGUtPnRy
YW5zZm9ybSgpKSk7Ci0gICAgICAgICAgICBpZiAobV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRp
b24odHJhbnNmb3JtVmVjdG9yLCB0b1JlbmRlckJveChyZW5kZXJlcigpKS0+Ym9yZGVyQm94UmVj
dCgpLnNpemUoKSwgdHJhbnNmb3JtQW5pbSwgU3RyaW5nKCksIGJlZ2luVGltZSkpCisgICAgICAg
ICAgICBpZiAobV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24odHJhbnNmb3JtVmVjdG9yLCB0
b1JlbmRlckJveChyZW5kZXJlcigpKS0+Ym9yZGVyQm94UmVjdCgpLnNpemUoKSwgdHJhbnNmb3Jt
QW5pbSwgU3RyaW5nKCksIGJlZ2luVGltZSkpIHsKKyAgICAgICAgICAgICAgICAvLyBUbyBlbnN1
cmUgdGhhdCB0aGUgY29ycmVjdCB0cmFuc2Zvcm0gaXMgdmlzaWJsZSB3aGVuIHRoZSBhbmltYXRp
b24gZW5kcywgYWxzbyBzZXQgdGhlIGZpbmFsIG9wYWNpdHkuCisgICAgICAgICAgICAgICAgdXBk
YXRlTGF5ZXJUcmFuc2Zvcm0odG9TdHlsZSk7CiAgICAgICAgICAgICAgICAgZGlkQW5pbWF0ZSA9
IHRydWU7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggOGY5NWE5NC4uMTdiY2FmNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTE0MCw4ICsxNDAsOCBAQCBwcml2YXRlOgog
ICAgIC8vIFJlc3VsdCBpcyBwZXJzcGVjdGl2ZSBvcmlnaW4gaW4gcGl4ZWxzLgogICAgIEZsb2F0
UG9pbnQgY29tcHV0ZVBlcnNwZWN0aXZlT3JpZ2luKGNvbnN0IEludFJlY3QmIGJvcmRlckJveCkg
Y29uc3Q7CiAKLSAgICB2b2lkIHVwZGF0ZUxheWVyT3BhY2l0eSgpOwotICAgIHZvaWQgdXBkYXRl
TGF5ZXJUcmFuc2Zvcm0oKTsKKyAgICB2b2lkIHVwZGF0ZUxheWVyT3BhY2l0eShjb25zdCBSZW5k
ZXJTdHlsZSopOworICAgIHZvaWQgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0oY29uc3QgUmVuZGVyU3R5
bGUqKTsKIAogICAgIC8vIFJldHVybiB0aGUgb3BhY2l0eSB2YWx1ZSB0aGF0IHRoaXMgbGF5ZXIg
c2hvdWxkIHVzZSBmb3IgY29tcG9zaXRpbmcuCiAgICAgZmxvYXQgY29tcG9zaXRpbmdPcGFjaXR5
KGZsb2F0IHJlbmRlcmVyT3BhY2l0eSkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="22864"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>