<?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>21420</bug_id>
          
          <creation_ts>2008-10-06 17:16:40 -0700</creation_ts>
          <short_desc>&gt; 180 degree rotations don&apos;t work</short_desc>
          <delta_ts>2008-10-09 16:04:36 -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>CSS</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="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94301</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-10-06 17:16:40 -0700</bug_when>
    <thetext>See attached test case. The logic in the KeyframeAnimation ctor computes the m_transformFunctionListValid too early, causing it to always be false. This causes the interpolator to always interpolate using a matrix, which can&apos;t represent rotations &gt; 180 degrees.

Patch on the way</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94302</commentid>
    <comment_count>1</comment_count>
      <attachid>24134</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-10-06 17:20:28 -0700</bug_when>
    <thetext>Created attachment 24134
Test case showing bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94372</commentid>
    <comment_count>2</comment_count>
      <attachid>24148</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-10-07 10:14:05 -0700</bug_when>
    <thetext>Created attachment 24148
Patch, including LayoutTest file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94381</commentid>
    <comment_count>3</comment_count>
      <attachid>24150</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-10-07 10:36:31 -0700</bug_when>
    <thetext>Created attachment 24150
replacement patch with a more descriptive comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94748</commentid>
    <comment_count>4</comment_count>
      <attachid>24150</attachid>
    <who name="">mitz</who>
    <bug_when>2008-10-09 10:45:07 -0700</bug_when>
    <thetext>Comment on attachment 24150
replacement patch with a more descriptive comment

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94796</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-10-09 16:04:36 -0700</bug_when>
    <thetext>Sending        LayoutTests/ChangeLog
Adding         LayoutTests/animations/big-rotation-expected.txt
Adding         LayoutTests/animations/big-rotation.html
Sending        WebCore/ChangeLog
Sending        WebCore/page/animation/KeyframeAnimation.cpp
Transmitting file data .....
Committed revision 37451.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24134</attachid>
            <date>2008-10-06 17:20:28 -0700</date>
            <delta_ts>2008-10-06 17:20:28 -0700</delta_ts>
            <desc>Test case showing bug</desc>
            <filename>big-rotation.html</filename>
            <type>text/html</type>
            <size>2413</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+VGVzdGluZyBSb3RhdGlvbnMg
