<?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>36978</bug_id>
          
          <creation_ts>2010-04-01 13:17:20 -0700</creation_ts>
          <short_desc>Very bad scrolling-performance with the Trackpad at http://www.apple.com/ipad/app-store/</short_desc>
          <delta_ts>2010-04-02 18:05:49 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.apple.com/ipad/app-store/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mehmet">mehmet.sahin</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>hyatt</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>207348</commentid>
    <comment_count>0</comment_count>
    <who name="Mehmet">mehmet.sahin</who>
    <bug_when>2010-04-01 13:17:20 -0700</bug_when>
    <thetext>Hello Webkit-Team,

the two-finger-scrolling-performance is very bad and jerky at following site: http://www.apple.com/ipad/app-store/

Hardware: MacBook 3,1
OS: 10.6.3
Tested with: Safari 4.0.5 and Nightly Build r56912

Thanks in advance.

Mehmet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207596</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-04-01 19:06:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/7820819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208145</commentid>
    <comment_count>2</comment_count>
      <attachid>52466</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-04-02 16:44:24 -0700</bug_when>
    <thetext>Created attachment 52466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208155</commentid>
    <comment_count>3</comment_count>
      <attachid>52466</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-02 17:03:38 -0700</bug_when>
    <thetext>Comment on attachment 52466
Patch

&gt; +        // Check to see if the image changed; we have to do this because the call to
&gt; +        // CGImageCreateCopyWithColorSpace() below can create a new image every time.
&gt; +        if (m_uncorrectedContentsImage &amp;&amp; CFEqual(m_uncorrectedContentsImage.get(), newImage))
&gt; +            return;

Wow, does CFEqual actually work on CGImages!? And it compares every bit?

&gt; +        m_uncorrectedContentsImage = m_pendingContentsImage = newImage;

Could you do these on separate lines? It&apos;s too easy to overlook the second assignment when it&apos;s all on one line.

r=me assuming you tested</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208177</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-04-02 17:26:08 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 52466 [details])
&gt; &gt; +        // Check to see if the image changed; we have to do this because the call to
&gt; &gt; +        // CGImageCreateCopyWithColorSpace() below can create a new image every time.
&gt; &gt; +        if (m_uncorrectedContentsImage &amp;&amp; CFEqual(m_uncorrectedContentsImage.get(), newImage))
&gt; &gt; +            return;
&gt; 
&gt; Wow, does CFEqual actually work on CGImages!? And it compares every bit?

I don&apos;t care about bit-for-bit comparisons; this just checks to see if this image is the same as the last one we set. I guess I could test for pointer equality?

&gt; &gt; +        m_uncorrectedContentsImage = m_pendingContentsImage = newImage;
&gt; 
&gt; Could you do these on separate lines? It&apos;s too easy to overlook the second
&gt; assignment when it&apos;s all on one line.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208194</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-04-02 18:05:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/57039</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52466</attachid>
            <date>2010-04-02 16:44:24 -0700</date>
            <delta_ts>2010-04-02 17:03:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36978-20100402164422.patch</filename>
            <type>text/plain</type>
            <size>3222</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGM5M2ZjYS4uYmI5YzVkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNCBAQAogMjAxMC0wNC0wMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBWZXJ5IGJhZCBzY3JvbGxpbmctcGVyZm9ybWFuY2Ugd2l0aCB0
