<?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>24736</bug_id>
          
          <creation_ts>2009-03-20 21:14:53 -0700</creation_ts>
          <short_desc>event.offsetX and offsetY are wrong with full page zoom</short_desc>
          <delta_ts>2009-03-23 11:57:11 -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>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>114625</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-20 21:14:53 -0700</bug_when>
    <thetext>Page zoom is taken into account when setting event.pageX and pageY, but event.offestX and offsetY are not fixed up accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114626</commentid>
    <comment_count>1</comment_count>
      <attachid>28817</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-20 21:15:25 -0700</bug_when>
    <thetext>Created attachment 28817
Testcase: zoom, then hover and look at the offsetX/offsetY numbers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114627</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-20 21:39:08 -0700</bug_when>
    <thetext>offsetX/offsetY are also used for slider thumb tracking, so this breaks that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114630</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-20 22:44:57 -0700</bug_when>
    <thetext>Bug 24733 fixes related issues with pageX, pageY</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114721</commentid>
    <comment_count>4</comment_count>
      <attachid>28838</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-22 13:08:01 -0700</bug_when>
    <thetext>Created attachment 28838
Patch, changelog

This also fixes bug 24748.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114739</commentid>
    <comment_count>5</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-03-22 21:34:01 -0700</bug_when>
    <thetext>Doesn&apos;t this patch need tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114740</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-22 21:36:41 -0700</bug_when>
    <thetext>There&apos;s no way to test full page zoom as the user sees it. That should be an RFE for DumpRenderTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114741</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-22 21:39:56 -0700</bug_when>
    <thetext>Hmm, maybe zoom: style can be used to test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114743</commentid>
    <comment_count>8</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2009-03-22 21:45:36 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Hmm, maybe zoom: style can be used to test.

That&apos;s what existing zoom fixes use, as far as I can tell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114777</commentid>
    <comment_count>9</comment_count>
      <attachid>28838</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-03-23 08:59:11 -0700</bug_when>
    <thetext>Comment on attachment 28838
Patch, changelog

&gt; +        * dom/Document.cpp:
&gt; +        (WebCore::Document::elementFromPoint):
&gt; +        Document::elementFromPoint() needs to take full-page zoom into account.

How can the caller tell that the x and y here are supposed to be &quot;non-zoomed&quot; coordinates? Is there a naming scheme for such things?

&gt; +    float zoomFactor = frame() ? frame()-&gt;pageZoomFactor() : 1.0f;

It&apos;s becoming more and more clear that the zoom factor needs to be stored in the Document or the FrameView, not the Frame.

Also, elementFromPoint seems like it should be a simple forwarder to a function in FrameView or RenderView. We may be obliged to put some of these operations in the DOM because of the public DOM API, but internally we should try to make a bit of model/view separation.

Where are the regression tests for these changes?

I am really tempted to say review- because of the lack of regression tests, but I&apos;m going to say review+ counting on you adding them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114815</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-23 11:52:54 -0700</bug_when>
    <thetext>I will add some tests with this commit, but it&apos;s not possible to fully test FPZ via DRT. I filed bug 24761.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114819</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-03-23 11:57:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/41914</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>28817</attachid>
            <date>2009-03-20 21:15:25 -0700</date>
            <delta_ts>2009-03-20 21:15:25 -0700</delta_ts>
            <desc>Testcase: zoom, then hover and look at the offsetX/offsetY numbers</desc>
            <filename>offsetX-offsetY.html</filename>
            <type>text/html</type>
            <size>7079</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogIDx0aXRsZT5UZXN0IG9mZnNldFgvb2Zmc2V0WSBvbiB2YXJpb3VzIHR5
