<?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>62868</bug_id>
          
          <creation_ts>2011-06-17 09:20:26 -0700</creation_ts>
          <short_desc>Avoid extra work in RenderStyle::visitedDependentColor</short_desc>
          <delta_ts>2011-06-17 10:37:00 -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>CSS</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>http://code.google.com/p/chromium/issues/attachmentText?id=73106&amp;aid=541403547953126335&amp;name=chromium-bugreport.txt</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="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>hyatt</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>422657</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-06-17 09:20:26 -0700</bug_when>
    <thetext>The URL attached URL is a table of 22k rows. Each row has an anchor (a link to the source line for easy copyiing and pasting). When profiling the page, I found out that RenderStyle::visitedColorDependentColor is a hot function accounting for 10% to 15% of the total time. We are calling it too often but this bug is about optimizing the function itself.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422668</commentid>
    <comment_count>1</comment_count>
      <attachid>97608</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-06-17 09:41:09 -0700</bug_when>
    <thetext>Created attachment 97608
Proposed fix: refactor the logic of RenderStyle::visitedDependentColor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422706</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-17 10:35:28 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 97608:

http/tests/local/link-stylesheet-load-order.html bug 62878 (author: koivisto@iki.fi)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422709</commentid>
    <comment_count>3</comment_count>
      <attachid>97608</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-17 10:36:56 -0700</bug_when>
    <thetext>Comment on attachment 97608
Proposed fix: refactor the logic of RenderStyle::visitedDependentColor

Clearing flags on attachment: 97608

Committed r89142: &lt;http://trac.webkit.org/changeset/89142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422710</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-17 10:37:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97608</attachid>
            <date>2011-06-17 09:41:09 -0700</date>
            <delta_ts>2011-06-17 10:36:56 -0700</delta_ts>
            <desc>Proposed fix: refactor the logic of RenderStyle::visitedDependentColor</desc>
            <filename>bug-62868-20110617094108.patch</filename>
            <type>text/plain</type>
            <size>5589</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODkwMzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlOTk0OGMzZDA1N2QyM2Zj
