<?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>21052</bug_id>
          
          <creation_ts>2008-09-24 02:05:46 -0700</creation_ts>
          <short_desc>Generalize id selector special case for querySelectorAll</short_desc>
          <delta_ts>2008-09-25 13:56:47 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Smith">catfish.man</reporter>
          <assigned_to name="David Smith">catfish.man</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92493</commentid>
    <comment_count>0</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2008-09-24 02:05:46 -0700</bug_when>
    <thetext>Currently we special case only a raw id selector. Patch forthcoming shortly to expand this to any selector with an id selector as its rightmost element, at a small cost in special case speed.

Changes results from:
#title: 2ms
h1#title: 55ms
div #title: 55ms

to:
#title: 1ms (test variance? it shouldn&apos;t have sped up...)
h1#title: 2ms
div #title: 5ms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92497</commentid>
    <comment_count>1</comment_count>
      <attachid>23745</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2008-09-24 02:21:09 -0700</bug_when>
    <thetext>Created attachment 23745
Patch; Passes run-webkit-tests and doesn&apos;t regress http://ejohn.org/apps/selectortest/#target</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92798</commentid>
    <comment_count>2</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2008-09-25 13:56:47 -0700</bug_when>
    <thetext>Fixed in r36907</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23745</attachid>
            <date>2008-09-24 02:21:09 -0700</date>
            <delta_ts>2008-09-25 07:39:55 -0700</delta_ts>
            <desc>Patch; Passes run-webkit-tests and doesn&apos;t regress http://ejohn.org/apps/selectortest/#target</desc>
            <filename>generalizeidspecialcaseqsa.txt</filename>
            <type>text/plain</type>
            <size>4153</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNjg0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDgtMDktMjQgIERhdmlkIFNtaXRoICA8Y2F0ZmlzaC5tYW5AZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA1MgorICAgICAgICBH
