<?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>85488</bug_id>
          
          <creation_ts>2012-05-03 06:05:37 -0700</creation_ts>
          <short_desc>TiledBackingStore: Don&apos;t intersect invalidated rects with the keep rect</short_desc>
          <delta_ts>2012-05-14 06:06:23 -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>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="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Jocelyn Turcotte">jturcotte</assigned_to>
          <cc>kenneth</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>615213</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-05-03 06:05:37 -0700</bug_when>
    <thetext>TiledBackingStore: Don&apos;t intersect invalidated rects with the keep rect</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615216</commentid>
    <comment_count>1</comment_count>
      <attachid>139996</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-05-03 06:08:56 -0700</bug_when>
    <thetext>Created attachment 139996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615221</commentid>
    <comment_count>2</comment_count>
      <attachid>139996</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-03 06:19:58 -0700</bug_when>
    <thetext>Comment on attachment 139996
Patch

Add a comment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615222</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2012-05-03 06:20:32 -0700</bug_when>
    <thetext>just stumbled upon this and here is my educated review: 
user scroll -&gt; user scrolls in the changelog. looks good otherwise. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615232</commentid>
    <comment_count>4</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-05-03 06:35:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 139996 [details])
&gt; Add a comment?

Will do.

It can be reproduced with the current multiplier on qt.nokia.com:
- Click on &quot;Qt Creator 2.4.1&quot;
This will change page and move the viewport down to the anchor just enough so that the first row of tiles intersects the keep rect.
- Press back
This will invalidate all tiles and bring the viewport back to the top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621603</commentid>
    <comment_count>5</comment_count>
      <attachid>141410</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-05-11 07:01:39 -0700</bug_when>
    <thetext>Created attachment 141410
Patch

This patch would cause costly iterations if a layer is scaled down considerably.
Updated to iterate tiles on the intesected rect like before, but mark them dirty using the full dirtyRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621726</commentid>
    <comment_count>6</comment_count>
      <attachid>141410</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-11 09:51:19 -0700</bug_when>
    <thetext>Comment on attachment 141410
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=141410&amp;action=review

&gt; Source/WebCore/platform/graphics/TiledBackingStore.cpp:92
&gt; -    IntRect dirtyRect(intersection(mapFromContents(contentsDirtyRect), m_keepRect));
&gt; +    IntRect dirtyRect(mapFromContents(contentsDirtyRect));
&gt;  
&gt; -    Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
&gt; -    Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
&gt; +    // Only iterate on the part of the rect that we know we might have tiles.
&gt; +    IntRect coveredDirtyRect = intersection(dirtyRect, m_keepRect);
&gt; +    Tile::Coordinate topLeft = tileCoordinateForPoint(coveredDirtyRect.location());
&gt; +    Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(coveredDirtyRect));

I dont see the difference here:

coveredDirtyRect seems to be the exact same as the old dirtyRect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621753</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-05-11 10:14:19 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I dont see the difference here:
&gt; 
&gt; coveredDirtyRect seems to be the exact same as the old dirtyRect.

coveredDirtyRect is intersected with m_keepRect and dirtyRect isn&apos;t.
It is exactly as the old dirtyRect, it&apos;s dirtyRect that changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621876</commentid>
    <comment_count>8</comment_count>
      <attachid>141410</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-11 12:33:39 -0700</bug_when>
    <thetext>Comment on attachment 141410
Patch

Ah got it now... I wonder if that could be made more clear, but I guess not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622882</commentid>
    <comment_count>9</comment_count>
      <attachid>141410</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-14 06:06:18 -0700</bug_when>
    <thetext>Comment on attachment 141410
Patch

Clearing flags on attachment: 141410

Committed r116938: &lt;http://trac.webkit.org/changeset/116938&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>622883</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-14 06:06:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139996</attachid>
            <date>2012-05-03 06:08:56 -0700</date>
            <delta_ts>2012-05-11 07:01:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85488-20120503150854.patch</filename>
            <type>text/plain</type>
            <size>1918</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWRkNDcyZTAxZGViOWZk
