<?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>73344</bug_id>
          
          <creation_ts>2011-11-29 11:28:01 -0800</creation_ts>
          <short_desc>[chromium] TextureManager LRU list is not fully honor the order tiles are used</short_desc>
          <delta_ts>2011-11-30 18:49:10 -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>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="Grace Kloba">klobag</reporter>
          <assigned_to name="Grace Kloba">klobag</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>510946</commentid>
    <comment_count>0</comment_count>
    <who name="Grace Kloba">klobag</who>
    <bug_when>2011-11-29 11:28:01 -0800</bug_when>
    <thetext>Currently TextureManager moves a texture to the end of the list if hasTexture() is called. In the threaded compositing mode, TiledLayerChromium maintains a HashMap of tiles. In TiledLayerChromium::pushPropertiesTo(), it walks through all the tiles in the HashMap and check whether they are valid which calls hasTexture(). This means the order in the TextureManager&apos;s LRU list is affected by the order of the tile in the TiledLayerChromium&apos;s HashMap. e.g. when a page is scrolled down, we expect the furthest from the new revealed tiles will be reclaimed. Currently some tile in the middle can be reclaimed.

The proposed fix is to only move a texture to the end of the list if protectTexture() is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511137</commentid>
    <comment_count>1</comment_count>
      <attachid>117052</attachid>
    <who name="Grace Kloba">klobag</who>
    <bug_when>2011-11-29 15:03:17 -0800</bug_when>
    <thetext>Created attachment 117052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511220</commentid>
    <comment_count>2</comment_count>
      <attachid>117052</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-29 16:50:18 -0800</bug_when>
    <thetext>Comment on attachment 117052
Patch

Looks reasonable, although a test would be nice. Enne?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511966</commentid>
    <comment_count>3</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2011-11-30 11:42:07 -0800</bug_when>
    <thetext>This seems like a great change.  That would certainly explain the &quot;MRU&quot;-like behavior that we&apos;ve sometimes seen when scrolling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512224</commentid>
    <comment_count>4</comment_count>
      <attachid>117052</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-30 16:34:08 -0800</bug_when>
    <thetext>Comment on attachment 117052
Patch

R=me then</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512226</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-11-30 16:34:59 -0800</bug_when>
    <thetext>Also if someone is feeling really ambitious and wants to write some unit tests for TextureManager&apos;s LRU-ness that would be awesome. I probably should have done this ages ago, but haven&apos;t got around to it :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512328</commentid>
    <comment_count>6</comment_count>
      <attachid>117052</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-30 18:49:05 -0800</bug_when>
    <thetext>Comment on attachment 117052
Patch

Clearing flags on attachment: 117052

Committed r101586: &lt;http://trac.webkit.org/changeset/101586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512329</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-30 18:49:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117052</attachid>
            <date>2011-11-29 15:03:17 -0800</date>
            <delta_ts>2011-11-30 18:49:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73344-20111129150316.patch</filename>
            <type>text/plain</type>
            <size>2147</size>
            <attacher name="Grace Kloba">klobag</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU5ODgwMGEyOWFkMjI5
YjNkYWZjODRhNzdiNmQ4ZTJiZjgyMTlhYi4uODJiZmY0YzU1M2IwMTQ4MjA2ZmIzNTE3MmU0M2M1
OWUxM2UxZjY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTI5ICBHcmFj
ZSBLbG9iYSAgPGtsb2JhZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBUZXh0
dXJlTWFuYWdlciBMUlUgbGlzdCBpcyBub3QgZnVsbHkgaG9ub3IgdGhlIG9yZGVyIHRpbGVzIGFy
ZSB1c2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MzM0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
b3JkZXIgdGhlIHRleHR1cmUgaW4gdGhlIExSVSBsaXN0IG9ubHkgd2hlbiBwcm90ZWN0VGV4dHVy
ZSgpIGlzIGNhbGxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Rl
eHR1cmVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYW5hZ2VyOjpoYXNU
ZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYW5hZ2VyOjpwcm90ZWN0VGV4dHVy
ZSk6CisKIDIwMTEtMTEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ3Jhc2ggaW4gSXNvbGF0ZVRyYWNrZXI6OmFkZEZha2VSdW5JZk5lY2Vzc2FyeSgpLCBw
cmVjZWRlZCBieSBhc3NlcnRpb24gZmFpbHVyZSAobV9uZXN0ZWRJc29sYXRlQ291bnQgPj0gMSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Rl
eHR1cmVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RleHR1cmVNYW5hZ2VyLmNwcAppbmRleCBjNjAwZDllNjQ5MWQ3ZDFlNzU3MjIyMTRlMzE5
ZGE3ZjBjMTg4NGNlLi5hZWI2ODY2OTYxYjliYTQ0ZDc3NTJjNWQ0YjM5Y2MxNjA3YTdiODIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0
dXJlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVGV4dHVyZU1hbmFnZXIuY3BwCkBAIC04OSwxMyArODksNyBAQCB2b2lkIFRleHR1cmVN
YW5hZ2VyOjpyZWxlYXNlVG9rZW4oVGV4dHVyZVRva2VuIHRva2VuKQogCiBib29sIFRleHR1cmVN
YW5hZ2VyOjpoYXNUZXh0dXJlKFRleHR1cmVUb2tlbiB0b2tlbikKIHsKLSAgICBpZiAobV90ZXh0
dXJlcy5jb250YWlucyh0b2tlbikpIHsKLSAgICAgICAgLy8gSWYgc29tZW9uZSBhc2tzIGFib3V0
IGEgdGV4dHVyZSBwdXQgaXQgYXQgdGhlIGVuZCBvZiB0aGUgTFJVIGxpc3QuCi0gICAgICAgIG1f
dGV4dHVyZUxSVVNldC5yZW1vdmUodG9rZW4pOwotICAgICAgICBtX3RleHR1cmVMUlVTZXQuYWRk
KHRva2VuKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gbV90ZXh0dXJlcy5jb250YWlucyh0b2tlbik7CiB9CiAKIGJvb2wgVGV4dHVy
ZU1hbmFnZXI6OmlzUHJvdGVjdGVkKFRleHR1cmVUb2tlbiB0b2tlbikKQEAgLTExMCw2ICsxMDQs
OSBAQCB2b2lkIFRleHR1cmVNYW5hZ2VyOjpwcm90ZWN0VGV4dHVyZShUZXh0dXJlVG9rZW4gdG9r
ZW4pCiAgICAgVGV4dHVyZUluZm8gaW5mbyA9IG1fdGV4dHVyZXMudGFrZSh0b2tlbik7CiAgICAg
aW5mby5pc1Byb3RlY3RlZCA9IHRydWU7CiAgICAgbV90ZXh0dXJlcy5hZGQodG9rZW4sIGluZm8p
OworICAgIC8vIElmIHNvbWVvbmUgcHJvdGVjdHMgYSB0ZXh0dXJlLCBwdXQgaXQgYXQgdGhlIGVu
ZCBvZiB0aGUgTFJVIGxpc3QuCisgICAgbV90ZXh0dXJlTFJVU2V0LnJlbW92ZSh0b2tlbik7Cisg
ICAgbV90ZXh0dXJlTFJVU2V0LmFkZCh0b2tlbik7CiB9CiAKIHZvaWQgVGV4dHVyZU1hbmFnZXI6
OnVucHJvdGVjdFRleHR1cmUoVGV4dHVyZVRva2VuIHRva2VuKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>