PiAxODAgZGVncmVlczwvdGl0bGU+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2Ny
ZWVuIj4KICAgICNib3ggewogICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaGVpZ2h0
OiAxMDBweDsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVl
OwogICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS4wM3M7CiAgICAgIC13ZWJraXQt
YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogICAgICAtd2Via2l0LWFuaW1hdGlv
bi1uYW1lOiAicm90YXRlIjsKICAgIH0KICAgIEAtd2Via2l0LWtleWZyYW1lcyAicm90YXRlIiB7
CiAgICAgICAgZnJvbSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0KICAgICAgICB0
byAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1NThkZWcpOyB9CiAgICB9CiAgPC9zdHls
ZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgogICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CiAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKICAgIH0KICAgIAogICAgcmVzdWx0ID0gIlBBU1MiOwogICAgY29uc3QgZGVmYXVsdFRv
bGVyYW5jZSA9IDAuMTU7CiAgICBjb25zdCBleHBlY3RlZCA9ICBbIFsgLTEsMCwwLC0xIF0sCiAg
ICAgICAgICAgICAgICAgICAgICAgIFsgMSwwLDAsMSBdLAogICAgICAgICAgICAgICAgICAgICAg
ICBbIC0xLDAsMCwtMSBdIF07CiAgICAKICAgIGZ1bmN0aW9uIGlzRXF1YWwoYWN0dWFsLCBkZXNp
cmVkLCB0b2xlcmFuY2UpCiAgICB7CiAgICAgICAgaWYgKHRvbGVyYW5jZSA9PSB1bmRlZmluZWQg
fHwgdG9sZXJhbmNlID09IDApCiAgICAgICAgICAgIHRvbGVyYW5jZSA9IGRlZmF1bHRUb2xlcmFu
Y2U7CiAgICAgICAgdmFyIGRpZmYgPSBNYXRoLmFicyhhY3R1YWwgLSBkZXNpcmVkKTsKICAgICAg
ICByZXR1cm4gZGlmZiA8IHRvbGVyYW5jZTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gc25hcHNo
b3Qod2hpY2gpCiAgICB7CiAgICAgICAgaWYgKHJlc3VsdCAhPSAiUEFTUyIpCiAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgCiAgICAgICAgdmFyIHMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JykpLndlYmtpdFRyYW5zZm9ybTsKICAg
ICAgICB2YXIgYSA9IHMuc3BsaXQoIigiKTsKICAgICAgICB2YXIgYSA9IGFbMV0uc3BsaXQoIiwi
KTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQogICAgICAgICAgICBpZiAoIWlzRXF1
YWwoYVtpXSwgZXhwZWN0ZWRbd2hpY2hdW2ldKSkgewogICAgICAgICAgICAgICAgcmVzdWx0ID0g
IkZBSUwocHJvcGVydHknIitpKyInIHdhczoiK2FbaV0rIiwgZXhwZWN0ZWQ6IitleHBlY3RlZFt3
aGljaF1baV0rIikiOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICB9
CgogICAgZnVuY3Rpb24gc3RhcnQoKQogICAgewogICAgICAgIHNldFRpbWVvdXQoInNuYXBzaG90
KDApIiwgMzMzKTsKICAgICAgICBzZXRUaW1lb3V0KCJzbmFwc2hvdCgxKSIsIDY2Nyk7CiAgICAg
ICAgc2V0VGltZW91dCgic25hcHNob3QoMikiLCAxMDAwKTsKICAgICAgICAKICAgICAgICB3aW5k
b3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9IHJlc3VsdDsKICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKICAgICAgICB9LCAxMTAwKTsKICAgIH0KICAgIAogICAgZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0QW5pbWF0aW9uU3RhcnQnLCBzdGFydCwgZmFsc2Up
OwogICAgCiAgPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxwPgpUaGlzIHRlc3Qgc2hvd3Mgcm90
YXRpb24gb2YgPiAxODAgZGVncmVlcy4gVGhlIGJveCBzaG91bGQgbWFrZSBvbmUgYW5kIGEgaGFs
ZiByb3RhdGlvbnMuCjxkaXYgaWQ9ImJveCI+CjwvZGl2Pgo8ZGl2IGlkPSJyZXN1bHQiPgo8L2Rp
dj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24148</attachid>
            <date>2008-10-07 10:14:05 -0700</date>
            <delta_ts>2008-10-07 10:36:31 -0700</delta_ts>
            <desc>Patch, including LayoutTest file</desc>
            <filename>21420.patch</filename>
            <type>text/plain</type>
            <size>5344</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzM3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMTAtMDcgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eGVkID4gMTgwIGRlZ3JlZSByb3RhdGlvbiBidWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDIwCisKKyAgICAgICAgVGVzdDogYW5pbWF0aW9ucy9i
