<?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>69406</bug_id>
          
          <creation_ts>2011-10-05 00:58:45 -0700</creation_ts>
          <short_desc>IsShadowRootFlag should not depend on whether the ShadowRoot is attached to a host</short_desc>
          <delta_ts>2011-10-05 19:26:45 -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>DOM</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>
          
          <blocked>69266</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominic Cooney">dominicc</reporter>
          <assigned_to name="Dominic Cooney">dominicc</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>478207</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-10-05 00:58:45 -0700</bug_when>
    <thetext>To improve performance I am proposing we use IsShadowRootFlag and isSVGShadowRoot virtual slightly differently:

getFlag(IsShadowRootFlag) =&gt; ShadowRoot or SVGShadowRoot
getFlag(IsShadowRootFlag) &amp;&amp; !getFlag(IsSVGElementFlag) =&gt; ShadowRoot (ie new style)
getFlag(IsShadowRootFlag) &amp;&amp; getFlag(IsSVGElementFlag) =&gt; SVGShadowRoot

This will fix a performance regression in parentNode (see bug 69266) and remove a virtual from Node (isSVGShadowRoot can just consult flags.)

One way isSVGShadowRoot and getFlag(IsShadowRootFlag) vary today is that isSVGShadowRoot is associated with the SVGShadowRoot type the vtable; it never changes for a given instance. But ShadowRoot sets and clears getFlag(IsShadowRootFlag) when a ShadowRoot is attached/detached to a host. I think this is needless variation. I think we should always set IsShadowRootFlag for ShadowRoot instances. If the caller wants to find out whether it is associated with a host, it can test null-ness of shadowHost().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478217</commentid>
    <comment_count>1</comment_count>
      <attachid>109757</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-10-05 01:16:03 -0700</bug_when>
    <thetext>Created attachment 109757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478862</commentid>
    <comment_count>2</comment_count>
      <attachid>109757</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-10-05 18:46:20 -0700</bug_when>
    <thetext>Comment on attachment 109757
Patch

Looks sane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478881</commentid>
    <comment_count>3</comment_count>
      <attachid>109757</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-05 19:26:41 -0700</bug_when>
    <thetext>Comment on attachment 109757
Patch

Clearing flags on attachment: 109757

Committed r96782: &lt;http://trac.webkit.org/changeset/96782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478882</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-05 19:26:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109757</attachid>
            <date>2011-10-05 01:16:03 -0700</date>
            <delta_ts>2011-10-05 19:26:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69406-20111005171602.patch</filename>
            <type>text/plain</type>
            <size>3915</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYzNjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4N2VjZTM1NDZkNmRmZTcw
