<?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>58512</bug_id>
          
          <creation_ts>2011-04-13 21:58:37 -0700</creation_ts>
          <short_desc>Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower</short_desc>
          <delta_ts>2011-04-15 17:49:36 -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>WebCore Misc.</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></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="Ian Henderson">ian</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>hyatt</cc>
    
    <cc>morrita</cc>
    
    <cc>psolanki</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>385507</commentid>
    <comment_count>0</comment_count>
    <who name="Ian Henderson">ian</who>
    <bug_when>2011-04-13 21:58:37 -0700</bug_when>
    <thetext>In https://bugs.webkit.org/show_bug.cgi?id=45640, we added a more complicated heuristic to determine whether drawing may cause a flash of unstyled content.  The WebCore::Document::mayCauseFlashOfUnstyledContent method is called during every WebCore::RenderBlock::paintContents and WebCore::RenderLayer::paintLayer, both of which may be called many times on a complex page.  The additional complexity adds measurable overhead to these methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385831</commentid>
    <comment_count>1</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-14 09:59:27 -0700</bug_when>
    <thetext>Okay, I&apos;ll remove mayCauseFlashOfUnstyledContent() usage.
I&apos;d like to keep mayCauseFlashOfUnstyledContent() definition to possibly use it
on browser&apos;s paint() side, instead of preventing repaint() as we are doing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387077</commentid>
    <comment_count>2</comment_count>
      <attachid>89891</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-15 17:29:23 -0700</bug_when>
    <thetext>Created attachment 89891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387079</commentid>
    <comment_count>3</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-15 17:29:59 -0700</bug_when>
    <thetext>I changed my mind to just roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387093</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-04-15 17:49:36 -0700</bug_when>
    <thetext>Committed r84066: &lt;http://trac.webkit.org/changeset/84066&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89891</attachid>
            <date>2011-04-15 17:29:23 -0700</date>
            <delta_ts>2011-04-15 17:37:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58512-20110415172922.patch</filename>
            <type>text/plain</type>
            <size>6071</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQwNTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxYWUxZGUyZmI2Zjg0YTZj