aWctcm90YXRpb24uaHRtbAorCisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmlt
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVBbmltYXRpb246OktleWZyYW1l
QW5pbWF0aW9uKToKKwogMjAwOC0xMC0wNyAgVG9yIEFybmUgVmVzdGLDuCAgPHRhdmVzdGJvQHRy
b2xsdGVjaC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24uCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAkocmV2aXNpb24gMzczNTYp
CisrKyBXZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDQsOSArNDQsNiBAQCBLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmlt
YXRpb24oY29uCiAgICAgLCBtX2luZGV4KGluZGV4KQogICAgICwgbV91bmFuaW1hdGVkU3R5bGUo
MCkKIHsKLSAgICAvLyBTZXQgdGhlIHRyYW5zZm9ybSBhbmltYXRpb24gbGlzdAotICAgIHZhbGlk
YXRlVHJhbnNmb3JtRnVuY3Rpb25MaXN0KCk7Ci0gICAgCiAgICAgaWYgKHVuYW5pbWF0ZWRTdHls
ZSkgewogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4odW5hbmltYXRlZFN0eWxlKS0+
cmVmKCk7CiAgICAgICAgIG1fdW5hbmltYXRlZFN0eWxlID0gdW5hbmltYXRlZFN0eWxlOwpAQCAt
NTUsNiArNTIsOSBAQCBLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmltYXRpb24oY29uCiAg
ICAgLy8gR2V0IHRoZSBrZXlmcmFtZSBSZW5kZXJTdHlsZXMKICAgICBpZiAobV9vYmplY3QgJiYg
bV9vYmplY3QtPmVsZW1lbnQoKSAmJiBtX29iamVjdC0+ZWxlbWVudCgpLT5pc0VsZW1lbnROb2Rl
KCkpCiAgICAgICAgIG1fb2JqZWN0LT5kb2N1bWVudCgpLT5zdHlsZVNlbGVjdG9yKCktPmtleWZy
YW1lU3R5bGVzRm9yQW5pbWF0aW9uKHN0YXRpY19jYXN0PEVsZW1lbnQqPihtX29iamVjdC0+ZWxl
bWVudCgpKSwgdW5hbmltYXRlZFN0eWxlLCBtX2tleWZyYW1lcyk7CisKKyAgICAvLyBTZXQgdGhl
IHRyYW5zZm9ybSBhbmltYXRpb24gbGlzdAorICAgIHZhbGlkYXRlVHJhbnNmb3JtRnVuY3Rpb25M
aXN0KCk7CiB9CiAKIEtleWZyYW1lQW5pbWF0aW9uOjp+S2V5ZnJhbWVBbmltYXRpb24oKQpJbmRl
eDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkocmV2aXNpb24gMzczNzcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOC0xMC0wNyAgQ2hyaXMgTWFycmluICA8Y21hcnJp
bkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdGNhc2UgZm9yID4gMTgwIGRlZ3JlZSByb3RhdGlvbiBidWcgZml4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQyMAorCisgICAgICAg
ICogYW5pbWF0aW9ucy9iaWctcm90YXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBhbmltYXRpb25zL2JpZy1yb3RhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAwOC0xMC0wNCAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9hbmltYXRpb25zL2JpZy1yb3RhdGlvbi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9iaWctcm90YXRpb24t
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9iaWct
cm90YXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKK1RoaXMg
dGVzdCBzaG93cyByb3RhdGlvbiBvZiA+IDE4MCBkZWdyZWVzLiBUaGUgYm94IHNob3VsZCBtYWtl
IG9uZSBhbmQgYSBoYWxmIHJvdGF0aW9ucy4KKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9iaWctcm90YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hbmlt
YXRpb25zL2JpZy1yb3RhdGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYW5p
bWF0aW9ucy9iaWctcm90YXRpb24uaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MyBAQAor
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKKyAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorCis8aHRt
bCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBj
b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8dGl0bGU+VGVzdGluZyBSb3Rh
dGlvbnMgPiAxODAgZGVncmVlczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVk
aWE9InNjcmVlbiI+CisgICAgI2JveCB7CisgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTsKKyAg
ICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuMDNzOwor
ICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CisgICAgICAt
d2Via2l0LWFuaW1hdGlvbi1uYW1lOiAicm90YXRlIjsKKyAgICB9CisgICAgQC13ZWJraXQta2V5
ZnJhbWVzICJyb3RhdGUiIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3Rh
dGUoMCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNTU4ZGVn
KTsgfQorICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIAorICAgIHJlc3VsdCA9
ICJQQVNTIjsKKyAgICBjb25zdCBkZWZhdWx0VG9sZXJhbmNlID0gMC4yOworICAgIGNvbnN0IGV4
cGVjdGVkID0gIFsgWyAtMSwwLDAsLTEgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsgMSww
LDAsMSBdLAorICAgICAgICAgICAgICAgICAgICAgICAgWyAtMSwwLDAsLTEgXSBdOworICAgIAor
ICAgIGZ1bmN0aW9uIGlzRXF1YWwoYWN0dWFsLCBkZXNpcmVkLCB0b2xlcmFuY2UpCisgICAgewor
ICAgICAgICBpZiAodG9sZXJhbmNlID09IHVuZGVmaW5lZCB8fCB0b2xlcmFuY2UgPT0gMCkKKyAg
ICAgICAgICAgIHRvbGVyYW5jZSA9IGRlZmF1bHRUb2xlcmFuY2U7CisgICAgICAgIHZhciBkaWZm
ID0gTWF0aC5hYnMoYWN0dWFsIC0gZGVzaXJlZCk7CisgICAgICAgIHJldHVybiBkaWZmIDwgdG9s
ZXJhbmNlOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBzbmFwc2hvdCh3aGljaCkKKyAgICB7
CisgICAgICAgIGlmIChyZXN1bHQgIT0gIlBBU1MiKQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgCisgICAgICAgIHZhciBzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2JveCcpKS53ZWJraXRUcmFuc2Zvcm07CisgICAgICAgIHZhciBh
ID0gcy5zcGxpdCgiKCIpOworICAgICAgICB2YXIgYSA9IGFbMV0uc3BsaXQoIiwiKTsKKyAgICAg
ICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKyAgICAgICAgICAgIGlmICghaXNFcXVhbChhW2ld
LCBleHBlY3RlZFt3aGljaF1baV0pKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gIkZBSUwo
cHJvcGVydHknIitpKyInIHdhczoiK2FbaV0rIiwgZXhwZWN0ZWQ6IitleHBlY3RlZFt3aGljaF1b
aV0rIikiOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICB9CisK
KyAgICBmdW5jdGlvbiBzdGFydCgpCisgICAgeworICAgICAgICBzZXRUaW1lb3V0KCJzbmFwc2hv
dCgwKSIsIDMzMyk7CisgICAgICAgIHNldFRpbWVvdXQoInNuYXBzaG90KDEpIiwgNjY3KTsKKyAg
ICAgICAgc2V0VGltZW91dCgic25hcHNob3QoMikiLCAxMDAwKTsKKyAgICAgICAgCisgICAgICAg
IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9IHJlc3VsdDsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9LCAxMTAwKTsKKyAgICB9CisgICAg
CisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0QW5pbWF0aW9uU3RhcnQnLCBz
dGFydCwgZmFsc2UpOworICAgIAorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+CitU
aGlzIHRlc3Qgc2hvd3Mgcm90YXRpb24gb2YgPiAxODAgZGVncmVlcy4gVGhlIGJveCBzaG91bGQg
bWFrZSBvbmUgYW5kIGEgaGFsZiByb3RhdGlvbnMuCis8ZGl2IGlkPSJib3giPgorPC9kaXY+Cis8
ZGl2IGlkPSJyZXN1bHQiPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24150</attachid>
            <date>2008-10-07 10:36:31 -0700</date>
            <delta_ts>2008-10-09 10:45:07 -0700</delta_ts>
            <desc>replacement patch with a more descriptive comment</desc>
            <filename>21420.patch</filename>
            <type>text/plain</type>
            <size>5416</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzM3NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMTAtMDcgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eGVkID4gMTgwIGRlZ3JlZSByb3RhdGlvbiBidWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDIwCisKKyAgICAgICAgVGVzdDogYW5pbWF0aW9ucy9i