YzM5ZWM2NmUxZTc3NTA5ZDc2NzljMzE1Li5lNGQ0NjAwZGNkZWRjYTBkMjNhNTFhZTRjNjY3Zjc1
MDkxMmQ0ZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTAtMDUgIERvbWlu
aWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgorCisgICAgICAgIElzU2hhZG93Um9v
dEZsYWcgc2hvdWxkIG5vdCBkZXBlbmQgb24gd2hldGhlciBhIFNoYWRvd1Jvb3QgaXMgYXR0YWNo
ZWQgdG8gYSBob3N0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Njk0MDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IgPT4gTm8gbmV3IHRlc3RzLgorCisgICAgICAgICog
ZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0U2hhZG93SG9zdCk6IERv
bid0IHR3aWRkbGUgdGhlIGZsYWcuCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBk
b20vU2hhZG93Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpTaGFkb3dS
b290KTogU2V0IHRoZSBJc1NoYWRvd1Jvb3RGbGFnIG9uIGNyZWF0aW9uLgorICAgICAgICAqIGRv
bS9UcmVlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjpUcmVlU2NvcGUp
OiBMZXQgU2hhZG93Um9vdCBzZXQgY3JlYXRpb24gZmxhZ3MuCisgICAgICAgICogZG9tL1RyZWVT
Y29wZS5oOgorCiAyMDExLTA5LTI5ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgRml4ZW5hdGUgdGhlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGE2YjllMDFl
MGZhYzc0YWY1YTI4OTUzZWIwOTliODdhNTBhZjMyZTQuLjZjYjU0OWNhMzVlZWQ5MTUxZmFiY2Qw
YzczZWNjMDU2YjE0OGEzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTU2OCwxMiArNTY4LDcgQEAg
RWxlbWVudCogTm9kZTo6c2hhZG93SG9zdCgpIGNvbnN0CiAKIHZvaWQgTm9kZTo6c2V0U2hhZG93
SG9zdChFbGVtZW50KiBob3N0KQogewotICAgIEFTU0VSVCghcGFyZW50Tm9kZSgpICYmICFpc1NW
R1NoYWRvd1Jvb3QoKSk7Ci0gICAgaWYgKGhvc3QpCi0gICAgICAgIHNldEZsYWcoSXNTaGFkb3dS
b290RmxhZyk7Ci0gICAgZWxzZQotICAgICAgICBjbGVhckZsYWcoSXNTaGFkb3dSb290RmxhZyk7
Ci0KKyAgICBBU1NFUlQoIXBhcmVudE5vZGUoKSAmJiBpc1NoYWRvd1Jvb3QoKSk7CiAgICAgc2V0
UGFyZW50KGhvc3QpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCAyZDlmODA5ZDUwODhiODAzNGMyZGFm
MmU5ODhjYjRlYjE2ZmRhMTNjLi5lYzljMWZiOTM1OWJhYzliNjYzYWU1ZWMwNjgxZTBjYjRhM2U2
NDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTY0MSw5ICs2NDEsMTAgQEAgcHJvdGVjdGVkOgogICAgICAg
ICBDcmVhdGVDb21tZW50ID0gRGVmYXVsdE5vZGVGbGFncyB8IElzQ29tbWVudEZsYWcsCiAgICAg
ICAgIENyZWF0ZUNvbnRhaW5lciA9IERlZmF1bHROb2RlRmxhZ3MgfCBJc0NvbnRhaW5lckZsYWcs
IAogICAgICAgICBDcmVhdGVFbGVtZW50ID0gQ3JlYXRlQ29udGFpbmVyIHwgSXNFbGVtZW50Rmxh
ZywgCisgICAgICAgIENyZWF0ZVNoYWRvd1Jvb3QgPSBDcmVhdGVDb250YWluZXIgfCBJc1NoYWRv
d1Jvb3RGbGFnLAogICAgICAgICBDcmVhdGVTdHlsZWRFbGVtZW50ID0gQ3JlYXRlRWxlbWVudCB8
IElzU3R5bGVkRWxlbWVudEZsYWcsIAogICAgICAgICBDcmVhdGVIVE1MRWxlbWVudCA9IENyZWF0
ZVN0eWxlZEVsZW1lbnQgfCBJc0hUTUxGbGFnLCAKLSAgICAgICAgQ3JlYXRlU1ZHRWxlbWVudCA9
IENyZWF0ZVN0eWxlZEVsZW1lbnQgfCBJc1NWR0ZsYWcsIAorICAgICAgICBDcmVhdGVTVkdFbGVt
ZW50ID0gQ3JlYXRlU3R5bGVkRWxlbWVudCB8IElzU1ZHRmxhZywKICAgICB9OwogICAgIE5vZGUo
RG9jdW1lbnQqLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3Bw
CmluZGV4IDc0ZGFjOGExODQzOTY3MTMyZWEyMjNjZjI2ZWExN2I1ZDEyMWFjMjEuLmUyY2U5YjA0
M2U5NDRiMWFjNjIyYjU1YzEwMDkxMWM0YmI4MmUwNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9v
dC5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU2hhZG93Um9v
dDo6U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQpCi0gICAgOiBUcmVlU2NvcGUoZG9jdW1l
bnQpCisgICAgOiBUcmVlU2NvcGUoZG9jdW1lbnQsIENyZWF0ZVNoYWRvd1Jvb3QpCiAgICAgLCBt
X2FwcGx5QXV0aG9yU2hlZXRzKGZhbHNlKQogewogICAgIEFTU0VSVChkb2N1bWVudCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9UcmVlU2NvcGUuY3BwCmluZGV4IDczMzM5NjRiOTg0YzBhYjNkZWI1YzFlZmEyYzYwNmMz
MDJiNWE0NjQuLjM1YmFkNTFjZTkxMDE4ODE5YjJkYzg2NDAyZTVkZmRlNzkwNDc1NmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9UcmVlU2NvcGUuY3BwCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotVHJlZVNjb3BlOjpUcmVlU2NvcGUo
RG9jdW1lbnQqIGRvY3VtZW50KQotICAgIDogQ29udGFpbmVyTm9kZShkb2N1bWVudCkKK1RyZWVT
Y29wZTo6VHJlZVNjb3BlKERvY3VtZW50KiBkb2N1bWVudCwgQ29uc3RydWN0aW9uVHlwZSBjb25z
dHJ1Y3Rpb25UeXBlKQorICAgIDogQ29udGFpbmVyTm9kZShkb2N1bWVudCwgY29uc3RydWN0aW9u
VHlwZSkKICAgICAsIG1fcGFyZW50VHJlZVNjb3BlKDApCiAgICAgLCBtX251bU5vZGVMaXN0Q2Fj
aGVzKDApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmgKaW5kZXggZTkyM2ZjNGIzNjg2Y2QwNzZmZjkw
NzU3MzYzOWQzOTAzNDAzZDMyMC4uY2JlM2VlMDdhYTk2ZTVhZjQ1Yzg2N2NlOGViMzZlNmYxMzcw
OGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaApAQCAtNjUsNyArNjUsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGFwcGx5QXV0aG9yU2hlZXRzKCkgY29uc3Q7CiAKIHByb3RlY3RlZDoK
LSAgICBUcmVlU2NvcGUoRG9jdW1lbnQqKTsKKyAgICBUcmVlU2NvcGUoRG9jdW1lbnQqLCBDb25z
dHJ1Y3Rpb25UeXBlID0gQ3JlYXRlQ29udGFpbmVyKTsKICAgICB2aXJ0dWFsIH5UcmVlU2NvcGUo
KTsKIAogICAgIHZvaWQgZGVzdHJveVRyZWVTY29wZURhdGEoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>