MjA1NjM1MzFkYzVmNDJiNGNhZjE4NmI1Ny4uYzFjY2MwNGIxODg2ZWMwNTlmMWQ5NTM0OTdlNDMy
ZmZlOGI0ZDA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA1LTAzICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CisKKyAgICAgICAgVGls
ZWRCYWNraW5nU3RvcmU6IERvbid0IGludGVyc2VjdCBpbnZhbGlkYXRlZCByZWN0cyB3aXRoIHRo
ZSBrZWVwIHJlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg1NDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgaGF2ZSB0byBrZWVwIHRoZSB3aG9sZSB0aWxlIG9yIG5vdGhpbmcuCisgICAgICAgIFJp
Z2h0IG5vdyB0aGlzIGNhbiBjYXVzZSBwcm9ibGVtcyBpZiBhIHRpbGUgaXMgb24gdGhlIGJvdW5k
YXJ5IG9mIHRoZSBrZWVwCisgICAgICAgIHJlY3QuIEJ5IGludGVyc2VjdGluZyB0aGUgZGlydHkg
cmVjdCwgdGhpcyBjYXVzZXMgb25seSBwYXJ0IG9mIHRoZSB0aWxlIHRvCisgICAgICAgIGJlIHVw
ZGF0ZWQgaWYgYW4gaW52YWxpZGF0ZSBhcnJpdmVzLCBhbmQgdGhpcyBiZWNvbWVzIHZpc2libGUg
aWYgdGhlIHVzZXIKKyAgICAgICAgc2Nyb2xsIHRoaXMgdGlsZSBiYWNrIGludG8gdGhlIHZpZXdw
b3J0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmludmFsaWRhdGUpOgorCiAy
MDEyLTA0LTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBQ
cm90ZWN0IGN1cnJlbnQgZWxlbWVudCBpbiBIVE1MTGlua0VsZW1lbnQ6OnNldENTU1N0eWxlU2hl
ZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmNwcAppbmRleCA4NDg0ZGE5NzFmOGVkOTA4MTZjOGYyYmIwMzRhYWYzZWNkYzcz
MzIyLi5lNTA3NDg2M2ZkYzM4YzIwZDM0ZjhkYzg0Zjg4MjUzNGVjMjIwMmM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
Y3BwCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNvdmVyV2l0aFRp
bGVzSWZOZWVkZWQoY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvCiAKIHZvaWQgVGls
ZWRCYWNraW5nU3RvcmU6OmludmFsaWRhdGUoY29uc3QgSW50UmVjdCYgY29udGVudHNEaXJ0eVJl
Y3QpCiB7Ci0gICAgSW50UmVjdCBkaXJ0eVJlY3QoaW50ZXJzZWN0aW9uKG1hcEZyb21Db250ZW50
cyhjb250ZW50c0RpcnR5UmVjdCksIG1fa2VlcFJlY3QpKTsKKyAgICBJbnRSZWN0IGRpcnR5UmVj
dChtYXBGcm9tQ29udGVudHMoY29udGVudHNEaXJ0eVJlY3QpKTsKIAogICAgIFRpbGU6OkNvb3Jk
aW5hdGUgdG9wTGVmdCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoZGlydHlSZWN0LmxvY2F0aW9u
KCkpOwogICAgIFRpbGU6OkNvb3JkaW5hdGUgYm90dG9tUmlnaHQgPSB0aWxlQ29vcmRpbmF0ZUZv
clBvaW50KGlubmVyQm90dG9tUmlnaHQoZGlydHlSZWN0KSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141410</attachid>
            <date>2012-05-11 07:01:39 -0700</date>
            <delta_ts>2012-05-14 06:06:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85488-20120511160124.patch</filename>
            <type>text/plain</type>
            <size>2747</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY1NGM0Njg2YjU2MDM5
