<?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>144429</bug_id>
          
          <creation_ts>2015-04-29 19:08:45 -0700</creation_ts>
          <short_desc>LiveNodeList may unexpectedly return an element for empty string</short_desc>
          <delta_ts>2015-04-29 20:29:44 -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>WebCore Misc.</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1090291</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-29 19:08:45 -0700</bug_when>
    <thetext>* SUMMARY
LiveNodeList may unexpectedly return an element for empty string.

* TEST
&lt;body&gt;
&lt;script&gt;
var container = document.createElement(&quot;div&quot;);
var div = document.createElement(&quot;div&quot;);
div.id = &quot;&quot;;
container.appendChild(div);
var div2 = document.createElement(&quot;div&quot;);
div2.id = &quot;foo&quot;;
container.appendChild(div2);
var list = container.getElementsByTagName(&quot;div&quot;);
alert(list[&quot;&quot;]); // expected: undefined, actual: div#foo
alert(list[&quot;foo&quot;]); // expected: div#foo, actual: div#foo
&lt;/script&gt;

* NOTES
- Firefox and Chrome both produce the expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090309</commentid>
    <comment_count>1</comment_count>
      <attachid>252029</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-29 19:38:21 -0700</bug_when>
    <thetext>Created attachment 252029
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090311</commentid>
    <comment_count>2</comment_count>
      <attachid>252029</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-29 19:41:52 -0700</bug_when>
    <thetext>Comment on attachment 252029
[PATCH] Proposed Fix

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

&gt; Source/WebCore/dom/LiveNodeList.cpp:57
&gt; +    if (elementId.isEmpty())
&gt; +        return nullptr;

You could put this check after the rootNode.inDocument() block; no need to do even this small amount of extra work in the common case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090337</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-29 20:29:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/183612</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252029</attachid>
            <date>2015-04-29 19:38:21 -0700</date>
            <delta_ts>2015-04-29 19:55:40 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>livenodelist.patch</filename>
            <type>text/plain</type>
            <size>3642</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyM2I0MGY4Li45OWJhZjcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTUtMDQt
MjkgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBMaXZl
Tm9kZUxpc3QgbWF5IHVuZXhwZWN0ZWRseSByZXR1cm4gYW4gZWxlbWVudCBmb3IgZW1wdHkgc3Ry
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ0
MjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZh
c3QvZG9tL25hbWVkLWl0ZW1zLXdpdGgtZW1wdHktbmFtZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1lbXB0eS1uYW1lLmh0bWw6CisKKzIwMTUtMDQt
MjkgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBOb2Rl
TGlzdCBoYXMgaXNzdWVzIHdpdGggU3ltYm9sIGFuZCBlbXB0eSBzdHJpbmcKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDMxMAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLWVtcHR5LW5hbWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1lbXB0eS1uYW1l
LWV4cGVjdGVkLnR4dAppbmRleCBmNzAyYmUzLi4zZDM0NzA1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9uYW1lZC1pdGVtcy13aXRoLWVtcHR5LW5hbWUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hbWVkLWl0ZW1zLXdpdGgtZW1wdHktbmFtZS1leHBl
Y3RlZC50eHQKQEAgLTcsNCArNyw3IEBAIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgn
ZGl2JylbJyddID09PSB1bmRlZmluZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnZGl2JylbJyddID09PSB1bmRlZmluZWQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVu
dC5ib2R5LmNoaWxkcmVuWycnXSA9PT0gdW5kZWZpbmVkIGlzIHRydWUKIFBBU1MgZG9jdW1lbnQu
YWxsWycnXSA9PT0gdW5kZWZpbmVkIGlzIHRydWUKK1BBU1MgY29udGFpbmVyLnF1ZXJ5U2VsZWN0
b3JBbGwoJ2RpdicpWycnXSA9PT0gdW5kZWZpbmVkIGlzIHRydWUKK1BBU1MgY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVsnJ10gPT09IHVuZGVmaW5lZCBpcyB0cnVlCitQQVNT
IGNvbnRhaW5lci5jaGlsZHJlblsnJ10gPT09IHVuZGVmaW5lZCBpcyB0cnVlCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL25hbWVkLWl0ZW1zLXdpdGgtZW1wdHktbmFtZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vbmFtZWQtaXRlbXMtd2l0aC1lbXB0eS1uYW1lLmh0bWwK
aW5kZXggZTE3NDkwZi4uNjlkMTYxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
bmFtZWQtaXRlbXMtd2l0aC1lbXB0eS1uYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vbmFtZWQtaXRlbXMtd2l0aC1lbXB0eS1uYW1lLmh0bWwKQEAgLTE0LDYgKzE0LDE1IEBAIHNo
b3VsZEJlVHJ1ZSgiZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2JylbJyddID09PSB1bmRl
ZmluZWQiKTsKIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2Rp
dicpWycnXSA9PT0gdW5kZWZpbmVkIik7CiBzaG91bGRCZVRydWUoImRvY3VtZW50LmJvZHkuY2hp
bGRyZW5bJyddID09PSB1bmRlZmluZWQiKTsKIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuYWxsWycn
XSA9PT0gdW5kZWZpbmVkIik7CisKKy8vIENvbGxlY3Rpb25zIG5vdCBpbiB0aGUgZG9jdW1lbnQu
Cit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cit2YXIgZGl2
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CitkaXYuaWQgPSAiIjsKK2NvbnRhaW5l
ci5hcHBlbmRDaGlsZChkaXYpOworc2hvdWxkQmVUcnVlKCJjb250YWluZXIucXVlcnlTZWxlY3Rv
ckFsbCgnZGl2JylbJyddID09PSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgiY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVsnJ10gPT09IHVuZGVmaW5lZCIpOworc2hvdWxk
QmVUcnVlKCJjb250YWluZXIuY2hpbGRyZW5bJyddID09PSB1bmRlZmluZWQiKTsKIDwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdiNWE4MWQuLjg5NmYzNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxNiBAQAogMjAxNS0wNC0yOSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCisgICAgICAgIExpdmVOb2RlTGlzdCBtYXkgdW5leHBlY3RlZGx5IHJldHVy
biBhbiBlbGVtZW50IGZvciBlbXB0eSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQyOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZG9tL0xpdmVOb2RlTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMaXZlTm9kZUxpc3Q6Om5hbWVkSXRlbSk6CisgICAgICAgIE5ldmVyIHJldHVybiBh
IHJlc3VsdCBmb3IgYW4gZW1wdHkgc3RyaW5nLgorCisyMDE1LTA0LTI5ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgTm9kZUxpc3QgaGFzIGlzc3VlcyB3
aXRoIFN5bWJvbCBhbmQgZW1wdHkgc3RyaW5nCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQzMTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xpdmVOb2RlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTGl2ZU5vZGVMaXN0LmNw
cAppbmRleCA0YmJhZmRmLi4zODEyNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TGl2ZU5vZGVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTGl2ZU5vZGVMaXN0LmNw
cApAQCAtNTMsNiArNTMsOSBAQCBDb250YWluZXJOb2RlJiBMaXZlTm9kZUxpc3Q6OnJvb3ROb2Rl
KCkgY29uc3QKIAogTm9kZSogTGl2ZU5vZGVMaXN0OjpuYW1lZEl0ZW0oY29uc3QgQXRvbWljU3Ry
aW5nJiBlbGVtZW50SWQpIGNvbnN0CiB7CisgICAgaWYgKGVsZW1lbnRJZC5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0IHRoaXMg
bG9vayBpbnRvIHRoZSBuYW1lIGF0dHJpYnV0ZSBsaWtlIEhUTUxDb2xsZWN0aW9uOjpuYW1lZEl0
ZW0gZG9lcz8KICAgICBOb2RlJiByb290Tm9kZSA9IHRoaXMtPnJvb3ROb2RlKCk7CiAK
</data>
<flag name="review"
          id="276853"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>