<?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>17213</bug_id>
          
          <creation_ts>2008-02-07 22:03:10 -0800</creation_ts>
          <short_desc>The querySelectorAll method on an element node does not search only the element&apos;s descendants</short_desc>
          <delta_ts>2008-02-08 12:22:03 -0800</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>http://andrewdupont.net/test/test_query_selector.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrew Dupont">webkit</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>69724</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Dupont">webkit</who>
    <bug_when>2008-02-07 22:03:10 -0800</bug_when>
    <thetext>From the W3C Selectors API draft:

&quot;The querySelectorAll() methods on the ElementSelector interface must, when invoked, return a StaticNodeList of all the Element nodes, in document order, that are descendants of the element on which the method was invoked and matches the group of selectors (selectors), if any. Otherwise it must return an empty StaticNodeList.&quot;

The testcase shows that anyElement.querySelectorAll always behaves like document.querySelectorAll — it&apos;ll search document-wide. This is incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69779</commentid>
    <comment_count>1</comment_count>
      <attachid>19006</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-02-08 11:57:36 -0800</bug_when>
    <thetext>Created attachment 19006
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69780</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-02-08 11:58:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/5732491&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69781</commentid>
    <comment_count>3</comment_count>
      <attachid>19006</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-02-08 12:00:23 -0800</bug_when>
    <thetext>Comment on attachment 19006
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>69782</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-02-08 12:22:03 -0800</bug_when>
    <thetext>Fixed in r30096.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19006</attachid>
            <date>2008-02-08 11:57:36 -0800</date>
            <delta_ts>2008-02-08 12:00:23 -0800</delta_ts>
            <desc>patch</desc>
            <filename>qsaPatch.diff</filename>
            <type>text/plain</type>
            <size>6327</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzMDA4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDgtMDItMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9y
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjEzCisgICAgICAgIFRo
ZSBxdWVyeVNlbGVjdG9yQWxsIG1ldGhvZCBvbiBhbiBlbGVtZW50IG5vZGUgZG9lcyBub3Qgc2Vh
cmNoIG9ubHkgdGhlIGVsZW1lbnQncyBkZXNjZW5kYW50cworCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZG9tL1NlbGVjdG9yQVBJL2VsZW1lbnRSb290Lmh0bWwKKworICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnF1ZXJ5U2VsZWN0b3IpOiBNYWtlIHN1cmUgdG8g
c3RheSB3aXRoaW4gdGhlIHJvb3Qgbm9kZSB3aGVuIHRyYXZlcnNpbmcgdGhlIHRyZWUuCisgICAg
ICAgICogZG9tL1NlbGVjdG9yTm9kZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0
b3JOb2RlTGlzdDo6U2VsZWN0b3JOb2RlTGlzdCk6IGRpdHRvLgorCiAyMDA4LTAyLTA2ICBLaW1t
byBLaW5udW5lbiAgPGtpbW1va0Bpa2kuZmk+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhh
dGNoZXIuCkluZGV4OiBXZWJDb3JlL2RvbS9Ob2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2RvbS9Ob2RlLmNwcAkocmV2aXNpb24gMzAwODYpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTIyOCw3ICsxMjI4LDcgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBO
b2RlOjpxdWVyeVNlbGVjdG9yKAogICAgIENTU1NlbGVjdG9yKiBxdWVyeVNlbGVjdG9yID0gc3Rh
dGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4ocnVsZS5nZXQoKSktPnNlbGVjdG9yKCk7CiAgICAgCiAg
ICAgLy8gRklYTUU6IFdlIGNhbiBzcGVlZCB0aGlzIHVwIGJ5IGltcGxlbWVudGluZyBjYWNoaW5n
IHNpbWlsYXIgdG8gdGhlIG9uZSB1c2UgYnkgZ2V0RWxlbWVudEJ5SWQKLSAgICBmb3IgKE5vZGUg
Km4gPSB0cmF2ZXJzZU5leHROb2RlKCk7IG47IG4gPSBuLT50cmF2ZXJzZU5leHROb2RlKCkpIHsK
KyAgICBmb3IgKE5vZGUqIG4gPSBmaXJzdENoaWxkKCk7IG47IG4gPSBuLT50cmF2ZXJzZU5leHRO
b2RlKHRoaXMpKSB7CiAgICAgICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkpIHsKICAgICAgICAg
ICAgIEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obik7CiAgICAgICAg
ICAgICBzdHlsZVNlbGVjdG9yLT5pbml0RWxlbWVudEFuZFBzZXVkb1N0YXRlKGVsZW1lbnQpOwpJ
bmRleDogV2ViQ29yZS9kb20vU2VsZWN0b3JOb2RlTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vU2VsZWN0b3JOb2RlTGlzdC5jcHAJKHJldmlzaW9uIDMwMDg2KQorKysgV2ViQ29y
ZS9kb20vU2VsZWN0b3JOb2RlTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcg
QEAgU2VsZWN0b3JOb2RlTGlzdDo6U2VsZWN0b3JOb2RlTGlzdChQYXNzUgogewogICAgIERvY3Vt
ZW50KiBkb2N1bWVudCA9IHJvb3ROb2RlLT5kb2N1bWVudCgpOwogICAgIENTU1N0eWxlU2VsZWN0
b3IqIHN0eWxlU2VsZWN0b3IgPSBkb2N1bWVudC0+c3R5bGVTZWxlY3RvcigpOwotICAgIGZvciAo
Tm9kZSogbiA9IHJvb3ROb2RlLT50cmF2ZXJzZU5leHROb2RlKCk7IG47IG4gPSBuLT50cmF2ZXJz
ZU5leHROb2RlKCkpIHsKKyAgICBmb3IgKE5vZGUqIG4gPSByb290Tm9kZS0+Zmlyc3RDaGlsZCgp
OyBuOyBuID0gbi0+dHJhdmVyc2VOZXh0Tm9kZShyb290Tm9kZS5nZXQoKSkpIHsKICAgICAgICAg
aWYgKG4tPmlzRWxlbWVudE5vZGUoKSkgewogICAgICAgICAgICAgc3R5bGVTZWxlY3Rvci0+aW5p
dEVsZW1lbnRBbmRQc2V1ZG9TdGF0ZShzdGF0aWNfY2FzdDxFbGVtZW50Kj4obikpOwogICAgICAg
ICAgICAgZm9yIChDU1NTZWxlY3Rvciogc2VsZWN0b3IgPSBxdWVyeVNlbGVjdG9yOyBzZWxlY3Rv
cjsgc2VsZWN0b3IgPSBzZWxlY3Rvci0+bmV4dCgpKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAzMDA4
NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2
IEBACisyMDA4LTAyLTA4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBmb3IgaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyMTMKKyAgICAgICAgVGhlIHF1ZXJ5U2Vs
ZWN0b3JBbGwgbWV0aG9kIG9uIGFuIGVsZW1lbnQgbm9kZSBkb2VzIG5vdCBzZWFyY2ggb25seSB0
aGUgZWxlbWVudCdzIGRlc2NlbmRhbnRzCisKKyAgICAgICAgKiBmYXN0L2RvbS9TZWxlY3RvckFQ
SS9lbGVtZW50Um9vdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Nl
bGVjdG9yQVBJL2VsZW1lbnRSb290Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1Nl
bGVjdG9yQVBJL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vU2VsZWN0b3JB
UEkvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qv
anMvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwuCisgICAgICAgICogZmFzdC9kb20vU2VsZWN0b3JB
UEkvcmVzb3VyY2VzL2VsZW1lbnRSb290LmpzOiBBZGRlZC4KKwogMjAwOC0wMi0wNiAgS2ltbW8g
S2lubnVuZW4gIDxraW1tb2tAaWtpLmZpPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIYXRj
aGVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vU2VsZWN0b3JBUEkvZWxlbWVudFJvb3Qt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1NlbGVjdG9y
QVBJL2VsZW1lbnRSb290LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL1NlbGVjdG9yQVBJL2VsZW1lbnRSb290LWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxNCBAQAorVGhpcyB0ZXN0cyB0aGF0IHF1ZXJ5U2VsZWN0b3IgYW5kIHF1
ZXJ5U2VsZWN0b3JBbGwgZG9uJ3Qgc2VhcmNoIG91dHNpZGUgdGhlaXIgcm9vdCBub2RlLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByb290LnF1ZXJ5U2VsZWN0b3IoJ2Rp
dicpIGlzIGNvcnJlY3ROb2RlCitQQVNTIHJvb3QucXVlcnlTZWxlY3RvckFsbCgnZGl2JykubGVu
Z3RoIGlzIDEKK1BBU1Mgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKS5pdGVtKDApIGlzIGNv
cnJlY3ROb2RlCitQQVNTIG5vQ2hpbGQucXVlcnlTZWxlY3RvcignZGl2JykgaXMgbnVsbAorUEFT
UyBub0NoaWxkLnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdicpLmxlbmd0aCBpcyAwCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vU2VsZWN0b3JBUEkvZWxlbWVudFJvb3QuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9TZWxlY3RvckFQSS9lbGVtZW50Um9vdC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vU2VsZWN0b3JBUEkvZWxlbWVudFJvb3QuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbGVtZW50Um9vdC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9TZWxlY3Rv
ckFQSS9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9TZWxlY3RvckFQSS9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gMzAw
NTMpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWw6MzAw
NTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9TZWxlY3RvckFQSS9yZXNvdXJjZXMvVEVNUExB
VEUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0iWU9VUl9KU19GSUxFX0hFUkUiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9kb20vU2VsZWN0b3JBUEkvcmVzb3VyY2VzL2VsZW1lbnRSb290
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1NlbGVjdG9yQVBJL3Jlc291
cmNlcy9lbGVtZW50Um9vdC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9t
L1NlbGVjdG9yQVBJL3Jlc291cmNlcy9lbGVtZW50Um9vdC5qcwkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxOSBAQAorZGVzY3JpcHRpb24oCisiVGhpcyB0ZXN0cyB0aGF0IHF1ZXJ5U2VsZWN0b3Ig
YW5kIHF1ZXJ5U2VsZWN0b3JBbGwgZG9uJ3Qgc2VhcmNoIG91dHNpZGUgdGhlaXIgcm9vdCBub2Rl
LiIKKyk7CisKK3ZhciByb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cit2YXIg
Y29ycmVjdE5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK3Jvb3QuYXBwZW5k
Q2hpbGQoY29ycmVjdE5vZGUpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290KTsKK3Zh
ciBub0NoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Citkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKG5vQ2hpbGQpOworCitzaG91bGRCZSgicm9vdC5xdWVyeVNlbGVjdG9yKCdk
aXYnKSIsICJjb3JyZWN0Tm9kZSIpOworc2hvdWxkQmUoInJvb3QucXVlcnlTZWxlY3RvckFsbCgn
ZGl2JykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Rp
dicpLml0ZW0oMCkiLCAiY29ycmVjdE5vZGUiKTsKKworc2hvdWxkQmVOdWxsKCJub0NoaWxkLnF1
ZXJ5U2VsZWN0b3IoJ2RpdicpIik7CitzaG91bGRCZSgibm9DaGlsZC5xdWVyeVNlbGVjdG9yQWxs
KCdkaXYnKS5sZW5ndGgiLCAiMCIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="8307"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>