NDVhZmIxMWU0N2M5NzFhMmMyZTUwYjgxNS4uZTM5OWE2OTBjMGRlODgxYWUwYTIxMjI1ZjkwYzQ3
YWM1MjZlMTg0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTAzICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CisKKyAgICAgICAgVGls
ZWRCYWNraW5nU3RvcmU6IFByZXZlbnQgcGFydGlhbCB0aWxlIHVwZGF0ZXMgd2hlbiB0aGV5IGlu
dGVyc2VjdCB0aGUga2VlcCByZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODU0ODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSaWdodCBub3cgYW4gaW52YWxpZGF0ZSBjYW4gY2F1c2UgcHJvYmxlbXMg
Zm9yIHRpbGVzIG9uIHRoZSBib3VuZGFyeSBvZiB0aGUga2VlcAorICAgICAgICByZWN0LiBJbnRl
cnNlY3RpbmcgdGhlIGRpcnR5IHJlY3QgY2F1c2VzIG9ubHkgcGFydCBvZiB0aGUgdGlsZSB0byBi
ZSB1cGRhdGVkLAorICAgICAgICBhbmQgdGhlIGdsaXRjaCBiZWNvbWVzIHZpc2libGUgaWYgdGhl
IHVzZXIgc2Nyb2xscyB0aGlzIHRpbGUgYmFjayBpbnRvIHRoZSB2aWV3cG9ydC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjppbnZhbGlkYXRlKToKKwogMjAxMi0wNS0wNCAgQWxl
eGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5hcmRAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRd
IEJ1aWxkIGZpeCB3aGVuIHVzaW5nIGxpYnBuZyB2ZXJzaW9uID4gMS4yLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuY3BwCmlu
ZGV4IDg0ODRkYTk3MWY4ZWQ5MDgxNmM4ZjJiYjAzNGFhZjNlY2RjNzMzMjIuLmI0ODVkY2YxN2Y1
ZWJlZjI5YTk2NmVjYzYzZDZhMTkwODMyZDczMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKQEAgLTg0LDE2ICs4
NCwyMCBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjb3ZlcldpdGhUaWxlc0lmTmVlZGVkKGNv
bnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0bwogCiB2b2lkIFRpbGVkQmFja2luZ1N0b3Jl
OjppbnZhbGlkYXRlKGNvbnN0IEludFJlY3QmIGNvbnRlbnRzRGlydHlSZWN0KQogewotICAgIElu
dFJlY3QgZGlydHlSZWN0KGludGVyc2VjdGlvbihtYXBGcm9tQ29udGVudHMoY29udGVudHNEaXJ0
eVJlY3QpLCBtX2tlZXBSZWN0KSk7CisgICAgSW50UmVjdCBkaXJ0eVJlY3QobWFwRnJvbUNvbnRl
bnRzKGNvbnRlbnRzRGlydHlSZWN0KSk7CiAKLSAgICBUaWxlOjpDb29yZGluYXRlIHRvcExlZnQg
PSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVjdC5sb2NhdGlvbigpKTsKLSAgICBUaWxl
OjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVGb3JQb2ludChpbm5lckJv
dHRvbVJpZ2h0KGRpcnR5UmVjdCkpOworICAgIC8vIE9ubHkgaXRlcmF0ZSBvbiB0aGUgcGFydCBv
ZiB0aGUgcmVjdCB0aGF0IHdlIGtub3cgd2UgbWlnaHQgaGF2ZSB0aWxlcy4KKyAgICBJbnRSZWN0
IGNvdmVyZWREaXJ0eVJlY3QgPSBpbnRlcnNlY3Rpb24oZGlydHlSZWN0LCBtX2tlZXBSZWN0KTsK
KyAgICBUaWxlOjpDb29yZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGNv
dmVyZWREaXJ0eVJlY3QubG9jYXRpb24oKSk7CisgICAgVGlsZTo6Q29vcmRpbmF0ZSBib3R0b21S
aWdodCA9IHRpbGVDb29yZGluYXRlRm9yUG9pbnQoaW5uZXJCb3R0b21SaWdodChjb3ZlcmVkRGly
dHlSZWN0KSk7CiAKICAgICBmb3IgKHVuc2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVmdC55KCk7
IHlDb29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewogICAgICAg
ICBmb3IgKHVuc2lnbmVkIHhDb29yZGluYXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGluYXRlIDw9
IGJvdHRvbVJpZ2h0LngoKTsgKyt4Q29vcmRpbmF0ZSkgewogICAgICAgICAgICAgUmVmUHRyPFRp
bGU+IGN1cnJlbnRUaWxlID0gdGlsZUF0KFRpbGU6OkNvb3JkaW5hdGUoeENvb3JkaW5hdGUsIHlD
b29yZGluYXRlKSk7CiAgICAgICAgICAgICBpZiAoIWN1cnJlbnRUaWxlKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgLy8gUGFzcyB0aGUgZnVsbCByZWN0IHRvIGVhY2gg
dGlsZSBhcyBjb3ZlcmVkRGlydHlSZWN0IG1pZ2h0IG5vdAorICAgICAgICAgICAgLy8gY29udGFp
biB0aGVtIGNvbXBsZXRlbHkgYW5kIHdlIGRvbid0IHdhbnQgcGFydGlhbCB0aWxlIHJlZHJhd3Mu
CiAgICAgICAgICAgICBjdXJyZW50VGlsZS0+aW52YWxpZGF0ZShkaXJ0eVJlY3QpOwogICAgICAg
ICB9CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>