<?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>72059</bug_id>
          
          <creation_ts>2011-11-10 14:22:26 -0800</creation_ts>
          <short_desc>[chromium] scrolling is broken with compositor thread</short_desc>
          <delta_ts>2011-11-11 04:16:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hin-Chung Lam">hclam</reporter>
          <assigned_to name="Hin-Chung Lam">hclam</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>500279</commentid>
    <comment_count>0</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-11-10 14:22:26 -0800</bug_when>
    <thetext>Scrolling is currently broken because of this http://trac.webkit.org/changeset/99844

The above patch tries to subtract scroll delta after commit has completed on the main thread. However the subtraction happens on a wrong layer. It subtracts scroll delta from the root layer but instead scroll delta is coming from the scroll layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500307</commentid>
    <comment_count>1</comment_count>
      <attachid>114578</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-11-10 14:44:32 -0800</bug_when>
    <thetext>Created attachment 114578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500315</commentid>
    <comment_count>2</comment_count>
      <attachid>114578</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-10 14:51:03 -0800</bug_when>
    <thetext>Comment on attachment 114578
Patch

You should apply the scroll deltas to CCLayerTreeHostImpl::m_scrollLayer on the impl side, not the root layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500321</commentid>
    <comment_count>3</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-10 14:57:25 -0800</bug_when>
    <thetext>There&apos;s also still the other option I suggested for the previous patch, of just storing the old scroll delta in a separate CCLayerImpl member variable that you can clear during commit without having to look up layers.

In other words, during the begin frame where we were previously clearing scroll delta:

layer-&gt;setSentScrollDelta(layer-&gt;sentScrollDelta() + layerScrollDelta());
layer-&gt;setScrollDelta(IntSize());

Then during commit, you could clear sentScrollDelta.  And, during calculateLayersAndVisibility, you could consider scrollDelta() and sentScrollDelta() together when calculating layer positions.

It&apos;s just a suggestion, but it might be a simpler approach than all of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500325</commentid>
    <comment_count>4</comment_count>
      <attachid>114583</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-11-10 15:01:35 -0800</bug_when>
    <thetext>Created attachment 114583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500329</commentid>
    <comment_count>5</comment_count>
      <attachid>114583</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-10 15:05:23 -0800</bug_when>
    <thetext>Comment on attachment 114583
Patch

This seems reasonable for now. Enne&apos;s approach does seem better overall.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500332</commentid>
    <comment_count>6</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-11-10 15:07:06 -0800</bug_when>
    <thetext>I&apos;ve tested the patch I just uploaded. This applies the scroll delta on the scroll layer that we know.

I think a simple way of doing this would be just pushing the position with respect to the container&apos;s visible rectangle.. that way there&apos;s no need to use scroll delta to position this layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500652</commentid>
    <comment_count>7</comment_count>
      <attachid>114583</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-11-11 04:16:13 -0800</bug_when>
    <thetext>Comment on attachment 114583
Patch

Clearing flags on attachment: 114583

Committed r99942: &lt;http://trac.webkit.org/changeset/99942&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>500653</commentid>
    <comment_count>8</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-11-11 04:16:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114578</attachid>
            <date>2011-11-10 14:44:32 -0800</date>
            <delta_ts>2011-11-10 15:01:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72059-20111110224431.patch</filename>
            <type>text/plain</type>
            <size>7532</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk4NDkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZjQ4YTUxYzc0NDg1NzRi