cGVzIG9mIGVsZW1lbnRzPC90aXRsZT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
Y2hhcnNldD0idXRmLTgiPgogICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewog
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAgICB9CgogICAgZnVuY3Rpb24gbW91c2Vt
b3ZlZChlKQogICAgewogICAgICB2YXIgcmVzdWx0Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ21vdXNlcG9zJyk7CiAgICAgIHZhciBvZmZzZXRzID0gJ2VsZW1lbnQgaWQ6ICcgKyBlLnRh
cmdldC5pZCArICc8YnI+IGNsaWVudFg6ICcgKyBlLmNsaWVudFggKyAnIGNsaWVudFk6ICcgKyBl
LmNsaWVudFkgKyAnPGJyPic7CiAgICAgIG9mZnNldHMgKz0gJ29mZnNldFg6ICcgKyBlLm9mZnNl
dFggKyAnIG9mZnNldFk6ICcgKyBlLm9mZnNldFk7CiAgICAgIHJlc3VsdEJveC5pbm5lckhUTUwg
PSBvZmZzZXRzOwogICAgfQoKICAgIGZ1bmN0aW9uIGxvZyhzKQogICAgewogICAgICB2YXIgcmVz
dWx0c0RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzJyk7CiAgICAgIHJlc3Vs
dHNEaXYuaW5uZXJIVE1MICs9IHMgKyAnPGJyPic7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHRl
c3QoKQogICAgewogICAgICAvLyBTY3JvbGwgc28gdGhhdCBmcmFtZSB2aWV3IG9mZnNldHMgYXJl
IG5vbi16ZXJvCiAgICAgIHdpbmRvdy5zY3JvbGxUbygyMCwgMTAwKTsKCiAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdvdmVyZmxvdycpLnNjcm9sbExlZnQgPSA4MDsKICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ292ZXJmbG93Jykuc2Nyb2xsVG9wID0gNjA7CiAgICAgIAogICAg
ICAvLyBJbiBub24tdGVzdCBtb2RlLCBzaG93IHRoZSBtb3VzZSBjb29yZHMgZm9yIHRlc3RpbmcK
ICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgZG9jdW1lbnQu
Ym9keS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3VzZW1vdmVkLCBmYWxzZSk7Cgog
ICAgICBkaXNwYXRjaEV2ZW50KDExMiwgNjIsICdhYnMtYm94JywgMzIsIDM3KTsKICAgICAgZGlz
cGF0Y2hFdmVudCgxNTcsIDMyLCAncmVsLWJveCcsIDIyLCAyNCk7CiAgICAgIGRpc3BhdGNoRXZl
bnQoNDEwLCAzMCwgJ2ZpeGVkLWJveCcsIDEwLCAxMCk7CiAgICAgIGRpc3BhdGNoRXZlbnQoMzYs
IDI3MiwgJ3dpdGgtYm9yZGVydG9wZXh0cmEnLCA0LCA0KTsKICAgICAgLy8gZGlzcGF0Y2hFdmVu
dCg2MzksIDMxNiwgJ2luLWNvbHVtbnMnLCAxNzMsIC0xNzIpOyAgLy8gVGhpcyBpcyBidWdneS4g
U2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTk5MwogICAgICBk
aXNwYXRjaEV2ZW50KDU2MywgNDEwLCAnaW5zaWRlLW92ZXJmbG93JywgNywgNik7CiAgICAgIGRp
c3BhdGNoRXZlbnQoMTEyLCAzNjksICd0cmFuc2Zvcm1lZCcsIDExLCAxNik7CiAgICAgICAgICAg
IAogICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gZGlzcGF0
Y2hFdmVudChjbGllbnRYLCBjbGllbnRZLCBleHBlY3RlZEVsZW1lbnRJRCwgZXhwZWN0ZWRPZmZz
ZXRYLCBleHBlY3RlZE9mZnNldFkpCiAgICB7CiAgICAgIHZhciBldiA9IGRvY3VtZW50LmNyZWF0
ZUV2ZW50KCJNb3VzZUV2ZW50Iik7CiAgICAgIGV2LmluaXRNb3VzZUV2ZW50KCJjbGljayIsIHRy
dWUsIHRydWUsIHdpbmRvdywgMSwgMSwgMSwgY2xpZW50WCwgY2xpZW50WSwgZmFsc2UsIGZhbHNl
LCBmYWxzZSwgZmFsc2UsIDAsIGRvY3VtZW50KTsKICAgICAgZXYuZXhwZWN0ZWRFbGVtZW50ID0g
ZXhwZWN0ZWRFbGVtZW50SUQ7CiAgICAgIGV2LmV4cGVjdGVkT2Zmc2V0WCA9IGV4cGVjdGVkT2Zm
c2V0WDsKICAgICAgZXYuZXhwZWN0ZWRPZmZzZXRZID0gZXhwZWN0ZWRPZmZzZXRZOwogICAgICB2
YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChldi5wYWdlWCwgZXYucGFnZVkp
OwogICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChldik7CiAgICB9CgogICAgZnVuY3Rpb24gY2xp
Y2tlZChldmVudCkKICAgIHsKICAgICAgdmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQ7CiAgICAg
IAogICAgICB2YXIgcmVzdWx0OwogICAgICBpZiAoZWxlbWVudC5pZCA9PSBldmVudC5leHBlY3Rl
ZEVsZW1lbnQgJiYKICAgICAgICAgIGV2ZW50Lm9mZnNldFggPT0gZXZlbnQuZXhwZWN0ZWRPZmZz
ZXRYICYmCiAgICAgICAgICBldmVudC5vZmZzZXRZID09IGV2ZW50LmV4cGVjdGVkT2Zmc2V0WSkK
ICAgICAgICByZXN1bHQgPSAnUEFTUzogZXZlbnQgYXQgKCcgKyBldmVudC5jbGllbnRYICsgJywg
JyArIGV2ZW50LmNsaWVudFkgKyAnKSBoaXQgJyArIGVsZW1lbnQuaWQgKyAnIGF0IG9mZnNldCAo
JyArIGV2ZW50Lm9mZnNldFggKyAnLCAnICsgZXZlbnQub2Zmc2V0WSArICcpJzsKICAgICAgZWxz
ZQogICAgICAgIHJlc3VsdCA9ICdGQUlMOiBldmVudCBhdCAoJyArIGV2ZW50LmNsaWVudFggKyAn
LCAnICsgZXZlbnQuY2xpZW50WSArICcpIGV4cGVjdGVkIHRvIGhpdCAnICsgZXZlbnQuZXhwZWN0
ZWRFbGVtZW50ICsgJyBhdCAoJyArIGV2ZW50LmV4cGVjdGVkT2Zmc2V0WCArICcsICcgKyBldmVu
dC5leHBlY3RlZE9mZnNldFkgKyAnKSBidXQgaGl0ICcgKyBlbGVtZW50LmlkICsgJyBhdCAoJyAr
IGV2ZW50Lm9mZnNldFggKyAnLCAnICsgZXZlbnQub2Zmc2V0WSArICcpJzsKCiAgICAgIGxvZyhy
ZXN1bHQpOwogICAgfQogICAgCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1
bmN0aW9uKCkgewogICAgICB3aW5kb3cuc2V0VGltZW91dCh0ZXN0LCAwKTsKICAgIH0sIGZhbHNl
KTsKICA8L3NjcmlwdD4KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgog
IAogICAgYm9keSB7CiAgICAgIGhlaWdodDogMjA0OHB4OwogICAgICB3aWR0aDogMjA0OHB4Owog
ICAgICBtYXJnaW46IDA7CiAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgfQoKICAgIC5ib3gg
ewogICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIG1hcmdpbjog
MjBweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTsKICAgIH0KCiAgICAjYWJzLWJveCB7
CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAxMjVweDsKICAgICAgbGVmdDog
MTAwcHg7CiAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgYm9y
ZGVyOiAxNXB4IHNvbGlkIGdyYXk7CiAgICB9CiAgICAKICAgICNyZWwtYm94IHsKICAgICAgcG9z
aXRpb246IHJlbGF0aXZlOwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICB3aWR0aDogMjAwcHg7
CiAgICAgIGxlZnQ6IDQwcHg7CiAgICAgIHRvcDogLTUwcHg7CiAgICAgIGJhY2tncm91bmQtY29s
b3I6ICNDQ0M7CiAgICB9CiAgICAKICAgICNmaXhlZC1ib3ggewogICAgICBwb3NpdGlvbjogZml4
ZWQ7CiAgICAgIHRvcDogMjBweDsKICAgICAgbGVmdDogNDAwcHg7CiAgICAgIHdpZHRoOiAzMDBw
eDsKICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFBOwogICAg
fQogICAgCiAgICAjY29sdW1ucyB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgLXdl
YmtpdC1jb2x1bW4tY291bnQ6IDM7CiAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgdG9wOiAyMDBw
eDsKICAgICAgbGVmdDogNDYwcHg7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOwogICAg
fQogICAgCiAgICAjaW4tY29sdW1ucyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWln
aHQ6IDQwcHg7CiAgICAgIHdpZHRoOiA2MCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB0
ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7CiAgICB9CiAg
ICAKICAgICN0cmFuc2Zvcm1lZCB7CiAgICAgIGhlaWdodDogMTIwcHg7CiAgICAgIHdpZHRoOiAy
MDBweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RERDsKICAgICAgLXdlYmtpdC10cmFuc2Zv
cm06IHRyYW5zbGF0ZSgxMDBweCwgNTBweCkgcm90YXRlKDIwZGVnKTsKICAgIH0KICAgICNvdmVy
ZmxvdyB7CiAgICAgIG92ZXJmbG93OiBzY3JvbGw7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
ICAgICAgd2lkdGg6IDMwMHB4OwogICAgICB0b3A6IDQ0MHB4OwogICAgICBsZWZ0OiA0NjBweDsK
ICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7CiAgICAg
IGRpcmVjdGlvbjogcnRsOwogICAgfQogICAgCiAgICAjb3ZlcmZsb3ctY29udGVudHMgewogICAg
ICBoZWlnaHQ6IDUwMHB4OwogICAgICB3aWR0aDogMTIwJTsKICAgICAgYmFja2dyb3VuZC1jb2xv
cjogI0JCQjsKICAgIH0KICAgIAogICAgI2luc2lkZS1vdmVyZmxvdyB7CiAgICAgIHdpZHRoOiA1
MCU7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7CiAgICB9CiAgICAKICAgICNyZXN1bHRz
IHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBsZWZ0OiAzMHB4OwogICAgICB0b3A6
IDcwMHB4OwogICAgfQogICAgCiAgICAjbW91c2Vwb3MgewogICAgICBwb3NpdGlvbjogYWJzb2x1
dGU7CiAgICAgIGxlZnQ6IDMwcHg7CiAgICAgIHRvcDogNjUwcHg7CiAgICAgIGNvbG9yOiBncmF5
OwogICAgICBmb250LXNpemU6IHNtYWxsZXI7CiAgICB9CiAgICAKICAgIHRyIHsKLyogICAgICAt
d2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTsqLwogICAgfQogIDwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHkgb25jbGljaz0iY2xpY2tlZChldmVudCkiPgoKPGRpdiBpZD0iZmlsbGVyIiBzdHls
ZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCUi
PjwvZGl2PgoKPCEtLSBUZXN0IGFzc3VtZXMgb2Zmc2V0WC9vZmZzZXRZIGFyZSByZWxhdGl2ZSB0
byBib3JkZXIgYm94LCBidXQgc2VlCiAgICAgaHR0cDovL3d3dy5xdWlya3Ntb2RlLm9yZy9kb20v
dzNjX2Nzc29tLmh0bWwjbW91c2Vwb3MgLS0+CjxkaXYgaWQ9ImFicy1ib3giPgogIEFic29sdXRl
IHBvc2l0aW9uCiAgPGRpdiBpZD0icmVsLWJveCI+CiAgICBSZWxhdGl2ZSBwb3NpdGlvbgogIDwv
ZGl2PgogIDxkaXYgaWQ9ImZpeGVkLWJveCI+CiAgICBGaXhlZCBwb3NpdGlvbgogIDwvZGl2Pgo8
L2Rpdj4KCjx0YWJsZSBib3JkZXI9IjIiIGNlbGxzcGFjaW5nPSIzIiBjZWxscGFkZGluZz0iMiIg
c3R5bGU9IndpZHRoOiA0MDBweDsgbWFyZ2luLXRvcDogMjgwcHg7IG1hcmdpbi1sZWZ0OiA0MHB4
OyI+CiAgPHRyPjx0aD5GaXJzdDwvdGg+PHRoPlNlY29uZDwvdGg+PC90cj4KICA8dHIgc3R5bGU9
InZlcnRpY2FsLWFsaWduOiBjZW50ZXI7Ij48dGQ+VGhpcyBjZWxsIGhhcyBib3JkZXJUb3BFeHRy
YTxkaXYgY2xhc3M9ImJveCIgaWQ9IndpdGgtYm9yZGVydG9wZXh0cmEiIHN0eWxlPSJwb3NpdGlv
bjogcmVsYXRpdmU7IGhlaWdodDogMjBweDsgbWFyZ2luOiA0cHg7Ij48L2Rpdj48L3RkPjx0ZD5M
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwg
c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuCiAgPC90ZD48L3RyPgo8L3RhYmxlPgoKPGRpdiBpZD0iY29sdW1ucyI+CiAgPHA+
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRh
dGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2Vx
dWF0LiA8c3BhbiBpZD0iaW4tY29sdW1ucyI+SW4gY29sdW1uczwvc3Bhbj4gRHVpcyBhdXRlIGly
dXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVt
IGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0
IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1
bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uPC9wPgo8L2Rpdj4KCjxkaXYgaWQ9InRyYW5z
Zm9ybWVkIj4KICBEaXYgd2l0aCB0cmFuc2Zvcm0KPC9kaXY+Cgo8ZGl2IGlkPSJvdmVyZmxvdyI+
CiAgPGRpdiBpZD0ib3ZlcmZsb3ctY29udGVudHMiPgogICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRl
bXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmlt
IGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9y
aXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvcD4KICAgIDxkaXYg
aWQ9Imluc2lkZS1vdmVyZmxvdyI+SW4gUlRMIG92ZXJmbG93PC9kaXY+IAogICAgPHA+RHVpcyBh
dXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2Ug
Y2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9j
Y2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEg
ZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uPC9wPgogIDwvZGl2Pgo8L2Rpdj4K
PGRpdiBpZD0icmVzdWx0cyI+PC9kaXY+CjxkaXYgaWQ9Im1vdXNlcG9zIj48L2Rpdj4KCjwvYm9k
eT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28838</attachid>
            <date>2009-03-22 13:08:01 -0700</date>
            <delta_ts>2009-03-23 08:59:11 -0700</delta_ts>
            <desc>Patch, changelog</desc>
            <filename>24736_patch.txt</filename>
            <type>text/plain</type>
            <size>4168</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDY5ODM3ZS4uYWEyMDJiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAwOS0wMy0yMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjQ3MzYKKyAgICAgICAgCisgICAgICAgIEZpeCB0aHJlZSBtb3N0bHktdW5yZWxhdGVkIHBy