M2I4ZGFjZTQyMWNjMjY4OGI1ZjA0NWFjLi4zNDRlMjkyNzgwYmVlODE3NmM4MzU0NzMzNGQ3ZTA2
OWUyMTNmMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDYtMTcgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXZvaWQgZXh0cmEgd29yayBpbiBSZW5kZXJT
dHlsZTo6dmlzaXRlZERlcGVuZGVudENvbG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02Mjg2OAorCisgICAgICAgIFJlZmFjdG9yaW5nIG9ubHksIG5v
IG5ldyB0ZXN0IHJlcXVpcmVkLgorCisgICAgICAgIFRoZSBjb2RlIHVzZWQgdG8gY2FjaGUgdGhl
IHJlc3VsdCBvZiBib3JkZXJTdHlsZUZvckNvbG9yUHJvcGVydHkuIEhvd2V2ZXIKKyAgICAgICAg
dGhlIHZhbHVlIHdhcyBlaXRoZXIgb3ZlcndyaXR0ZW4gaW5zaWRlIGNvbG9ySW5jbHVkaW5nRmFs
bGJhY2sgb3IgdGhlcmUgd2FzCisgICAgICAgIG5vdCBib3JkZXIuIFRodXMgSSByZW1vdmVkIGJv
cmRlclN0eWxlRm9yQ29sb3JQcm9wZXJ0eSBhbmQgaW5saW5lZCB0aGUgbG9naWMgaW4KKyAgICAg
ICAgY29sb3JJbmNsdWRpbmdGYWxsYmFjay4KKworICAgICAgICBUaGlzIHNob3dzIHNvbWUgbmlj
ZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgb24gdGhlIGJ1ZyBwYWdlICh0YWJsZSBvZiAyMmsg
cm93cyB3aXRoIGEgbGluaworICAgICAgICBmb3IgZWFjaCByb3cpLiBVc2luZyBwcHJvZiwgdGhl
IHRpbWUgc3BlbmQgaW4gUmVuZGVyU3R5bGU6OnZpc2l0ZWREZXBlbmRlbnRDb2xvciBpcyByZWR1
Y2VkCisgICAgICAgIGJ5IH4xMCUsIG1vc3RseSBkdWUgdG8gcmVtb3ZpbmcgdGhlIGNhbGwgdG8g
Ym9yZGVyU3R5bGVGb3JDb2xvclByb3BlcnR5LgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb2xvcklu
Y2x1ZGluZ0ZhbGxiYWNrKTogV2Ugbm93IGNhbGN1bGF0ZSB0aGUgYm9yZGVyU3R5bGUKKyAgICAg
ICAgaW5zaWRlIHRoaXMgZnVuY3Rpb24gKHdoaWNoIHdhcyBhbHJlYWR5IHRoZSBjYXNlIEkganVz
dCBtYWRlIGl0IGV4cGxpY2l0KS4gQWxzbworICAgICAgICBzaW1wbGlmaWVkIHRoZSBmaW5hbCAn
aWYnIGFzIHRoZSBib3JkZXIgd2lsbCBiZSBzZXQgb25seSBmb3IgdGhlIHJpZ2h0IENTUyBib3Jk
ZXIKKyAgICAgICAgcHJvcGVydGllcy4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6
OnZpc2l0ZWREZXBlbmRlbnRDb2xvcik6IFJlbW92ZWQgdGhlIHxib3JkZXJTdHlsZXwgdmFyaWFi
bGUKKyAgICAgICAgYXMgaXQgd2FzIG5ldmVyIHJlYWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaDogUmVtb3ZlZCB0aGUgcGFyYW1ldGVyLgorCiAyMDExLTA2LTE2
ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmNwcAppbmRleCA0YzBlMDIwMzZjMWFhYmFjMTA4NzhmYmMxMmI5YmE4Njcx
YTYwNGFiLi5lZjc0ZTJiZTU4NzIyZDdmNjRiZjYzODNmNzRjOTNjZmU5OWQxMzc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTEwOTMs
MzIgKzEwOTMsMTAgQEAgdm9pZCBSZW5kZXJTdHlsZTo6Z2V0U2hhZG93VmVydGljYWxFeHRlbnQo
Y29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBpbnQgJnRvcCwgaW4KICAgICB9CiB9CiAKLXN0YXRp
YyBFQm9yZGVyU3R5bGUgYm9yZGVyU3R5bGVGb3JDb2xvclByb3BlcnR5KGNvbnN0IFJlbmRlclN0
eWxlKiBzdHlsZSwgaW50IGNvbG9yUHJvcGVydHkpCi17Ci0gICAgRUJvcmRlclN0eWxlIGJvcmRl
clN0eWxlOwotICAgIHN3aXRjaCAoY29sb3JQcm9wZXJ0eSkgewotICAgIGNhc2UgQ1NTUHJvcGVy
dHlCb3JkZXJMZWZ0Q29sb3I6Ci0gICAgICAgIGJvcmRlclN0eWxlID0gc3R5bGUtPmJvcmRlckxl
ZnRTdHlsZSgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyUmln
aHRDb2xvcjoKLSAgICAgICAgYm9yZGVyU3R5bGUgPSBzdHlsZS0+Ym9yZGVyUmlnaHRTdHlsZSgp
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3I6Ci0g
ICAgICAgIGJvcmRlclN0eWxlID0gc3R5bGUtPmJvcmRlclRvcFN0eWxlKCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvcjoKLSAgICAgICAgYm9y
ZGVyU3R5bGUgPSBzdHlsZS0+Ym9yZGVyQm90dG9tU3R5bGUoKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgICAgYm9yZGVyU3R5bGUgPSBCTk9ORTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotICAgIHJldHVybiBib3JkZXJTdHlsZTsKLX0KLQotY29uc3QgQ29sb3IgUmVuZGVy
U3R5bGU6OmNvbG9ySW5jbHVkaW5nRmFsbGJhY2soaW50IGNvbG9yUHJvcGVydHksIEVCb3JkZXJT
dHlsZSBib3JkZXJTdHlsZSkgY29uc3QKK2NvbnN0IENvbG9yIFJlbmRlclN0eWxlOjpjb2xvcklu
Y2x1ZGluZ0ZhbGxiYWNrKGludCBjb2xvclByb3BlcnR5KSBjb25zdAogewogICAgIENvbG9yIHJl
c3VsdDsKKyAgICBFQm9yZGVyU3R5bGUgYm9yZGVyU3R5bGUgPSBCTk9ORTsKICAgICBzd2l0Y2gg
KGNvbG9yUHJvcGVydHkpIHsKICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yOgog
ICAgICAgICByZXR1cm4gYmFja2dyb3VuZENvbG9yKCk7IC8vIEJhY2tncm91bmQgY29sb3IgZG9l
c24ndCBmYWxsIGJhY2suCkBAIC0xMTYyLDkgKzExNDAsNyBAQCBjb25zdCBDb2xvciBSZW5kZXJT
dHlsZTo6Y29sb3JJbmNsdWRpbmdGYWxsYmFjayhpbnQgY29sb3JQcm9wZXJ0eSwgRUJvcmRlclN0
eWxlCiAgICAgfQogCiAgICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKSB7Ci0gICAgICAgIGlmICgo
Y29sb3JQcm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUJvcmRlckxlZnRDb2xvciB8fCBjb2xvclByb3Bl
cnR5ID09IENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvcgotICAgICAgICAgICAgfHwgY29sb3JQ
cm9wZXJ0eSA9PSBDU1NQcm9wZXJ0eUJvcmRlclRvcENvbG9yIHx8IGNvbG9yUHJvcGVydHkgPT0g
Q1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvcikKLSAgICAgICAgICAgICYmIChib3JkZXJTdHls
ZSA9PSBJTlNFVCB8fCBib3JkZXJTdHlsZSA9PSBPVVRTRVQgfHwgYm9yZGVyU3R5bGUgPT0gUklE
R0UgfHwgYm9yZGVyU3R5bGUgPT0gR1JPT1ZFKSkKKyAgICAgICAgaWYgKGJvcmRlclN0eWxlID09
IElOU0VUIHx8IGJvcmRlclN0eWxlID09IE9VVFNFVCB8fCBib3JkZXJTdHlsZSA9PSBSSURHRSB8
fCBib3JkZXJTdHlsZSA9PSBHUk9PVkUpCiAgICAgICAgICAgICByZXN1bHQuc2V0UkdCKDIzOCwg
MjM4LCAyMzgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXN1bHQgPSBjb2xvcigpOwpA
QCAtMTE3NSwxNSArMTE1MSwxNCBAQCBjb25zdCBDb2xvciBSZW5kZXJTdHlsZTo6Y29sb3JJbmNs
dWRpbmdGYWxsYmFjayhpbnQgY29sb3JQcm9wZXJ0eSwgRUJvcmRlclN0eWxlCiAKIGNvbnN0IENv
bG9yIFJlbmRlclN0eWxlOjp2aXNpdGVkRGVwZW5kZW50Q29sb3IoaW50IGNvbG9yUHJvcGVydHkp
IGNvbnN0CiB7Ci0gICAgRUJvcmRlclN0eWxlIGJvcmRlclN0eWxlID0gYm9yZGVyU3R5bGVGb3JD
b2xvclByb3BlcnR5KHRoaXMsIGNvbG9yUHJvcGVydHkpOwotICAgIENvbG9yIHVudmlzaXRlZENv
bG9yID0gY29sb3JJbmNsdWRpbmdGYWxsYmFjayhjb2xvclByb3BlcnR5LCBib3JkZXJTdHlsZSk7
CisgICAgQ29sb3IgdW52aXNpdGVkQ29sb3IgPSBjb2xvckluY2x1ZGluZ0ZhbGxiYWNrKGNvbG9y
UHJvcGVydHkpOwogICAgIGlmIChpbnNpZGVMaW5rKCkgIT0gSW5zaWRlVmlzaXRlZExpbmspCiAg
ICAgICAgIHJldHVybiB1bnZpc2l0ZWRDb2xvcjsKIAogICAgIFJlbmRlclN0eWxlKiB2aXNpdGVk
U3R5bGUgPSBnZXRDYWNoZWRQc2V1ZG9TdHlsZShWSVNJVEVEX0xJTkspOwogICAgIGlmICghdmlz
aXRlZFN0eWxlKQogICAgICAgICByZXR1cm4gdW52aXNpdGVkQ29sb3I7Ci0gICAgQ29sb3Igdmlz
aXRlZENvbG9yID0gdmlzaXRlZFN0eWxlLT5jb2xvckluY2x1ZGluZ0ZhbGxiYWNrKGNvbG9yUHJv
cGVydHksIGJvcmRlclN0eWxlKTsKKyAgICBDb2xvciB2aXNpdGVkQ29sb3IgPSB2aXNpdGVkU3R5
bGUtPmNvbG9ySW5jbHVkaW5nRmFsbGJhY2soY29sb3JQcm9wZXJ0eSk7CiAKICAgICAvLyBGSVhN
RTogVGVjaG5pY2FsbHkgc29tZW9uZSBjb3VsZCBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGNvbG9y
IHRyYW5zcGFyZW50LCBidXQgZm9yIG5vdyB3ZSdsbCBqdXN0CiAgICAgLy8gYXNzdW1lIHRoYXQg
aWYgdGhlIGJhY2tncm91bmQgY29sb3IgaXMgdHJhbnNwYXJlbnQgdGhhdCBpdCB3YXNuJ3Qgc2V0
LiBOb3RlIHRoYXQgaXQncyB3ZWlyZCB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGFmYzk5ZmRlZmVjMTIzZTdhOGQ2YTAxZjVhNThmYTI4
NmJiMDcwZDIuLmQ1ZjQ5MjEwNTc0ZmZmN2Q3Y2Y1YzY0OWZhY2EwZDRjMTA5NjAzYTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMzU2LDcg
KzEzNTYsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IENvbG9yJiB0ZXh0RmlsbENvbG9yKCkgY29u
c3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPnRleHRGaWxsQ29sb3I7IH0KICAgICBjb25z
dCBDb2xvciYgdGV4dFN0cm9rZUNvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRlZERh
dGEtPnRleHRTdHJva2VDb2xvcjsgfQogICAgIAotICAgIGNvbnN0IENvbG9yIGNvbG9ySW5jbHVk
aW5nRmFsbGJhY2soaW50IGNvbG9yUHJvcGVydHksIEVCb3JkZXJTdHlsZSkgY29uc3Q7CisgICAg
Y29uc3QgQ29sb3IgY29sb3JJbmNsdWRpbmdGYWxsYmFjayhpbnQgY29sb3JQcm9wZXJ0eSkgY29u
c3Q7CiAKICAgICB2b2lkIGFwcGVuZENvbnRlbnQoUGFzc093blB0cjxDb250ZW50RGF0YT4pOwog
fTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>