M2RlYTRjMGU0ZGI4M2QzMTNmODE4N2U4Li4zY2ZmMTRjNGVjZTcxZTZhMmIzZjY4ZGU2MTE2Yjhj
OGFiMWViZDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMTEtMTAgIEFscGhh
IExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIHNjcm9sbGlu
ZyBpcyBicm9rZW4gd2l0aCBjb21wb3NpdG9yIHRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbml0IHRlc3QgaW4gQ0NMYXllclRyZWVIb3N0VGVz
dC5jcHAuCisKKyAgICAgICAgTGF5ZXJUcmVlSG9zdCBzaG91bGQgZmluZHMgdGhlIGxheWVyIHRo
YXQgaGFzIHRoZSBjb3JyZXNwb25kaW5nIHNjcm9sbCBkZWx0YQorICAgICAgICBhbmQgYWN0IG9u
IGl0LiBUaGlzIGlzIGRvbmUgYnkgY2FsbGluZyBmaW5kTGF5ZXJCeUlkUmVjdXJzaXZlbHkoKS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6YXBwbHlTY3JvbGxBbmRTY2FsZSk6
CisgICAgICAgIFNpbmNlIHRoZXJlJ3Mgbm8gY29ycmVzcG9uZGluZyBjbGllbnQgZm9yIGVhY2gg
bGF5ZXIgc28ganVzdCBjYWxsIHJvb3QgbGF5ZXIncworICAgICAgICBsYXllciB0cmVlIGhvc3Qg
dG8gbm90aWZ5IHRoZSBzY3JvbGwuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRM
YXllckJ5SWRSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJDb3JlOjphcHBseVNjcm9sbEFuZFNj
YWxlSW50ZXJuYWwpOgorICAgICAgICBSZWN1cnNpdmVseSBmaW5kIHRoZSB0YXJnZXQgbGF5ZXIg
YW5kIGNhbGwgYXBwbHlTY3JvbGxBbmRTY2FsZSgpIG9uIGl0LgorCiAyMDExLTExLTEwICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogU2hvdyBtZWRpYSBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCBzcGVjaWZpYyBDU1MgcnVs
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYjBkMDZiMTc5OTI0Y2M4Mzg3NjNhZmJi
OWM2ZDQ5MDVjZjJkN2UyNi4uYzExNjVmMjc4NmEyZWRkZjgzODExYmRmNzU4NjMxZmQ5NWIyMGZl
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMSBAQAogMjAxMS0xMS0x
MCAgQWxwaGEgTGFtICA8aGNsYW1AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0g
c2Nyb2xsaW5nIGlzIGJyb2tlbiB3aXRoIGNvbXBvc2l0b3IgdGhyZWFkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSB0ZXN0IHRvIG1ha2Ugc3Vy
ZSBhcHBseVNjcm9sbEFuZFNjYWxlKCkgZmluZHMgdGhlIGxheWVyIHdpdGggYSBzcGVjaWZpYyBh
bmQKKyAgICAgICAgYWN0cyBvbiBpdC4KKworICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9z
dFRlc3QuY3BwOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0QXBwbHlTY3JvbGxB
bmRTY2FsZTo6Q0NMYXllclRyZWVIb3N0VGVzdEFwcGx5U2Nyb2xsQW5kU2NhbGUpOgorICAgICAg
ICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0QXBwbHlTY3JvbGxBbmRTY2FsZTo6YXBwbHlTY3Jv
bGxBbmRTY2FsZSk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RBcHBseVNjcm9s
bEFuZFNjYWxlOjpzY3JvbGxzKToKKyAgICAgICAgKFdURjo6VEVTVCk6CisKKzIwMTEtMTEtMTAg
IEFscGhhIExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21pdW1dIFNj
cm9sbCBkZWx0YXMgYXJlIGNsZWFyZWQgZHVyaW5nIGNvbW1pdCB0byB0aGUgbWFpbiB0aHJlYWQK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTE2CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZDk3MTdlMWY2NDM5NjJmM2MxZmVjZmUwMDg0NjBi
ZjAxNDlkZjg2Zi4uNDNhNDUzOGYyYjYwMTM5M2M4Y2FlMTZiMjFhNTlkZjJkMmQwYTQ5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJD
aHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTEwNywxMCArMTA3LDEwIEBAIHZvaWQgTGF5ZXJDaHJv
bWl1bTo6Y2xlYW51cFJlc291cmNlc1JlY3Vyc2l2ZSgpCiB2b2lkIExheWVyQ2hyb21pdW06OmFw
cGx5U2Nyb2xsQW5kU2NhbGUoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGZsb2F0IHBhZ2VT
Y2FsZSkKIHsKICAgICAvLyBGSVhNRTogYXBwbHkgc2Nyb2xsIGRlbHRhIG5vdCBqdXN0IHRvIEND
TGF5ZXJUcmVlSG9zdENsaWVudC4KLSAgICBpZiAoIWxheWVyVHJlZUhvc3QoKSB8fCAhbGF5ZXJU
cmVlSG9zdCgpLT5jbGllbnQoKSkKKyAgICBpZiAoIXJvb3RMYXllcigpIHx8ICFyb290TGF5ZXIo
KS0+bGF5ZXJUcmVlSG9zdCgpIHx8ICFyb290TGF5ZXIoKS0+bGF5ZXJUcmVlSG9zdCgpLT5jbGll
bnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbGF5ZXJUcmVlSG9zdCgpLT5jbGllbnQoKS0+
YXBwbHlTY3JvbGxBbmRTY2FsZShzY3JvbGxEZWx0YSwgcGFnZVNjYWxlKTsKKyAgICByb290TGF5
ZXIoKS0+bGF5ZXJUcmVlSG9zdCgpLT5jbGllbnQoKS0+YXBwbHlTY3JvbGxBbmRTY2FsZShzY3Jv
bGxEZWx0YSwgcGFnZVNjYWxlKTsKIH0KIAogdm9pZCBMYXllckNocm9taXVtOjpzZXRMYXllclRy
ZWVIb3N0KENDTGF5ZXJUcmVlSG9zdCogaG9zdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJl
ZUhvc3RDb21tb24uY3BwCmluZGV4IGI5YTJhZDM3NzZhZWU4MDEyZDliYzQ4YTAyOGU5NzUxNWI1
M2ExNzcuLjRiM2UxMjY3MjVhY2ZkMWI2MjcxNjY1ODFmOWQ3ZGY0YzY5ZTZhMjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcApAQCAtNDM0LDE0ICs0MzQsMzMg
QEAgc3RhdGljIHZvaWQgY2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNBbmRWaXNpYmlsaXR5SW50ZXJu
YWwoTGF5ZXJUeXBlKiBsYXllciwgTGF5ZXIKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJU
eXBlPgorc3RhdGljIExheWVyVHlwZSogZmluZExheWVyQnlJZFJlY3Vyc2l2ZWx5KExheWVyVHlw
ZSogbGF5ZXIsIGludCBpZCkKK3sKKyAgICBpZiAoIWxheWVyKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIGlmIChsYXllci0+aWQoKSA9PSBpZCkKKyAgICAgICAgcmV0dXJuIGxheWVyOworCisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsYXllci0+Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkg
eworICAgICAgICBMYXllclR5cGUqIHRhcmdldExheWVyID0gZmluZExheWVyQnlJZFJlY3Vyc2l2
ZWx5KGxheWVyLT5jaGlsZHJlbigpW2ldLmdldCgpLCBpZCk7CisgICAgICAgIGlmICh0YXJnZXRM
YXllcikKKyAgICAgICAgICAgIHJldHVybiB0YXJnZXRMYXllcjsKKyAgICB9CisgICAgcmV0dXJu
IDA7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIExheWVyVHlwZT4KIHN0YXRpYyB2b2lkIGFwcGx5
U2Nyb2xsQW5kU2NhbGVJbnRlcm5hbChMYXllclR5cGUqIHJvb3RMYXllciwgY29uc3QgQ0NTY3Jv
bGxBbmRTY2FsZVNldCYgc2Nyb2xsSW5mbykKIHsKICAgICBpZiAoIXJvb3RMYXllciB8fCAhc2Ny
b2xsSW5mby5zY3JvbGxzLnNpemUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gRklYTUU6
IGFwcGx5IHNjcm9sbCBkZWx0YXMgZnJvbSBsYXllciBvdGhlciB0aGFuIHRoZSByb290LgotICAg
IEFTU0VSVChzY3JvbGxJbmZvLnNjcm9sbHMuc2l6ZSgpID09IDEgJiYgc2Nyb2xsSW5mby5zY3Jv
bGxzWzBdLmxheWVySWQgPT0gcm9vdExheWVyLT5pZCgpKTsKLSAgICByb290TGF5ZXItPmFwcGx5
U2Nyb2xsQW5kU2NhbGUoc2Nyb2xsSW5mby5zY3JvbGxzWzBdLnNjcm9sbERlbHRhLCBzY3JvbGxJ
bmZvLnBhZ2VTY2FsZSk7CisgICAgLy8gRklYTUU6IGFwcGx5IHNjcm9sbCBkZWx0YXMgZm9yIG1v
cmUgdGhhbiBvbmUgbGF5ZXIuCisgICAgQVNTRVJUKHNjcm9sbEluZm8uc2Nyb2xscy5zaXplKCkg
PT0gMSk7CisgICAgTGF5ZXJUeXBlKiB0YXJnZXRMYXllciA9IGZpbmRMYXllckJ5SWRSZWN1cnNp
dmVseShyb290TGF5ZXIsIHNjcm9sbEluZm8uc2Nyb2xsc1swXS5sYXllcklkKTsKKyAgICBBU1NF
UlQodGFyZ2V0TGF5ZXIpOworICAgIHRhcmdldExheWVyLT5hcHBseVNjcm9sbEFuZFNjYWxlKHNj
cm9sbEluZm8uc2Nyb2xsc1swXS5zY3JvbGxEZWx0YSwgc2Nyb2xsSW5mby5wYWdlU2NhbGUpOwog
fQogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdENvbW1vbjo6Y2FsY3VsYXRlRHJhd1RyYW5zZm9ybXNB
bmRWaXNpYmlsaXR5KExheWVyQ2hyb21pdW0qIGxheWVyLCBMYXllckNocm9taXVtKiByb290TGF5
ZXIsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBwYXJlbnRNYXRyaXgsIGNvbnN0IFRyYW5z
Zm9ybWF0aW9uTWF0cml4JiBmdWxsSGllcmFyY2h5TWF0cml4LCBWZWN0b3I8UmVmUHRyPExheWVy
Q2hyb21pdW0+ID4mIHJlbmRlclN1cmZhY2VMYXllckxpc3QsIFZlY3RvcjxSZWZQdHI8TGF5ZXJD
aHJvbWl1bT4gPiYgbGF5ZXJMaXN0LCBpbnQgbWF4VGV4dHVyZVNpemUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcAppbmRleCBi
ZWMyNzk4MzNiOTkxYjczNGQ5M2RmMmZlMGRkZjVhZjhkMGEwMmFiLi5iYTRlNmFmMWVkMjI4NmJk
MzhlNWE0MDg0MDZlOWYxZWYyNjIwYjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKQEAgLTc2Miw0ICs3NjIsNDkgQEAg
VEVTVF9GKENDTGF5ZXJUcmVlSG9zdFRlc3RTY3JvbGxNdWx0aXBsZVJlZHJhdywgcnVuTXVsdGlU
aHJlYWQpCiAgICAgcnVuVGVzdFRocmVhZGVkKCk7CiB9CiAKK2NsYXNzIENDTGF5ZXJUcmVlSG9z
dFRlc3RBcHBseVNjcm9sbEFuZFNjYWxlIDogcHVibGljIFRlc3RIb29rcyB7CitwdWJsaWM6Cisg
ICAgQ0NMYXllclRyZWVIb3N0VGVzdEFwcGx5U2Nyb2xsQW5kU2NhbGUoKQorICAgICAgICA6IG1f
c2Nyb2xscygwKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgYXBwbHlTY3JvbGxB
bmRTY2FsZShjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgZmxvYXQgc2NhbGUpCisgICAgewor
ICAgICAgICBwcmludGYoImFwcGx5IHNjcm9sbCBhbmQgc2NhbGVcbiIpOworICAgICAgICBtX3Nj
cm9sbHMrKzsKKyAgICB9CisKKyAgICBpbnQgc2Nyb2xscygpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
b2xsczsgfQorCitwcml2YXRlOgorICAgIGludCBtX3Njcm9sbHM7Cit9OworCitURVNUKENDTGF5
ZXJUcmVlSG9zdENvbW1vblRlc3QsIGFwcGx5U2Nyb2xsQW5kU2NhbGUpCit7CisgICAgUmVmUHRy
PExheWVyQ2hyb21pdW0+IHBhcmVudCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgwKTsKKyAgICBS
ZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQgPSBMYXllckNocm9taXVtOjpjcmVhdGUoMCk7Cisg
ICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGdyYW5kQ2hpbGQxID0gTGF5ZXJDaHJvbWl1bTo6Y3Jl
YXRlKDApOworICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBncmFuZENoaWxkMiA9IExheWVyQ2hy
b21pdW06OmNyZWF0ZSgwKTsKKyAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gZ3JhbmRHcmFuZENo
aWxkID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKDApOworICAgIHBhcmVudC0+YWRkQ2hpbGQoY2hp
bGQpOworICAgIGNoaWxkLT5hZGRDaGlsZChncmFuZENoaWxkMSk7CisgICAgY2hpbGQtPmFkZENo
aWxkKGdyYW5kQ2hpbGQyKTsKKyAgICBncmFuZENoaWxkMi0+YWRkQ2hpbGQoZ3JhbmRHcmFuZENo
aWxkKTsKKworICAgIENDU2Nyb2xsQW5kU2NhbGVTZXQgc2Nyb2xsQW5kU2NhbGVTZXQ7CisgICAg
Q0NMYXllclRyZWVIb3N0Q29tbW9uOjpTY3JvbGxVcGRhdGVJbmZvIHNjcm9sbEluZm87CisgICAg
c2Nyb2xsSW5mby5sYXllcklkID0gZ3JhbmRDaGlsZDItPmlkKCk7CisgICAgc2Nyb2xsQW5kU2Nh
bGVTZXQuc2Nyb2xscy5hcHBlbmQoc2Nyb2xsSW5mbyk7CisKKyAgICBDQ0xheWVyVHJlZUhvc3RU
ZXN0QXBwbHlTY3JvbGxBbmRTY2FsZSBtb2NrVGVzdEhvb2tzOworICAgIE93blB0cjxNb2NrTGF5
ZXJUcmVlSG9zdENsaWVudD4gdHJlZUhvc3RDbGllbnQgPSBNb2NrTGF5ZXJUcmVlSG9zdENsaWVu
dDo6Y3JlYXRlKCZtb2NrVGVzdEhvb2tzKTsKKyAgICBSZWZQdHI8Q0NMYXllclRyZWVIb3N0PiB0
cmVlSG9zdCA9IE1vY2tMYXllclRyZWVIb3N0OjpjcmVhdGUoJm1vY2tUZXN0SG9va3MsIHRyZWVI
b3N0Q2xpZW50LmdldCgpLCBwYXJlbnQsIENDU2V0dGluZ3MoKSk7CisgICAgcGFyZW50LT5zZXRM
YXllclRyZWVIb3N0KHRyZWVIb3N0LmdldCgpKTsKKworICAgIENDTGF5ZXJUcmVlSG9zdENvbW1v
bjo6YXBwbHlTY3JvbGxBbmRTY2FsZShwYXJlbnQuZ2V0KCksIHNjcm9sbEFuZFNjYWxlU2V0KTsK
KyAgICBFWFBFQ1RfRVEoMSwgbW9ja1Rlc3RIb29rcy5zY3JvbGxzKCkpOworfQorCiB9IC8vIG5h
bWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114583</attachid>
            <date>2011-11-10 15:01:35 -0800</date>
            <delta_ts>2011-11-11 04:16:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72059-20111110230134.patch</filename>
            <type>text/plain</type>
            <size>2972</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk5MDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNTRkOTBlZmJmYTVmNDhh
M2ZjODc4Njg1NmM2YjBjMjExNWZiMDA2Li5iOTIwZjlmZmY5MzA3MTE2Y2RkM2VhNGQyY2MzNGNm
ZTcyMGM5ZGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTEtMTAgIEFscGhh
IExhbSAgPGhjbGFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIHNjcm9sbGlu
ZyBpcyBicm9rZW4gd2l0aCBjb21wb3NpdG9yIHRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdC4gRXhpc3RpbmcgdGVzdCBDQ0xh
eWVyVHJlZUhvc3RJbXBsVGVzdC5zY3JvbGxEZWx0YVJlcGVhdGVkU2Nyb2xscyBjaGVja3Mgc2Ny
b2xsIGRlbHRhcyBhcmUgYXBwbGllZAorICAgICAgICBvbiB0aGUgcmlnaHQgbGF5ZXIuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3RJbXBsOjpzY3JvbGxMYXllcik6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpiZWdpbkZyYW1lQ29tcGxldGVP
bkltcGxUaHJlYWQpOgorICAgICAgICBJbnN0ZWFkIG9mIGNhbGxpbmcgb24gdGhlIHJvb3QgbGF5
ZXIgd2hpY2ggZG9lc24ndCBoYXZlIHNjcm9sbCBkZWx0YSBhcHBsaWVkLiBDaGFuZ2UgdGhpcyB0
byBzY3JvbGxMYXllcigpCisgICAgICAgIHdoaWNoIGFjdHVhbGx5IGhhcyBzY3JvbGwgZGVsdGEu
CisKIDIwMTEtMTEtMTAgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIENvZGVHZW5lcmF0b3JWOC5wbSBjYW4gZ2VuZXJhdGUgRXZlbnQgY29uc3RydWN0b3Jz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKaW5kZXggYzg3Y2MxY2M4NDY3MDdj
N2Q3NzAzYTdjZTg5N2IwNGE3MTM0MmMxZC4uNDRiOWViOTNlOGE0NDU3NjhkNDM3ODI3MDFkNjAw
YzQzMDA0MmZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaApAQCAtODYs
NiArODYsOCBAQCBwdWJsaWM6CiAgICAgQ0NMYXllckltcGwqIHJvb3RMYXllcigpIGNvbnN0IHsg
cmV0dXJuIG1fcm9vdExheWVySW1wbC5nZXQoKTsgfQogICAgIHZvaWQgc2V0Um9vdExheWVyKFBh
c3NSZWZQdHI8Q0NMYXllckltcGw+KTsKIAorICAgIENDTGF5ZXJJbXBsKiBzY3JvbGxMYXllcigp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsTGF5ZXJJbXBsLmdldCgpOyB9CisKICAgICBib29sIHZp
c2libGUoKSBjb25zdCB7IHJldHVybiBtX3Zpc2libGU7IH0KICAgICB2b2lkIHNldFZpc2libGUo
Ym9vbCk7CiAgICAgdm9pZCBzZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJzKGJvb2wgaGF2ZVdoZWVs
RXZlbnRIYW5kbGVycykgeyBtX2hhdmVXaGVlbEV2ZW50SGFuZGxlcnMgPSBoYXZlV2hlZWxFdmVu
dEhhbmRsZXJzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmluZGV4IDA2M2QwYWVhZDEx
ZjFlZDMwMzYwNGUwMzQ5MjBhODE1MDZmOTdmYmEuLmE5OTRjZmY3NTkwMGM2OWE5YzA4MzQ3NjRh
YTgzZThkNTA0ZTRmMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC00MTIsNyAr
NDEyLDcgQEAgdm9pZCBDQ1RocmVhZFByb3h5OjpiZWdpbkZyYW1lQ29tcGxldGVPbkltcGxUaHJl
YWQoQ0NDb21wbGV0aW9uRXZlbnQqIGNvbXBsZXRpb24KICAgICBBU1NFUlQoIW1fY3VycmVudFRl
eHR1cmVVcGRhdGVyT25JbXBsVGhyZWFkKTsKICAgICBtX2N1cnJlbnRUZXh0dXJlVXBkYXRlck9u
SW1wbFRocmVhZCA9IGFkb3B0UHRyKG5ldyBDQ1RleHR1cmVVcGRhdGVyKG1fbGF5ZXJUcmVlSG9z
dEltcGwtPmNvbnRlbnRzVGV4dHVyZUFsbG9jYXRvcigpKSk7CiAgICAgbV9sYXllclRyZWVIb3N0
LT51cGRhdGVDb21wb3NpdG9yUmVzb3VyY2VzKG1fbGF5ZXJUcmVlSG9zdEltcGwtPmNvbnRleHQo
KSwgKm1fY3VycmVudFRleHR1cmVVcGRhdGVyT25JbXBsVGhyZWFkKTsKLSAgICBDQ0xheWVyVHJl
ZUhvc3RDb21tb246OmFwcGx5U2Nyb2xsQW5kU2NhbGUobV9sYXllclRyZWVIb3N0SW1wbC0+cm9v
dExheWVyKCksICpzY3JvbGxJbmZvKTsKKyAgICBDQ0xheWVyVHJlZUhvc3RDb21tb246OmFwcGx5
U2Nyb2xsQW5kU2NhbGUobV9sYXllclRyZWVIb3N0SW1wbC0+c2Nyb2xsTGF5ZXIoKSwgKnNjcm9s
bEluZm8pOwogCiAgICAgbV9zY2hlZHVsZXJPbkltcGxUaHJlYWQtPmJlZ2luRnJhbWVDb21wbGV0
ZSgpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>