MzQxZTM4NWNkMGIzOGM3ODc3NWI0OWIzLi5hMGFkOGM2MjE4OWNjNTQwMzMwM2M2MDFmMzJmMGMy
MGY3MjhhODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTUgIE1PUklU
QSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FsbHMgdG8gV2ViQ29yZTo6RG9jdW1lbnQ6Om1heUNh
dXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCBtYWtlIGZyZXF1ZW50bHktcnVuIGRyYXdpbmcgbWV0
aG9kcyBzbG93ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU4NTEyCisgICAgICAgIAorICAgICAgICBNYW51YWxseSByb2xsZWQgb3V0IHI3MjM2NyBh
dCB3aGljaCBtYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSB3YXMgaW50cm9kdWNlZC4K
KyAgICAgICAgVGhpcyBjaGFuZ2Uga2VlcHMgYW4gc21hbGwgcmVmYWN0b3Jpbmcgb24KKyAgICAg
ICAgRnJhbWVWaWV3OjpzaG91bGRVcGRhdGUoKSwgd2hpY2ggZG9lc24ndCBhZmZlY3Qgb24gdGhl
IGJlaGF2aW9yLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKiBkb20v
RG9jdW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2hvdWxkVXBkYXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OnBhaW50Q29udGVudHMpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6cGFpbnRMYXllcik6CisKIDIwMTEtMDQtMDggIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFn
b3N0aW5pQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hk
ZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBiM2YyMzBmMDY2M2Rl
NjI5MGI5ODAyMWNmNTc0YWMwYTJjNGJmZjdkLi5mMzBhMTIyNzgwZDFjNWM1MDhlMjg4Yjk4Yzdm
MGZkYzhiNTUxMWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTQ5NzYsMzQgKzQ5NzYs
NCBAQCBQYXNzUmVmUHRyPFRvdWNoTGlzdD4gRG9jdW1lbnQ6OmNyZWF0ZVRvdWNoTGlzdChFeGNl
cHRpb25Db2RlJikgY29uc3QKIH0KICNlbmRpZgogCi1zdGF0aWMgYm9vbCBoYXNIZWFkU2libGlu
Zyhjb25zdCBEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgTm9kZSogZGUgPSBkb2N1bWVudC0+
ZG9jdW1lbnRFbGVtZW50KCk7Ci0gICAgaWYgKCFkZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgZm9yIChOb2RlKiBpID0gZGUtPmZpcnN0Q2hpbGQoKTsgaTsgaSA9IGktPm5leHRTaWJs
aW5nKCkpIHsKLSAgICAgICAgLy8gQSBjaGlsZCBvZiB0aGUgZG9jdW1lbnQgZWxlbWVudCB3aGlj
aCBpcyByYXRoZXIgdGhhbiA8aGVhZD4gaXMKLSAgICAgICAgLy8gdHlwaWNhbGx5IHZpc2libGUg
YW5kIEZPVUMgc2FmZS4gU28gd2UgcmV0dXJuIHRydWUgaGVyZS4KLSAgICAgICAgaWYgKCFpLT5o
YXNUYWdOYW1lKGhlYWRUYWcpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCi1ib29sIERvY3VtZW50OjptYXlDYXVzZUZsYXNoT2ZVbnN0
eWxlZENvbnRlbnQoKSBjb25zdAotewotICAgIC8vIFNvbWUga2luZCBvZiBGT1VDIGlzIGNhdXNl
ZCBieSBhIHJlcGFpbnQgcmVxdWVzdCBiZWZvcmUgcGFnZSdzIDxib2R5PiBhcnJpdmFsCi0gICAg
Ly8gYmVjYXVzZSBwYWdlIGF1dGhvcnMgb2Z0ZW4gZ2l2ZSBiYWNrZ3JvdW5kIHN0eWxlcyB0byA8
Ym9keT4sIG5vdCB0byA8aHRtbD4uCi0gICAgLy8gKEFuZCB0aGVzZSBzdHlsZXMgYXJlIHVuYXZh
aWxhYmxlIGJlZm9yZSA8c3R5bGU+IG9yIDxsaW5rPiBpcyBnaXZlbi4pCi0gICAgLy8gVGhpcyBm
dW5jdGlvbnMgaXMgdXNlZCBmb3IgY2hlY2tpbmcgc3VjaCBwb3NzaWJpbGl0eSBvZiBGT1VDcy4K
LSAgICAvLyBOb3RlIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGNvbnNpZGVycyBvbmx5IGVtcHR5
IG9yIDxoZWFkPiBvbmx5IGNvbnRlbnRzIGFzIGEgRk9VQyBjYXVzZQotICAgIC8vIHJhdGhlciB0
aGFuIG1pc3NpbmcgPGJvZHk+LCBiZWNhdXNlIG5vbi1IVE1MIGRvY3VtZW50IGxpa2UgU1ZHIGFu
ZCBhcmJpdHJhcnkgWE1MIGZyb20gZm9yZWlnbiBuYW1lc3BhY2UgCi0gICAgLy8gc2hvdWxkIGJl
IHBhaW50ZWQgZXZlbiBpZiB0aGVyZSBpcyBubyA8Ym9keT4uCi0gICAgaWYgKGRpZExheW91dFdp
dGhQZW5kaW5nU3R5bGVzaGVldHMoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcmV0dXJu
ICFoYXNIZWFkU2libGluZyh0aGlzKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAppbmRleCA0ZjNlZmRhNmVhY2MzMDk4ODI2MGUyODA0YzRhMTZmZmJmZGE2
ODJmLi4xOGQzNTNmZGQ3NTk4MDIwMzcwNTAzNWNiMmQ3ZTFlOWM0ZWFiZjYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaApAQCAtMTA4Miw4ICsxMDgyLDYgQEAgcHVibGljOgogICAgIHZvaWQgc2Vydmlj
ZVNjcmlwdGVkQW5pbWF0aW9ucyhET01UaW1lU3RhbXApOwogI2VuZGlmCiAKLSAgICBib29sIG1h
eUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29udGVudCgpIGNvbnN0OwotCiAgICAgdmlydHVhbCBFdmVu
dFRhcmdldCogZXJyb3JFdmVudFRhcmdldCgpOwogICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRp
b25Ub0NvbnNvbGUoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGZkMjY5ZDk4YTg1ZTQ2ZWY2MzIzZTFhNGM0
YjA4ZjEzNGFiNzgxODMuLjdhN2Q0MzM0NzJkNjA4MjVhNjZmNDM0YjBiZTFlNzNiMjczNzkwOGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTMyOCw3ICszMjgsNyBAQCBib29sIEZy
YW1lVmlldzo6ZGlkRmlyc3RMYXlvdXQoKSBjb25zdAogdm9pZCBGcmFtZVZpZXc6OmludmFsaWRh
dGVSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKCFwYXJlbnQoKSkgewotICAg
ICAgICBpZiAoaG9zdFdpbmRvdygpICYmIHNob3VsZFVwZGF0ZSgpKQorICAgICAgICBpZiAoaG9z
dFdpbmRvdygpKQogICAgICAgICAgICAgaG9zdFdpbmRvdygpLT5pbnZhbGlkYXRlQ29udGVudHNB
bmRXaW5kb3cocmVjdCwgZmFsc2UgLyppbW1lZGlhdGUqLyk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CkBAIC0xODM5LDggKzE4MzksNiBAQCBib29sIEZyYW1lVmlldzo6c2hvdWxkVXBkYXRlKGJv
b2wgaW1tZWRpYXRlUmVxdWVzdGVkKSBjb25zdAogewogICAgIGlmICghaW1tZWRpYXRlUmVxdWVz
dGVkICYmIGlzT2Zmc2NyZWVuKCkgJiYgIXNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPmRvY3Vt
ZW50KCkgfHwgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+bWF5Q2F1c2VGbGFzaE9mVW5zdHlsZWRDb250
ZW50KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggOWQzZGUyMTA4NWZmZDFl
NDg1MTI0ZDZjYjk1NjQzMTc1ODFhNWQ2OC4uMGM0ZjFhMWQ1NDg5NWYxOGQyZjFkNWU4NDg3Mjkw
ZDhiNzViZTcwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBA
IC0yMzU4LDcgKzIzNTgsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjpwYWludENvbnRlbnRzKFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSkKICAgICAvLyBBdm9pZCBwYWludGluZyBk
ZXNjZW5kYW50cyBvZiB0aGUgcm9vdCBlbGVtZW50IHdoZW4gc3R5bGVzaGVldHMgaGF2ZW4ndCBs
b2FkZWQuICBUaGlzIGVsaW1pbmF0ZXMgRk9VQy4KICAgICAvLyBJdCdzIG9rIG5vdCB0byBkcmF3
LCBiZWNhdXNlIGxhdGVyIG9uLCB3aGVuIGFsbCB0aGUgc3R5bGVzaGVldHMgZG8gbG9hZCwgdXBk
YXRlU3R5bGVTZWxlY3RvciBvbiB0aGUgRG9jdW1lbnQKICAgICAvLyB3aWxsIGRvIGEgZnVsbCBy
ZXBhaW50KCkuCi0gICAgaWYgKGRvY3VtZW50KCktPm1heUNhdXNlRmxhc2hPZlVuc3R5bGVkQ29u
dGVudCgpICYmICFpc1JlbmRlclZpZXcoKSkKKyAgICBpZiAoZG9jdW1lbnQoKS0+ZGlkTGF5b3V0
V2l0aFBlbmRpbmdTdHlsZXNoZWV0cygpICYmICFpc1JlbmRlclZpZXcoKSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAppbmRleCA0ZWEzODY4NGMwZTIzNGVhZmZiMjBkMzcxYTg3MWZjMDUz
MGEwMWQ0Li4xNmUwMjQ1NGU1ZWQ4NjhlODljNDU2NDU5MzQ1NjVlYzc0ZDUyYWJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTI0OTYsNyArMjQ5Niw3IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXIoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgR3Jh
cGhpY3NDb250ZXh0KiBwLAogICAgIC8vIEF2b2lkIHBhaW50aW5nIGxheWVycyB3aGVuIHN0eWxl
c2hlZXRzIGhhdmVuJ3QgbG9hZGVkLiAgVGhpcyBlbGltaW5hdGVzIEZPVUMuCiAgICAgLy8gSXQn
cyBvayBub3QgdG8gZHJhdywgYmVjYXVzZSBsYXRlciBvbiwgd2hlbiBhbGwgdGhlIHN0eWxlc2hl
ZXRzIGRvIGxvYWQsIHVwZGF0ZVN0eWxlU2VsZWN0b3Igb24gdGhlIERvY3VtZW50CiAgICAgLy8g
d2lsbCBkbyBhIGZ1bGwgcmVwYWludCgpLgotICAgIGlmIChyZW5kZXJlcigpLT5kb2N1bWVudCgp
LT5tYXlDYXVzZUZsYXNoT2ZVbnN0eWxlZENvbnRlbnQoKSAmJiAhcmVuZGVyZXIoKS0+aXNSZW5k
ZXJWaWV3KCkgJiYgIXJlbmRlcmVyKCktPmlzUm9vdCgpKQorICAgIGlmIChyZW5kZXJlcigpLT5k
b2N1bWVudCgpLT5kaWRMYXlvdXRXaXRoUGVuZGluZ1N0eWxlc2hlZXRzKCkgJiYgIXJlbmRlcmVy
KCktPmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLT5pc1Jvb3QoKSkKICAgICAgICAgcmV0
dXJuOwogICAgIAogICAgIC8vIElmIHRoaXMgbGF5ZXIgaXMgdG90YWxseSBpbnZpc2libGUgdGhl
biB0aGVyZSBpcyBub3RoaW5nIHRvIHBhaW50Lgo=
</data>
<flag name="review"
          id="82600"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>