aGUgVHJhY2twYWQgYXQgaHR0cDovL3d3dy5hcHBsZS5jb20vaXBhZC9hcHAtc3RvcmUvCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjk3OAorCisgICAg
ICAgIFdoZW4gd2UgdXBkYXRlIGNvbXBvc2l0aW5nIGxheWVycyAod2hpY2ggY2FuIGhhcHBlbiBv
biBzY3JvbGxpbmcsIHdoZW4gdGhlcmUgYXJlIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzCisgICAg
ICAgIG9uIHRoZSBwYWdlKSwgd2UgY2FuIGVuZCB1cCByZWR1bmRhbnRseSBzZXR0aW5nIGltYWdl
cyBhcyBsYXllciBjb250ZW50cyBpZiB3ZSBoYXZlIHRvIGNvbG9yLWNvcnJlY3QKKyAgICAgICAg
dGhlIGltYWdlLiBUaGlzIGlzIGJlY2F1c2Ugd2UgY2FsbCBDR0ltYWdlQ3JlYXRlQ29weVdpdGhD
b2xvclNwYWNlKCksIHdoaWNoIGhhbmRzIGJhY2sgYSBuZXcgaW1hZ2UKKyAgICAgICAgZXZlcnkg
dGltZS4KKyAgICAgICAgCisgICAgICAgIEF2b2lkIHRoaXMgYnkgc3RvcmluZyBhIHJlZmVyZW5j
ZSB0byB0aGUgb3JpZ2luYWwgdW5jb3JyZWN0ZWQgaW1hZ2UsIHdoaWNoIGlzIHVzZWQgdG8gdGhl
bgorICAgICAgICBhdm9pZCB3b3JrIGlmIHRoZSBpbWFnZSBkb2VzIG5vdCBjaGFuZ2UuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb0ltYWdlKToKKworMjAxMC0wNC0w
MiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBBdm9pZCBkb2luZyB3b3JrIGluIEZyYW1l
Vmlldzo6c2Nyb2xsUG9zaXRpb25DaGFuZ2VkKCkgaWYgdGhlcmUgYXJlIG5vIGZpeGVkIHBvc2l0
aW9uIGVsZW1lbnRzCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9H
cmFwaGljc0xheWVyQ0EuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNz
TGF5ZXJDQS5oCmluZGV4IDUzNjI1NjIuLjQ5YWViYmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5oCkBAIC0zNDAsNiArMzQwLDcgQEAgcHJp
dmF0ZToKIAogICAgIFJldGFpblB0cjxXZWJBbmltYXRpb25EZWxlZ2F0ZT4gbV9hbmltYXRpb25E
ZWxlZ2F0ZTsKIAorICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBtX3VuY29ycmVjdGVkQ29udGVu
dHNJbWFnZTsKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gbV9wZW5kaW5nQ29udGVudHNJbWFn
ZTsKICAgICAKICAgICBzdHJ1Y3QgTGF5ZXJBbmltYXRpb24gewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tCmluZGV4IGY2NWE2YzMuLmUyY2Q0
NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5
ZXJDQS5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0xheWVy
Q0EubW0KQEAgLTc2OCw3ICs3NjgsMTYgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnBhdXNlQW5p
bWF0aW9uKGNvbnN0IFN0cmluZyYga2V5ZnJhbWVzTmFtZSwgZG91YmxlIHRpbWVPZmYKIHZvaWQg
R3JhcGhpY3NMYXllckNBOjpzZXRDb250ZW50c1RvSW1hZ2UoSW1hZ2UqIGltYWdlKQogewogICAg
IGlmIChpbWFnZSkgewotICAgICAgICBtX3BlbmRpbmdDb250ZW50c0ltYWdlID0gaW1hZ2UtPm5h
dGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAgICAgIENHSW1hZ2VSZWYgbmV3SW1hZ2Ug
PSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKTsKKyAgICAgICAgaWYgKCFuZXdJ
bWFnZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYg
dGhlIGltYWdlIGNoYW5nZWQ7IHdlIGhhdmUgdG8gZG8gdGhpcyBiZWNhdXNlIHRoZSBjYWxsIHRv
CisgICAgICAgIC8vIENHSW1hZ2VDcmVhdGVDb3B5V2l0aENvbG9yU3BhY2UoKSBiZWxvdyBjYW4g
Y3JlYXRlIGEgbmV3IGltYWdlIGV2ZXJ5IHRpbWUuCisgICAgICAgIGlmIChtX3VuY29ycmVjdGVk
Q29udGVudHNJbWFnZSAmJiBDRkVxdWFsKG1fdW5jb3JyZWN0ZWRDb250ZW50c0ltYWdlLmdldCgp
LCBuZXdJbWFnZSkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIAorICAgICAgICBtX3Vu
Y29ycmVjdGVkQ29udGVudHNJbWFnZSA9IG1fcGVuZGluZ0NvbnRlbnRzSW1hZ2UgPSBuZXdJbWFn
ZTsKICAgICAgICAgQ0dDb2xvclNwYWNlUmVmIGNvbG9yU3BhY2UgPSBDR0ltYWdlR2V0Q29sb3JT
cGFjZShtX3BlbmRpbmdDb250ZW50c0ltYWdlLmdldCgpKTsKIAogICAgICAgICBzdGF0aWMgQ0dD
b2xvclNwYWNlUmVmIGRldmljZVJHQiA9IENHQ29sb3JTcGFjZUNyZWF0ZURldmljZVJHQigpOwpA
QCAtNzgyLDYgKzc5MSw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRDb250ZW50c1RvSW1h
Z2UoSW1hZ2UqIGltYWdlKQogICAgICAgICBpZiAoIW1fY29udGVudHNMYXllcikKICAgICAgICAg
ICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CiAgICAgfSBlbHNlIHsKKyAgICAgICAgbV91bmNv
cnJlY3RlZENvbnRlbnRzSW1hZ2UgPSAwOwogICAgICAgICBtX3BlbmRpbmdDb250ZW50c0ltYWdl
ID0gMDsKICAgICAgICAgbV9jb250ZW50c0xheWVyUHVycG9zZSA9IE5vQ29udGVudHNMYXllcjsK
ICAgICAgICAgaWYgKG1fY29udGVudHNMYXllcikK
</data>
<flag name="review"
          id="35962"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>