b2JsZW1zIHdpdGggZnVsbC1wYWdlIHpvb206CisgICAgICAgIAorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZWxlbWVudEZyb21Qb2ludCk6
CisgICAgICAgIERvY3VtZW50OjplbGVtZW50RnJvbVBvaW50KCkgbmVlZHMgdG8gdGFrZSBmdWxs
LXBhZ2Ugem9vbSBpbnRvIGFjY291bnQuCisgICAgICAgIAorICAgICAgICAqIGRvbS9Nb3VzZVJl
bGF0ZWRFdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb3VzZVJlbGF0ZWRFdmVudDo6cmVj
ZWl2ZWRUYXJnZXQpOgorICAgICAgICBUYWtlIGZ1bGwtcGFnZSB6b29tIGludG8gYWNjb3VudCB3
aGVuIGNvbXB1dGluZyBvZmZzZXRYL29mZnNldFkuCisgICAgICAgIAorICAgICAgICAqIGh0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgRG9uJ3QgdXNlIG9mZnNl
dFgvb2Zmc2V0WSB3aGVuIGhpdCB0ZXN0aW5nIGxpc3QgYm94ZXM7IG9mZnNldHMgd2VyZSBicm9r
ZW4KKyAgICAgICAgd2l0aCBmdWxsLXBhZ2Ugem9vbSwgYW5kIHVzaW5nIHBhZ2VYL3BhZ2VZIGlz
IGVhc2llciBiZWNhdXNlIHdlIGRvbid0CisgICAgICAgIGhhdmUgdG8gd29ycnkgYWJvdXQgdGhl
IGV2ZW50IHRhcmdldCwgYW5kIHdlIGFscmVhZHkgaGF2ZSBhIHBvaW50IGluCisgICAgICAgIGFi
c29sdXRlIGNvb3JkaW5hdGVzLgorCiAyMDA5LTAzLTIyICBLZXZpbiBPbGxpdmllciAgPGtldmlu
b0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAgICAgIHd4R1RLIGJ1aWxkIGZpeC4gQWRkIG1pc3Np
bmcgaGVhZGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGRiMDk1ZWMuLjY0NWVkNjAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTg4Nyw3ICs4ODcsMTAgQEAgRWxlbWVudCogRG9jdW1lbnQ6OmVsZW1lbnRGcm9tUG9pbnQoaW50
IHgsIGludCB5KSBjb25zdAogCiAgICAgSGl0VGVzdFJlcXVlc3QgcmVxdWVzdChIaXRUZXN0UmVx
dWVzdDo6UmVhZE9ubHkgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgSGl0VGVzdFJlcXVl
c3Q6OkFjdGl2ZSk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQoSW50UG9pbnQoeCwgeSkpOwor
CisgICAgZmxvYXQgem9vbUZhY3RvciA9IGZyYW1lKCkgPyBmcmFtZSgpLT5wYWdlWm9vbUZhY3Rv
cigpIDogMS4wZjsKKworICAgIEhpdFRlc3RSZXN1bHQgcmVzdWx0KHJvdW5kZWRJbnRQb2ludChG
bG9hdFBvaW50KHggKiB6b29tRmFjdG9yLCB5ICogem9vbUZhY3RvcikpKTsKICAgICByZW5kZXJW
aWV3KCktPmxheWVyKCktPmhpdFRlc3QocmVxdWVzdCwgcmVzdWx0KTsgCiAKICAgICBOb2RlKiBu
ID0gcmVzdWx0LmlubmVyTm9kZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTW91c2VSZWxh
dGVkRXZlbnQuY3BwIGIvV2ViQ29yZS9kb20vTW91c2VSZWxhdGVkRXZlbnQuY3BwCmluZGV4IDVm
NGJmYWEuLmM2NmIwYTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01vdXNlUmVsYXRlZEV2ZW50
LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Nb3VzZVJlbGF0ZWRFdmVudC5jcHAKQEAgLTE0Myw5ICsx
NDMsMTAgQEAgdm9pZCBNb3VzZVJlbGF0ZWRFdmVudDo6cmVjZWl2ZWRUYXJnZXQoKQogICAgIC8v
IEFkanVzdCBvZmZzZXRYL1kgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHRhcmdldCdzIHBvc2l0aW9u
LgogICAgIGlmICghaXNTaW11bGF0ZWQoKSkgewogICAgICAgICBpZiAoUmVuZGVyT2JqZWN0KiBy
ID0gdGFyZy0+cmVuZGVyZXIoKSkgewotICAgICAgICAgICAgSW50UG9pbnQgbG9jYWxQb3MgPSBy
b3VuZGVkSW50UG9pbnQoci0+YWJzb2x1dGVUb0xvY2FsKEZsb2F0UG9pbnQobV9wYWdlWCwgbV9w
YWdlWSksIGZhbHNlLCB0cnVlKSk7Ci0gICAgICAgICAgICBtX29mZnNldFggPSBsb2NhbFBvcy54
KCk7Ci0gICAgICAgICAgICBtX29mZnNldFkgPSBsb2NhbFBvcy55KCk7CisgICAgICAgICAgICBG
bG9hdFBvaW50IGxvY2FsUG9zID0gci0+YWJzb2x1dGVUb0xvY2FsKGFic29sdXRlTG9jYXRpb24o
KSwgZmFsc2UsIHRydWUpOworICAgICAgICAgICAgZmxvYXQgem9vbUZhY3RvciA9ICh2aWV3KCkg
JiYgdmlldygpLT5mcmFtZSgpKSA/IHZpZXcoKS0+ZnJhbWUoKS0+cGFnZVpvb21GYWN0b3IoKSA6
IDEuMGY7CisgICAgICAgICAgICBtX29mZnNldFggPSBscm91bmRmKGxvY2FsUG9zLngoKSAvIHpv
b21GYWN0b3IpOworICAgICAgICAgICAgbV9vZmZzZXRZID0gbHJvdW5kZihsb2NhbFBvcy55KCkg
LyB6b29tRmFjdG9yKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5jcHAKaW5kZXggNjhhYmJmOC4uZjg3ODlhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
Y3BwCkBAIC02NzgsMTYgKzY3OCw4IEBAIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hE
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldnQpCiAKICAgICAgICAgLy8gQ29udmVydCB0byBj
b29yZHMgcmVsYXRpdmUgdG8gdGhlIGxpc3QgYm94IGlmIG5lZWRlZC4KICAgICAgICAgTW91c2VF
dmVudCogbW91c2VFdmVudCA9IHN0YXRpY19jYXN0PE1vdXNlRXZlbnQqPihldnQpOwotICAgICAg
ICAvLyBGSVhNRTogbmVlZCB0byBhZGp1c3Qgb2Zmc2V0WC9vZmZzZXRZIGZvciBmdWxsIHBhZ2Ug
em9vbQotICAgICAgICBpbnQgb2Zmc2V0WCA9IG1vdXNlRXZlbnQtPm9mZnNldFgoKTsKLSAgICAg
ICAgaW50IG9mZnNldFkgPSBtb3VzZUV2ZW50LT5vZmZzZXRZKCk7Ci0gICAgICAgIE5vZGUqIHRh
cmdldCA9IGV2dC0+dGFyZ2V0KCktPnRvTm9kZSgpOwotICAgICAgICBpZiAodGFyZ2V0ICE9IHRo
aXMpIHsKLSAgICAgICAgICAgIEZsb2F0UG9pbnQgYWJzUG9zID0gcmVuZGVyZXIoKS0+YWJzb2x1
dGVUb0xvY2FsKEZsb2F0UG9pbnQob2Zmc2V0WCwgb2Zmc2V0WSksIGZhbHNlLCB0cnVlKTsKLSAg
ICAgICAgICAgIG9mZnNldFggPSBhYnNQb3MueCgpOwotICAgICAgICAgICAgb2Zmc2V0WSA9IGFi
c1Bvcy55KCk7Ci0gICAgICAgIH0KLSAgICAgICAgaW50IGxpc3RJbmRleCA9IHN0YXRpY19jYXN0
PFJlbmRlckxpc3RCb3gqPihyZW5kZXJlcigpKS0+bGlzdEluZGV4QXRPZmZzZXQob2Zmc2V0WCwg
b2Zmc2V0WSk7CisgICAgICAgIEludFBvaW50IGxvY2FsT2Zmc2V0ID0gcm91bmRlZEludFBvaW50
KHJlbmRlcmVyKCktPmFic29sdXRlVG9Mb2NhbChtb3VzZUV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9u
KCksIGZhbHNlLCB0cnVlKSk7CisgICAgICAgIGludCBsaXN0SW5kZXggPSBzdGF0aWNfY2FzdDxS
ZW5kZXJMaXN0Qm94Kj4ocmVuZGVyZXIoKSktPmxpc3RJbmRleEF0T2Zmc2V0KGxvY2FsT2Zmc2V0
LngoKSwgbG9jYWxPZmZzZXQueSgpKTsKICAgICAgICAgaWYgKGxpc3RJbmRleCA+PSAwKSB7CiAg
ICAgICAgICAgICAvLyBTYXZlIHRoZSBzZWxlY3Rpb24gc28gaXQgY2FuIGJlIGNvbXBhcmVkIHRv
IHRoZSBuZXcgc2VsZWN0aW9uIHdoZW4gd2UgY2FsbCBvbkNoYW5nZSBkdXJpbmcgbW91c2V1cCwg
b3IgYWZ0ZXIgYXV0b3Njcm9sbCBmaW5pc2hlcy4KICAgICAgICAgICAgIHNhdmVMYXN0U2VsZWN0
aW9uKCk7Cg==
</data>
<flag name="review"
          id="14237"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>