<?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>39522</bug_id>
          
          <creation_ts>2010-05-21 18:34:00 -0700</creation_ts>
          <short_desc>Limit number of tiles that can be created for tiled layers on Windows</short_desc>
          <delta_ts>2010-05-23 07:48:34 -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>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></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="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>229201</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-05-21 18:34:00 -0700</bug_when>
    <thetext>My change in https://bugs.webkit.org/show_bug.cgi?id=39461 does not limit the number of tiles that can be created, so for very large elements crashes and hangs can occur. I will implement the following:

 I will add a workaround where I limit the number of tiles. At 512x512, a tile consumes  about a megabyte of memory. If we limit to 500 tiles I think we will be able to handle extremely large composited elements yet still keep memory under control. For instance, an element of 20,000 x 1000 will use 160 tiles and an element of 1000 x 100,000 is 400 tiles. I will render tiles in the upper left corner of the tiled layer, so the first part of the element, which will usually be visible, will be what gets rendered.

This will protect us against very large tiled layers, until a more efficient, visibility based optimization can be done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229209</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-05-21 18:56:14 -0700</bug_when>
    <thetext>In radar as rdar://problem/8016574</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229338</commentid>
    <comment_count>2</comment_count>
      <attachid>56792</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-05-22 15:28:51 -0700</bug_when>
    <thetext>Created attachment 56792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229479</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-05-23 07:48:34 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/60045</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56792</attachid>
            <date>2010-05-22 15:28:51 -0700</date>
            <delta_ts>2010-05-22 17:25:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>39522.patch</filename>
            <type>text/plain</type>
            <size>5841</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDAxNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDUtMjIgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExp
bWl0IHRoZSBudW1iZXIgb2YgdGlsZXMgY3JlYXRlZCBmb3IgbGFyZ2UgdGlsZWQgbGF5ZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTUyMgorICAg
ICAgICAKKyAgICAgICAgSSBhZGRlZCBhbiBhbGdvcml0aG0gdG8gbGltaXQgdGhlIG51bWJlciBv
ZiB0aWxlcyBjcmVhdGVkIHRvIDUxMi4KKyAgICAgICAgSXQgdHJpZWQgdG8gbGltaXQgdGhlbSBp
biBvbmx5IG9uZSBkaW1lbnNpb24gYW5kIGlmIHRoYXQncyBub3QKKyAgICAgICAgcG9zc2libGUg
aXQgbGltaXRzIHRoZW0gaW4gYm90aCBkaW1lbnNpb25zIGFjY29yZGluZyB0byB0aGUKKyAgICAg
ICAgcmF0aW8gb2Ygd2lkdGggdG8gaGVpZ2h0LiBUaGlzIGhhcyB0aGUgZWZmZWN0IG9mIHJlbmRl
cmluZworICAgICAgICB0aWxlcyBzdGFydGluZyBmcm9tIHRoZSB1cHBlci1sZWZ0LCB3aGljaCBp
cyBvZnRlbiB0aGUgcGFydAorICAgICAgICB0aGF0IGlzIHZpc2libGUuIFNvIGl0IGJvdGggcHJl
dmVudHMgY3Jhc2hpbmcgYW5kIHRyaWVkIHRvIGRvCisgICAgICAgIHRoZSBiZXN0IGpvYiBpdCBj
YW4gb2YgZGlzcGxheWluZyB3aGF0IHRoZSBhdXRob3IgaW50ZW5kZWQuCisKKyAgICAgICAgVGhl
IHRlc3QgTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvaHVnZS1sYXllcnMuaHRtbCB3
YXMKKyAgICAgICAgY3Jhc2hpbmcgYmVmb3JlIHRoaXMgZml4LiBOb3cgaXQgd29ya3MgY29ycmVj
dGx5LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dlYlRpbGVkTGF5ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViVGlsZWRMYXllcjo6V2ViVGlsZWRMYXllcik6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJUaWxlZExheWVyOjpzZXRCb3VuZHMpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViVGlsZWRMYXllcjo6Y29uc3RyYWluZWRTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlRpbGVkTGF5ZXI6OnVwZGF0ZVRpbGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93
aW4vV2ViVGlsZWRMYXllci5oOgorCiAyMDEwLTA1LTIyICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNA
cmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV2ViVGlsZWRMYXllci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dlYlRpbGVkTGF5ZXIuaAkocmV2aXNpb24gNjAw
MTIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XZWJUaWxlZExheWVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDggQEAKICAgICBzdGF0aWMgdm9pZCB0aWxlRGlzcGxh
eUNhbGxiYWNrKENBQ0ZMYXllclJlZiwgQ0dDb250ZXh0UmVmKTsKICAgICB2b2lkIGRyYXdUaWxl
KENBQ0ZMYXllclJlZiwgQ0dDb250ZXh0UmVmKTsKIAorICAgIENHU2l6ZSBjb25zdHJhaW5lZFNp
emUoY29uc3QgQ0dTaXplJiBzaXplKSBjb25zdDsKKwogICAgIHZvaWQgYWRkVGlsZSgpOwogICAg
IHZvaWQgcmVtb3ZlVGlsZSgpOwogICAgIENBQ0ZMYXllclJlZiB0aWxlQXRJbmRleChpbnQpOwpA
QCAtNjcsNiArNjksNyBAQAogICAgIHZvaWQgdXBkYXRlVGlsZXMoKTsKIAogICAgIENHU2l6ZSBt
X3RpbGVTaXplOworICAgIENHU2l6ZSBtX2NvbnN0cmFpbmVkU2l6ZTsKICAgICBSZXRhaW5QdHI8
Q0FDRkxheWVyUmVmPiBtX3RpbGVQYXJlbnQ7CiB9OwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9XZWJUaWxlZExheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9XZWJUaWxlZExheWVyLmNwcAkocmV2aXNpb24gNjAwMTIpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XZWJUaWxlZExheWVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQAogV2ViVGlsZWRMYXllcjo6V2ViVGlsZWRMYXllcihj
b25zdCBDR1NpemUmIHRpbGVTaXplLCBHcmFwaGljc0xheWVyKiBvd25lcikKICAgICA6IFdlYkxh
eWVyKFdLQ0FDRkxheWVyOjpMYXllciwgb3duZXIpCiAgICAgLCBtX3RpbGVTaXplKHRpbGVTaXpl
KQorICAgICwgbV9jb25zdHJhaW5lZFNpemUoY29uc3RyYWluZWRTaXplKGJvdW5kcygpLnNpemUp
KQogewogICAgIC8vIFRpbGVkIGxheWVycyBhcmUgcGxhY2VkIGluIGEgY2hpbGQgbGF5ZXIgdGhh
dCBpcyBhbHdheXMgdGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBUaWxlZExheWVyCiAgICAgbV90aWxl
UGFyZW50LmFkb3B0Q0YoQ0FDRkxheWVyQ3JlYXRlKGtDQUNGTGF5ZXIpKTsKQEAgLTY4LDYgKzY5
LDcgQEAKICAgICAgICAgcmV0dXJuOwogCiAgICAgV2ViTGF5ZXI6OnNldEJvdW5kcyhyZWN0KTsK
KyAgICBtX2NvbnN0cmFpbmVkU2l6ZSA9IGNvbnN0cmFpbmVkU2l6ZShyZWN0LnNpemUpOwogICAg
IHVwZGF0ZVRpbGVzKCk7CiB9CiAKQEAgLTEyNyw2ICsxMjksMzggQEAKICAgICByZXR1cm4gKGkg
PiAwKSA/IGkgLSAxIDogLTE7CiB9CiAKK0NHU2l6ZSBXZWJUaWxlZExheWVyOjpjb25zdHJhaW5l
ZFNpemUoY29uc3QgQ0dTaXplJiBzaXplKSBjb25zdAoreworICAgIGNvbnN0IGludCBjTWF4VGls
ZUNvdW50ID0gNTEyOworICAgIGNvbnN0IGZsb2F0IGNTcXJ0TWF4VGlsZUNvdW50ID0gc3FydGYo
Y01heFRpbGVDb3VudCk7CisKKyAgICBDR1NpemUgY29uc3RyYWluZWRTaXplID0gc2l6ZTsKKwor
ICAgIGludCB0aWxlQ29sdW1ucyA9IGNlaWxmKGNvbnN0cmFpbmVkU2l6ZS53aWR0aCAvIG1fdGls
ZVNpemUud2lkdGgpOworICAgIGludCB0aWxlUm93cyA9IGNlaWxmKGNvbnN0cmFpbmVkU2l6ZS5o
ZWlnaHQgLyBtX3RpbGVTaXplLmhlaWdodCk7CisgICAgaW50IG51bVRpbGVzID0gdGlsZUNvbHVt
bnMgKiB0aWxlUm93czsKKworICAgIC8vIElmIG51bWJlciBvZiB0aWxlcyB2ZXJ0aWNhbGx5IG9y
IGhvcml6b250YWxseSBpcyA8IHNxcnQoY01heFRpbGVDb3VudCkKKyAgICAvLyBqdXN0IHNob3J0
ZW4gdGhlIGxvbmdlciBkaW1lbnNpb24uIE90aGVyd2lzZSBzaG9ydGVuIGJvdGggZGltZW5zaW9u
cworICAgIC8vIGFjY29yZGluZyB0byB0aGUgcmF0aW8gb2Ygd2lkdGggdG8gaGVpZ2h0CisKKyAg
ICBpZiAobnVtVGlsZXMgPiBjTWF4VGlsZUNvdW50KSB7CisgICAgICAgIGlmICh0aWxlUm93cyA8
IGNTcXJ0TWF4VGlsZUNvdW50KQorICAgICAgICAgICAgdGlsZUNvbHVtbnMgPSBmbG9vcmYoY01h
eFRpbGVDb3VudCAvIHRpbGVSb3dzKTsKKyAgICAgICAgZWxzZSBpZiAodGlsZUNvbHVtbnMgPCBj
U3FydE1heFRpbGVDb3VudCkKKyAgICAgICAgICAgIHRpbGVSb3dzID0gZmxvb3JmKGNNYXhUaWxl
Q291bnQgLyB0aWxlQ29sdW1ucyk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdGlsZVJv
d3MgPSBjZWlsZihzcXJ0ZihjTWF4VGlsZUNvdW50ICogY29uc3RyYWluZWRTaXplLmhlaWdodCAv
IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCkpOworICAgICAgICAgICAgdGlsZUNvbHVtbnMgPSBmbG9v
cmYoY01heFRpbGVDb3VudCAvIHRpbGVSb3dzKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgY29uc3RyYWluZWRTaXplLndpZHRoID0gdGlsZUNvbHVtbnMgKiBtX3RpbGVTaXplLndpZHRo
OworICAgICAgICBjb25zdHJhaW5lZFNpemUuaGVpZ2h0ID0gdGlsZVJvd3MgKiBtX3RpbGVTaXpl
LmhlaWdodDsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGNvbnN0cmFpbmVkU2l6ZTsKK30KKwog
dm9pZCBXZWJUaWxlZExheWVyOjphZGRUaWxlKCkKIHsKICAgICBSZXRhaW5QdHI8Q0FDRkxheWVy
UmVmPiBuZXdMYXllcihBZG9wdENGLCBDQUNGTGF5ZXJDcmVhdGUoa0NBQ0ZMYXllcikpOwpAQCAt
MTY5LDkgKzIwMyw4IEBACiB7CiAgICAgLy8gRklYTUU6IEluIGFkZGl0aW9uIHRvIHJlZG9pbmcg
dGhlIG51bWJlciBvZiB0aWxlcywgd2UgbmVlZCB0byBvbmx5IHJlbmRlciBhbmQgaGF2ZSBiYWNr
aW5nCiAgICAgLy8gc3RvcmUgZm9yIHZpc2libGUgbGF5ZXJzCi0gICAgQ0dSZWN0IGxheWVyQm91
bmRzID0gYm91bmRzKCk7Ci0gICAgaW50IG51bVRpbGVzSG9yaXpvbnRhbCA9IGNlaWwobGF5ZXJC
b3VuZHMuc2l6ZS53aWR0aCAvIG1fdGlsZVNpemUud2lkdGgpOwotICAgIGludCBudW1UaWxlc1Zl
cnRpY2FsID0gY2VpbChsYXllckJvdW5kcy5zaXplLmhlaWdodCAvIG1fdGlsZVNpemUuaGVpZ2h0
KTsKKyAgICBpbnQgbnVtVGlsZXNIb3Jpem9udGFsID0gY2VpbChtX2NvbnN0cmFpbmVkU2l6ZS53
aWR0aCAvIG1fdGlsZVNpemUud2lkdGgpOworICAgIGludCBudW1UaWxlc1ZlcnRpY2FsID0gY2Vp
bChtX2NvbnN0cmFpbmVkU2l6ZS5oZWlnaHQgLyBtX3RpbGVTaXplLmhlaWdodCk7CiAgICAgaW50
IG51bVRpbGVzVG90YWwgPSBudW1UaWxlc0hvcml6b250YWwgKiBudW1UaWxlc1ZlcnRpY2FsOwog
CiAgICAgaW50IG51bVRpbGVzVG9DaGFuZ2UgPSBudW1UaWxlc1RvdGFsIC0gdGlsZUNvdW50KCk7
CkBAIC0xOTMsOCArMjI2LDggQEAKICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBudW1UaWxl
c1ZlcnRpY2FsOyArK2opIHsKICAgICAgICAgICAgIENBQ0ZMYXllclJlZiB0aWxlID0gc3RhdGlj
X2Nhc3Q8Q0FDRkxheWVyUmVmPihjb25zdF9jYXN0PHZvaWQqPihDRkFycmF5R2V0VmFsdWVBdElu
ZGV4KHRpbGVBcnJheSwgaSAqIG51bVRpbGVzVmVydGljYWwgKyBqKSkpOwogICAgICAgICAgICAg
Q0FDRkxheWVyU2V0UG9zaXRpb24odGlsZSwgQ0dQb2ludE1ha2UoaSAqIG1fdGlsZVNpemUud2lk
dGgsIGogKiBtX3RpbGVTaXplLmhlaWdodCkpOwotICAgICAgICAgICAgaW50IHdpZHRoID0gbWlu
KG1fdGlsZVNpemUud2lkdGgsIGxheWVyQm91bmRzLnNpemUud2lkdGggLSBpICogbV90aWxlU2l6
ZS53aWR0aCk7Ci0gICAgICAgICAgICBpbnQgaGVpZ2h0ID0gbWluKG1fdGlsZVNpemUuaGVpZ2h0
LCBsYXllckJvdW5kcy5zaXplLmhlaWdodCAtIGogKiBtX3RpbGVTaXplLmhlaWdodCk7CisgICAg
ICAgICAgICBpbnQgd2lkdGggPSBtaW4obV90aWxlU2l6ZS53aWR0aCwgbV9jb25zdHJhaW5lZFNp
emUud2lkdGggLSBpICogbV90aWxlU2l6ZS53aWR0aCk7CisgICAgICAgICAgICBpbnQgaGVpZ2h0
ID0gbWluKG1fdGlsZVNpemUuaGVpZ2h0LCBtX2NvbnN0cmFpbmVkU2l6ZS5oZWlnaHQgLSBqICog
bV90aWxlU2l6ZS5oZWlnaHQpOwogICAgICAgICAgICAgQ0FDRkxheWVyU2V0Qm91bmRzKHRpbGUs
IENHUmVjdE1ha2UoaSAqIG1fdGlsZVNpemUud2lkdGgsIGogKiBtX3RpbGVTaXplLmhlaWdodCwg
d2lkdGgsIGhlaWdodCkpOwogCiAgICAgICAgICAgICAvLyBGbGlwIFkgdG8gY29tcGVuc2F0ZSBm
b3IgdGhlIGZsaXBwaW5nIHRoYXQgaGFwcGVucyBkdXJpbmcgcmVuZGVyIHRvIG1hdGNoIHRoZSBD
RyBjb250ZXh0IGNvb3JkaW5hdGUgc3BhY2UK
</data>
<flag name="review"
          id="41274"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>