ZW5lcmFsaXplIGlkIHNlbGVjdG9yIHNwZWNpYWwgY2FzZSBmb3IgcXVlcnlTZWxlY3RvckFsbAor
ICAgICAgICAKKyAgICAgICAgQnkgY2hlY2tpbmcgdGhlIGVsZW1lbnQgd2UgZ2V0IHdpdGggZ2V0
RWxlbWVudEJ5SWQgYWdhaW5zdCB0aGUgc2VsZWN0b3IsIHdlIGNhbiB1c2UgdGhlIHNwZWNpYWwg
Y2FzZSBpbiBtYW55IG1vcmUgY2lyY3Vtc3RhbmNlcy4KKyAgICAgICAgQ2hhbmdlcyByZXN1bHRz
IG9uIGh0dHA6Ly9uYXRpdmUua2hhbi5tb3ppbGxhLm9yZyAKKyAgICAgICAgZnJvbQorICAgICAg
ICAgICAgI3RpdGxlOiAybXMKKyAgICAgICAgICAgIGgxI3RpdGxlOiA1NW1zCisgICAgICAgICAg
ICBkaXYgI3RpdGxlOiA1NW1zCisKKyAgICAgICAgdG86CisgICAgICAgICAgICAjdGl0bGU6IDFt
cworICAgICAgICAgICAgaDEjdGl0bGU6IDJtcworICAgICAgICAgICAgZGl2ICN0aXRsZTogNW1z
CisgICAgICAgIAorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5v
ZGU6OnF1ZXJ5U2VsZWN0b3IpOgorICAgICAgICAqIGRvbS9TZWxlY3Rvck5vZGVMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVNlbGVjdG9yTm9kZUxpc3QpOgorCiAyMDA4LTA5LTIz
ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEBwbGV5by5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWxwIFRva2VyLiBMYW5kZWQgYnkgSmFuIEFsb256by4KSW5kZXg6IFdlYkNvcmUv
ZG9tL05vZGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lv
biAzNjgwMykKKysrIFdlYkNvcmUvZG9tL05vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYz
LDE4ICsxMzYzLDE3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gTm9kZTo6cXVlcnlTZWxlY3RvcigK
ICAgICAgICAgfQogICAgIH0KIAorICAgIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tl
ciBzZWxlY3RvckNoZWNrZXIoZG9jdW1lbnQoKSwgc3RyaWN0UGFyc2luZyk7CisKICAgICAvLyBG
SVhNRTogd2UgY291bGQgYWxzbyBvcHRpbWl6ZSBmb3IgdGhlIHRoZSBbaWQ9ImZvbyJdIGNhc2UK
LSAgICBpZiAoc3RyaWN0UGFyc2luZyAmJiBpbkRvY3VtZW50KCkgJiYgIXF1ZXJ5U2VsZWN0b3It
Pm5leHQoKSAmJiBxdWVyeVNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZAotICAg
ICAgICAgICAgJiYgIXF1ZXJ5U2VsZWN0b3ItPmhhc1RhZygpICYmICFxdWVyeVNlbGVjdG9yLT5t
X3RhZ0hpc3RvcnkgJiYgIXF1ZXJ5U2VsZWN0b3ItPm1fc2ltcGxlU2VsZWN0b3IpIHsKKyAgICBp
ZiAoc3RyaWN0UGFyc2luZyAmJiBxdWVyeVNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9y
OjpJZCAmJiBpbkRvY3VtZW50KCkgJiYgIXF1ZXJ5U2VsZWN0b3ItPm5leHQoKSkgewogICAgICAg
ICBBU1NFUlQocXVlcnlTZWxlY3Rvci0+bV9hdHRyID09IGlkQXR0cik7CiAgICAgICAgIEVsZW1l
bnQqIGVsZW1lbnQgPSBkb2N1bWVudCgpLT5nZXRFbGVtZW50QnlJZChxdWVyeVNlbGVjdG9yLT5t
X3ZhbHVlKTsKLSAgICAgICAgaWYgKGVsZW1lbnQgJiYgKGlzRG9jdW1lbnROb2RlKCkgfHwgZWxl
bWVudC0+aXNEZXNjZW5kYW50T2YodGhpcykpKQorICAgICAgICBpZiAoZWxlbWVudCAmJiAoaXNE
b2N1bWVudE5vZGUoKSB8fCBlbGVtZW50LT5pc0Rlc2NlbmRhbnRPZih0aGlzKSkgJiYgc2VsZWN0
b3JDaGVja2VyLmNoZWNrU2VsZWN0b3IocXVlcnlTZWxlY3Rvci5nZXQoKSwgZWxlbWVudCkpCiAg
ICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0g
ICAgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyIHNlbGVjdG9yQ2hlY2tlcihkb2N1
bWVudCgpLCBzdHJpY3RQYXJzaW5nKTsKLQogICAgIC8vIEZJWE1FOiBXZSBjYW4gc3BlZWQgdGhp
cyB1cCBieSBpbXBsZW1lbnRpbmcgY2FjaGluZyBzaW1pbGFyIHRvIHRoZSBvbmUgdXNlIGJ5IGdl
dEVsZW1lbnRCeUlkCiAgICAgZm9yIChOb2RlKiBuID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+
dHJhdmVyc2VOZXh0Tm9kZSh0aGlzKSkgewogICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgp
KSB7CkluZGV4OiBXZWJDb3JlL2RvbS9TZWxlY3Rvck5vZGVMaXN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2RvbS9TZWxlY3Rvck5vZGVMaXN0LmNwcAkocmV2aXNpb24gMzY4MDMpCisrKyBX
ZWJDb3JlL2RvbS9TZWxlY3Rvck5vZGVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTUg
KzQ2LDE0IEBAIFBhc3NSZWZQdHI8U3RhdGljTm9kZUxpc3Q+IGNyZWF0ZVNlbGVjdG8KICAgICBB
dG9taWNTdHJpbmcgc2VsZWN0b3JWYWx1ZSA9IHF1ZXJ5U2VsZWN0b3ItPm1fdmFsdWU7CiAgICAg
Ym9vbCBzdHJpY3RQYXJzaW5nID0gIWRvY3VtZW50LT5pbkNvbXBhdE1vZGUoKTsKIAotICAgIGlm
IChzdHJpY3RQYXJzaW5nICYmIHJvb3ROb2RlLT5pbkRvY3VtZW50KCkgJiYgIXF1ZXJ5U2VsZWN0
b3ItPm5leHQoKSAmJiBxdWVyeVNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZAot
ICAgICAgICAgICAgJiYgIXF1ZXJ5U2VsZWN0b3ItPmhhc1RhZygpICYmICFxdWVyeVNlbGVjdG9y
LT5tX3RhZ0hpc3RvcnkgJiYgIXF1ZXJ5U2VsZWN0b3ItPm1fc2ltcGxlU2VsZWN0b3IKLSAgICAg
ICAgICAgICYmICFkb2N1bWVudC0+Y29udGFpbnNNdWx0aXBsZUVsZW1lbnRzV2l0aElkKHNlbGVj
dG9yVmFsdWUpKSB7CisgICAgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyIHNlbGVj
dG9yQ2hlY2tlcihkb2N1bWVudCwgc3RyaWN0UGFyc2luZyk7CisKKyAgICBpZiAoc3RyaWN0UGFy
c2luZyAmJiBxdWVyeVNlbGVjdG9yLT5tX21hdGNoID09IENTU1NlbGVjdG9yOjpJZCAmJiByb290
Tm9kZS0+aW5Eb2N1bWVudCgpICYmICFxdWVyeVNlbGVjdG9yLT5uZXh0KCkgJiYgIWRvY3VtZW50
LT5jb250YWluc011bHRpcGxlRWxlbWVudHNXaXRoSWQoc2VsZWN0b3JWYWx1ZSkpIHsKICAgICAg
ICAgQVNTRVJUKHF1ZXJ5U2VsZWN0b3ItPm1fYXR0ciA9PSBpZEF0dHIpOwogICAgICAgICBFbGVt
ZW50KiBlbGVtZW50ID0gZG9jdW1lbnQtPmdldEVsZW1lbnRCeUlkKHNlbGVjdG9yVmFsdWUpOwot
ICAgICAgICBpZiAoZWxlbWVudCAmJiAocm9vdE5vZGUtPmlzRG9jdW1lbnROb2RlKCkgfHwgZWxl
bWVudC0+aXNEZXNjZW5kYW50T2Yocm9vdE5vZGUpKSkKKyAgICAgICAgaWYgKGVsZW1lbnQgJiYg
KHJvb3ROb2RlLT5pc0RvY3VtZW50Tm9kZSgpIHx8IGVsZW1lbnQtPmlzRGVzY2VuZGFudE9mKHJv
b3ROb2RlKSkgJiYgc2VsZWN0b3JDaGVja2VyLmNoZWNrU2VsZWN0b3IocXVlcnlTZWxlY3Rvciwg
ZWxlbWVudCkpCiAgICAgICAgICAgICBub2Rlcy5hcHBlbmQoZWxlbWVudCk7CiAgICAgfSBlbHNl
IHsKLSAgICAgICAgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyIHNlbGVjdG9yQ2hl
Y2tlcihkb2N1bWVudCwgc3RyaWN0UGFyc2luZyk7CiAgICAgICAgIGZvciAoTm9kZSogbiA9IHJv
b3ROb2RlLT5maXJzdENoaWxkKCk7IG47IG4gPSBuLT50cmF2ZXJzZU5leHROb2RlKHJvb3ROb2Rl
KSkgewogICAgICAgICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSkgewogICAgICAgICAgICAg
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obik7Cg==
</data>
<flag name="review"
          id="10672"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>