<?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>117486</bug_id>
          
          <creation_ts>2013-06-10 21:35:23 -0700</creation_ts>
          <short_desc>Split SelectorDataList::executeSingleTagNameSelectorData() into the 4 kinds of traversal</short_desc>
          <delta_ts>2013-06-11 14:10:08 -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>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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>899005</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-06-10 21:35:23 -0700</bug_when>
    <thetext>Split SelectorDataList::executeSingleTagNameSelectorData() into the 4 kinds of traversal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899019</commentid>
    <comment_count>1</comment_count>
      <attachid>204285</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-06-10 22:07:30 -0700</bug_when>
    <thetext>Created attachment 204285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899057</commentid>
    <comment_count>2</comment_count>
      <attachid>204285</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-06-10 23:40:37 -0700</bug_when>
    <thetext>Comment on attachment 204285
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=204285&amp;action=review

r=me provided the following comments are addressed.

&gt; Source/WebCore/dom/SelectorQuery.cpp:161
&gt; +        if (element-&gt;localName() == localName) {

Can we assert that this condition matches with SelectorChecker::tagMatches(element, tagQualifiedName)?
I&apos;m afraid that this might get out of sync with SelectorChecker::tagMatches some day.

&gt; Source/WebCore/dom/SelectorQuery.cpp:173
&gt; +        matchedElements.append(element);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899284</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-06-11 13:53:08 -0700</bug_when>
    <thetext>That&apos;s a very good point. I add a test verifying the generated matchedElements vector is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899290</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-06-11 14:10:08 -0700</bug_when>
    <thetext>Committed r151470: &lt;http://trac.webkit.org/changeset/151470&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204285</attachid>
            <date>2013-06-10 22:07:30 -0700</date>
            <delta_ts>2013-06-10 23:40:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117486-20130610220552.patch</filename>
            <type>text/plain</type>
            <size>3939</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxNDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmM3YTU1YTVkNjVmZjBj
NzJiNTUyMjE2MDQwNjJkYmE3YTMxMTE2ZS4uYjNlNTZkYzdmMjY2OThiMTdhODUzZjVlM2YzNGM5
NzA2ZGEwMGI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEzLTA2LTEwICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCisgICAgICAgIFNwbGl0IFNlbGVj
dG9yRGF0YUxpc3Q6OmV4ZWN1dGVTaW5nbGVUYWdOYW1lU2VsZWN0b3JEYXRhKCkgaW50byB0aGUg
NCBraW5kcyBvZiB0cmF2ZXJzYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTExNzQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFNpbmNlIHRoaXMgaXMgcHJldHR5IGNvbW1vbiwgc3BsaXQgdGhlIG5hbWUg
c2VsZWN0b3IgdG8gaGF2ZSB0aGUgY29uc3RhbnQgY29uZGl0aW9ucworICAgICAgICBvdXRzaWRl
IHRoZSB0cmF2ZXJzYWwuCisKKyAgICAgICAgKiBkb20vU2VsZWN0b3JRdWVyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZWxlY3RvckRhdGFMaXN0OjpleGVjdXRlU2luZ2xlVGFnTmFtZVNlbGVj
dG9yRGF0YSk6CisKKzIwMTMtMDYtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CisKICAgICAgICAgQ2xlYW4gdXAgdGhlIGluaXRpYWxpemVyIG1lc3MgaW4gRG9jdW1l
bnQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzQ0
OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2VsZWN0b3JRdWVyeS5jcHAKaW5kZXggZjczNjJjZWRmMjA0NzU3
YjEzMmNkMzI4ZTMzZGVhOWVlNjU5NTVkYi4uMTczZjU3ZmVhOTcxODQ2OTU5MGM2ODc4MzI0YWM4
MDE1ZWJiZTYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NlbGVjdG9yUXVlcnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TZWxlY3RvclF1ZXJ5LmNwcApAQCAtMTU1LDE3
ICsxNTUsNTQgQEAgc3RhdGljIGJvb2wgaXNTaW5nbGVUYWdOYW1lU2VsZWN0b3IoY29uc3QgQ1NT
U2VsZWN0b3IqIHNlbGVjdG9yKQogfQogCiB0ZW1wbGF0ZSA8Ym9vbCBmaXJzdE1hdGNoT25seT4K
K3N0YXRpYyBpbmxpbmUgdm9pZCBlbGVtZW50c0ZvckxvY2FsTmFtZShjb25zdCBOb2RlKiByb290
Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUsIFZlY3RvcjxSZWZQdHI8Tm9kZT4g
PiYgbWF0Y2hlZEVsZW1lbnRzKQoreworICAgIGZvciAoRWxlbWVudCogZWxlbWVudCA9IEVsZW1l
bnRUcmF2ZXJzYWw6OmZpcnN0V2l0aGluKHJvb3ROb2RlKTsgZWxlbWVudDsgZWxlbWVudCA9IEVs
ZW1lbnRUcmF2ZXJzYWw6Om5leHQoZWxlbWVudCwgcm9vdE5vZGUpKSB7CisgICAgICAgIGlmIChl
bGVtZW50LT5sb2NhbE5hbWUoKSA9PSBsb2NhbE5hbWUpIHsKKyAgICAgICAgICAgIG1hdGNoZWRF
bGVtZW50cy5hcHBlbmQoZWxlbWVudCk7CisgICAgICAgICAgICBpZiAoZmlyc3RNYXRjaE9ubHkp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorfQorCit0ZW1wbGF0
ZSA8Ym9vbCBmaXJzdE1hdGNoT25seT4KK3N0YXRpYyBpbmxpbmUgdm9pZCBhbnlFbGVtZW50KGNv
bnN0IE5vZGUqIHJvb3ROb2RlLCBWZWN0b3I8UmVmUHRyPE5vZGU+ID4mIG1hdGNoZWRFbGVtZW50
cykKK3sKKyAgICBmb3IgKEVsZW1lbnQqIGVsZW1lbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpmaXJz
dFdpdGhpbihyb290Tm9kZSk7IGVsZW1lbnQ7IGVsZW1lbnQgPSBFbGVtZW50VHJhdmVyc2FsOjpu
ZXh0KGVsZW1lbnQsIHJvb3ROb2RlKSkgeworICAgICAgICBtYXRjaGVkRWxlbWVudHMuYXBwZW5k
KGVsZW1lbnQpOworICAgICAgICBpZiAoZmlyc3RNYXRjaE9ubHkpCisgICAgICAgICAgICByZXR1
cm47CisgICAgfQorfQorCisKK3RlbXBsYXRlIDxib29sIGZpcnN0TWF0Y2hPbmx5PgogQUxXQVlT
X0lOTElORSB2b2lkIFNlbGVjdG9yRGF0YUxpc3Q6OmV4ZWN1dGVTaW5nbGVUYWdOYW1lU2VsZWN0
b3JEYXRhKGNvbnN0IE5vZGUqIHJvb3ROb2RlLCBjb25zdCBTZWxlY3RvckRhdGEmIHNlbGVjdG9y
RGF0YSwgVmVjdG9yPFJlZlB0cjxOb2RlPiA+JiBtYXRjaGVkRWxlbWVudHMpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKG1fc2VsZWN0b3JzLnNpemUoKSA9PSAxKTsKICAgICBBU1NFUlQoaXNTaW5nbGVU
YWdOYW1lU2VsZWN0b3Ioc2VsZWN0b3JEYXRhLnNlbGVjdG9yKSk7CiAKICAgICBjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdRdWFsaWZpZWROYW1lID0gc2VsZWN0b3JEYXRhLnNlbGVjdG9yLT50YWdR
TmFtZSgpOwotICAgIGZvciAoRWxlbWVudCogZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6OmZp
cnN0V2l0aGluKHJvb3ROb2RlKTsgZWxlbWVudDsgZWxlbWVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6
Om5leHQoZWxlbWVudCwgcm9vdE5vZGUpKSB7Ci0gICAgICAgIGlmIChTZWxlY3RvckNoZWNrZXI6
OnRhZ01hdGNoZXMoZWxlbWVudCwgdGFnUXVhbGlmaWVkTmFtZSkpIHsKLSAgICAgICAgICAgIG1h
dGNoZWRFbGVtZW50cy5hcHBlbmQoZWxlbWVudCk7Ci0gICAgICAgICAgICBpZiAoZmlyc3RNYXRj
aE9ubHkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
c2VsZWN0b3JMb2NhbE5hbWUgPSB0YWdRdWFsaWZpZWROYW1lLmxvY2FsTmFtZSgpOworICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgc2VsZWN0b3JOYW1lc3BhY2VVUkkgPSB0YWdRdWFsaWZpZWROYW1l
Lm5hbWVzcGFjZVVSSSgpOworCisgICAgaWYgKHNlbGVjdG9yTmFtZXNwYWNlVVJJID09IHN0YXJB
dG9tKSB7CisgICAgICAgIGlmIChzZWxlY3RvckxvY2FsTmFtZSAhPSBzdGFyQXRvbSkgeworICAg
ICAgICAgICAgLy8gQ29tbW9uIGNhc2U6IG5hbWUgZGVmaW5lZCwgc2VsZWN0b3JOYW1lc3BhY2VV
UkkgaXMgYSB3aWxkY2FyZC4KKyAgICAgICAgICAgIGVsZW1lbnRzRm9yTG9jYWxOYW1lPGZpcnN0
TWF0Y2hPbmx5Pihyb290Tm9kZSwgc2VsZWN0b3JMb2NhbE5hbWUsIG1hdGNoZWRFbGVtZW50cyk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBPdGhlciBmYWlybHkgY29tbW9uIGNh
c2U6IGJvdGggYXJlIHdpbGRjYXJkcy4KKyAgICAgICAgICAgIGFueUVsZW1lbnQ8Zmlyc3RNYXRj
aE9ubHk+KHJvb3ROb2RlLCBtYXRjaGVkRWxlbWVudHMpOworICAgICAgICB9CisgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gRmFsbGJhY2s6IE5hbWVzcGFjZVVSSSBpcyBzZXQsIHNlbGVjdG9yTG9j
YWxOYW1lIG1heSBiZSBzdGFyQXRvbS4KKyAgICAgICAgZm9yIChFbGVtZW50KiBlbGVtZW50ID0g
RWxlbWVudFRyYXZlcnNhbDo6Zmlyc3RXaXRoaW4ocm9vdE5vZGUpOyBlbGVtZW50OyBlbGVtZW50
ID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dChlbGVtZW50LCByb290Tm9kZSkpIHsKKyAgICAgICAg
ICAgIGlmIChlbGVtZW50LT5uYW1lc3BhY2VVUkkoKSA9PSBzZWxlY3Rvck5hbWVzcGFjZVVSSSAm
JiAoc2VsZWN0b3JMb2NhbE5hbWUgPT0gc3RhckF0b20gfHwgZWxlbWVudC0+bG9jYWxOYW1lKCkg
PT0gc2VsZWN0b3JMb2NhbE5hbWUpKSB7CisgICAgICAgICAgICAgICAgbWF0Y2hlZEVsZW1lbnRz
LmFwcGVuZChlbGVtZW50KTsKKyAgICAgICAgICAgICAgICBpZiAoZmlyc3RNYXRjaE9ubHkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KIH0K
</data>
<flag name="review"
          id="225760"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>