aWctcm90YXRpb24uaHRtbAorCisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmlt
YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVBbmltYXRpb246OktleWZyYW1l
QW5pbWF0aW9uKToKKwogMjAwOC0xMC0wNyAgVG9yIEFybmUgVmVzdGLDuCAgPHRhdmVzdGJvQHRy
b2xsdGVjaC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24uCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAkocmV2aXNpb24gMzczNTYp
CisrKyBXZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDQsOSArNDQsNiBAQCBLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmlt
YXRpb24oY29uCiAgICAgLCBtX2luZGV4KGluZGV4KQogICAgICwgbV91bmFuaW1hdGVkU3R5bGUo
MCkKIHsKLSAgICAvLyBTZXQgdGhlIHRyYW5zZm9ybSBhbmltYXRpb24gbGlzdAotICAgIHZhbGlk
YXRlVHJhbnNmb3JtRnVuY3Rpb25MaXN0KCk7Ci0gICAgCiAgICAgaWYgKHVuYW5pbWF0ZWRTdHls
ZSkgewogICAgICAgICBjb25zdF9jYXN0PFJlbmRlclN0eWxlKj4odW5hbmltYXRlZFN0eWxlKS0+
cmVmKCk7CiAgICAgICAgIG1fdW5hbmltYXRlZFN0eWxlID0gdW5hbmltYXRlZFN0eWxlOwpAQCAt
NTUsNiArNTIsOSBAQCBLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmltYXRpb24oY29uCiAg
ICAgLy8gR2V0IHRoZSBrZXlmcmFtZSBSZW5kZXJTdHlsZXMKICAgICBpZiAobV9vYmplY3QgJiYg
bV9vYmplY3QtPmVsZW1lbnQoKSAmJiBtX29iamVjdC0+ZWxlbWVudCgpLT5pc0VsZW1lbnROb2Rl
KCkpCiAgICAgICAgIG1fb2JqZWN0LT5kb2N1bWVudCgpLT5zdHlsZVNlbGVjdG9yKCktPmtleWZy
YW1lU3R5bGVzRm9yQW5pbWF0aW9uKHN0YXRpY19jYXN0PEVsZW1lbnQqPihtX29iamVjdC0+ZWxl
bWVudCgpKSwgdW5hbmltYXRlZFN0eWxlLCBtX2tleWZyYW1lcyk7CisKKyAgICAvLyBVcGRhdGUg
dGhlIG1fdHJhbnNmb3JtRnVuY3Rpb25MaXN0VmFsaWQgZmxhZyBiYXNlZCBvbiB3aGV0aGVyIHRo
ZSBmdW5jdGlvbiBsaXN0cyBpbiB0aGUga2V5ZnJhbWVzIG1hdGNoLgorICAgIHZhbGlkYXRlVHJh
bnNmb3JtRnVuY3Rpb25MaXN0KCk7CiB9CiAKIEtleWZyYW1lQW5pbWF0aW9uOjp+S2V5ZnJhbWVB
bmltYXRpb24oKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzczNzcpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAwOC0xMC0wNyAgQ2hyaXMg
TWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdGNhc2UgZm9yID4gMTgwIGRlZ3JlZSByb3RhdGlvbiBi
dWcgZml4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTQyMAorCisgICAgICAgICogYW5pbWF0aW9ucy9iaWctcm90YXRpb24tZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb25zL2JpZy1yb3RhdGlvbi5odG1sOiBBZGRlZC4KKwog
MjAwOC0xMC0wNCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9hbmltYXRpb25zL2JpZy1y
b3RhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYW5pbWF0aW9u
cy9iaWctcm90YXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
YW5pbWF0aW9ucy9iaWctcm90YXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDMgQEAKK1RoaXMgdGVzdCBzaG93cyByb3RhdGlvbiBvZiA+IDE4MCBkZWdyZWVzLiBUaGUg
Ym94IHNob3VsZCBtYWtlIG9uZSBhbmQgYSBoYWxmIHJvdGF0aW9ucy4KKworUEFTUwpJbmRleDog
TGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9iaWctcm90YXRpb24uaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9hbmltYXRpb25zL2JpZy1yb3RhdGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9iaWctcm90YXRpb24uaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw4MyBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQu
MDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29z
ZS5kdGQiPgorCis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8dGl0
bGU+VGVzdGluZyBSb3RhdGlvbnMgPiAxODAgZGVncmVlczwvdGl0bGU+CisgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+CisgICAgI2JveCB7CisgICAgICAvL3Bvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVy
YXRpb246IDEuMDNzOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBs
aW5lYXI7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAicm90YXRlIjsKKyAgICB9Cisg
ICAgQC13ZWJraXQta2V5ZnJhbWVzICJyb3RhdGUiIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQt
dHJhbnNmb3JtOiByb3RhdGUoMCk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtdHJhbnNmb3Jt
OiByb3RhdGUoNTU4ZGVnKTsgfQorICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAg
IAorICAgIHJlc3VsdCA9ICJQQVNTIjsKKyAgICBjb25zdCBkZWZhdWx0VG9sZXJhbmNlID0gMC4y
OworICAgIGNvbnN0IGV4cGVjdGVkID0gIFsgWyAtMSwwLDAsLTEgXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIFsgMSwwLDAsMSBdLAorICAgICAgICAgICAgICAgICAgICAgICAgWyAtMSwwLDAs
LTEgXSBdOworICAgIAorICAgIGZ1bmN0aW9uIGlzRXF1YWwoYWN0dWFsLCBkZXNpcmVkLCB0b2xl
cmFuY2UpCisgICAgeworICAgICAgICBpZiAodG9sZXJhbmNlID09IHVuZGVmaW5lZCB8fCB0b2xl
cmFuY2UgPT0gMCkKKyAgICAgICAgICAgIHRvbGVyYW5jZSA9IGRlZmF1bHRUb2xlcmFuY2U7Cisg
ICAgICAgIHZhciBkaWZmID0gTWF0aC5hYnMoYWN0dWFsIC0gZGVzaXJlZCk7CisgICAgICAgIHJl
dHVybiBkaWZmIDwgdG9sZXJhbmNlOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBzbmFwc2hv
dCh3aGljaCkKKyAgICB7CisgICAgICAgIGlmIChyZXN1bHQgIT0gIlBBU1MiKQorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAgICAgIHZhciBzID0gd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveCcpKS53ZWJraXRUcmFuc2Zvcm07
CisgICAgICAgIHZhciBhID0gcy5zcGxpdCgiKCIpOworICAgICAgICB2YXIgYSA9IGFbMV0uc3Bs
aXQoIiwiKTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKKyAgICAgICAgICAgIGlm
ICghaXNFcXVhbChhW2ldLCBleHBlY3RlZFt3aGljaF1baV0pKSB7CisgICAgICAgICAgICAgICAg
cmVzdWx0ID0gIkZBSUwocHJvcGVydHknIitpKyInIHdhczoiK2FbaV0rIiwgZXhwZWN0ZWQ6Iitl
eHBlY3RlZFt3aGljaF1baV0rIikiOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGFydCgpCisgICAgeworICAgICAgICBzZXRU
aW1lb3V0KCJzbmFwc2hvdCgwKSIsIDMzMyk7CisgICAgICAgIHNldFRpbWVvdXQoInNuYXBzaG90
KDEpIiwgNjY3KTsKKyAgICAgICAgc2V0VGltZW91dCgic25hcHNob3QoMikiLCAxMDAwKTsKKyAg
ICAgICAgCisgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9IHJlc3VsdDsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9LCAxMTAw
KTsKKyAgICB9CisgICAgCisgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0QW5p
bWF0aW9uU3RhcnQnLCBzdGFydCwgZmFsc2UpOworICAgIAorICA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+CitUaGlzIHRlc3Qgc2hvd3Mgcm90YXRpb24gb2YgPiAxODAgZGVncmVlcy4g
VGhlIGJveCBzaG91bGQgbWFrZSBvbmUgYW5kIGEgaGFsZiByb3RhdGlvbnMuCis8ZGl2IGlkPSJi
b3giPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>
<flag name="review"
          id="10966"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>