<?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>148774</bug_id>
          
          <creation_ts>2015-09-03 19:30:52 -0700</creation_ts>
          <short_desc>Range.intersectsNode() does not behave according to the specification when start / end are equal</short_desc>
          <delta_ts>2015-09-22 15:27:52 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://dom.spec.whatwg.org/#dom-range-intersectsnode</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1123285</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-03 19:30:52 -0700</bug_when>
    <thetext>When the range is &quot;detached&quot;, (i.e. start/end are never set), Range.intersectNode should return false on DocType.

This is what Firefox does. See https://dom.spec.whatwg.org/#dom-range-intersectsnode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1123286</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-03 19:31:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/22571418&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127676</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-21 11:01:12 -0700</bug_when>
    <thetext>Ryosuke, what do you mean by detached range? It is impossible to detach a range as Range.detach() is a no-op. Also, which test is failing because of this (the bug doesn&apos;t say)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127705</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-21 12:04:39 -0700</bug_when>
    <thetext>I mean that when neither start nor end is set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127719</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-21 12:24:28 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I mean that when neither start nor end is set.

start and end are set to be the ownerDocument when the Range is constructed AFAIK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128025</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-22 10:36:46 -0700</bug_when>
    <thetext>Failing test: imported/w3c/web-platform-tests/dom/ranges/Range-intersectsNode.html
&quot;Node 20 doctype, detached range&quot; check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128035</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-22 10:57:55 -0700</bug_when>
    <thetext>FYI, I am still trying to figure out what we&apos;re doing wrong.

Range is constructed so we initialize its start / end to be the context document, as per the spec:
https://dom.spec.whatwg.org/#dom-range-range

Then it calls intersectsNodes(docType) and we return true, but the test expects false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128088</commentid>
    <comment_count>7</comment_count>
      <attachid>261762</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-22 12:42:21 -0700</bug_when>
    <thetext>Created attachment 261762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128119</commentid>
    <comment_count>8</comment_count>
      <attachid>261762</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-22 15:27:46 -0700</bug_when>
    <thetext>Comment on attachment 261762
Patch

Clearing flags on attachment: 261762

Committed r190136: &lt;http://trac.webkit.org/changeset/190136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128120</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-22 15:27:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261762</attachid>
            <date>2015-09-22 12:42:21 -0700</date>
            <delta_ts>2015-09-22 15:27:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148774-20150922124203.patch</filename>
            <type>text/plain</type>
            <size>5598</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwMTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJhYmU5NTI4YTcyNzdj
NTg1ZmFjMzEzMzI0NmVjOTE0YTAxMGI1NS4uMzY0YjFmY2UzOTY2ZjM3OWQ0NmRhMGRiMzg5OWM3
ODk1MjBhYTE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE1LTA5LTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmFuZ2UuaW50ZXJzZWN0c05v
ZGUoKSBkb2VzIG5vdCBiZWhhdmUgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uIHdoZW4g
c3RhcnQgLyBlbmQgYXJlIGVxdWFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDg3NzQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNTcxNDE4Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJhbmdlLmlu
dGVyc2VjdHNOb2RlKCkgZG9lcyBub3QgYmVoYXZlIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWNh
dGlvbgorICAgICAgICB3aGVuIHN0YXJ0IC8gZW5kIGFyZSBlcXVhbDoKKyAgICAgICAgaHR0cHM6
Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tcmFuZ2UtaW50ZXJzZWN0c25vZGUKKworICAgICAg
ICBUaGUgc3BlY2lmaWNhdGlvbiBzYXlzOgorICAgICAgICAiSWYgKHBhcmVudCwgb2Zmc2V0KSBp
cyBiZWZvcmUgZW5kIGFuZCAocGFyZW50LCBvZmZzZXQgKyAxKSBpcyBhZnRlcgorICAgICAgICBz
dGFydCwgcmV0dXJuIHRydWUuIgorCisgICAgICAgIEhvd2V2ZXIsIHRoZSB3YXkgd2Ugd2VyZSBk
ZXRlY3RpbmcgImlzIGJlZm9yZSBlbmQiIGFuZCAiaXMgYWZ0ZXIgc3RhcnQiCisgICAgICAgIHdh
cyBmbGF3ZWQgaW4gdGhlIGNhc2Ugd2hlcmUgc3RhcnQgLyBlbmQgd2VyZSBlcXVhbC4gVGhpcyBp
cyBiZWNhdXNlIHdoZW4KKyAgICAgICAgY29tcGFyZVBvaW50KCkgcmV0dXJuIDAsIHRoZW4gaXQg
bWVhbnMgdGhhdCB0aGUgbm9kZS9vZmZzZXQgaXMgbm90IG9ubHkKKyAgICAgICAgZXF1YWwgdG8g
c3RhcnQgYnV0IGFsc28gZXF1YWwgdG8gZW5kLiBBcyBzdWNoLCBpdCBpcyBub3QgImFmdGVyIHN0
YXJ0IgorICAgICAgICAvICJiZWZvcmUgZW5kIi4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFs
cmVhZHkgY292ZXJlZCBieSBleGlzdGluZy4KKworICAgICAgICAqIGRvbS9SYW5nZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSYW5nZTo6aW50ZXJzZWN0c05vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6aGlnaGVzdEFuY2VzdG9yVW5kZXJDb21tb25Sb290KTogRGVsZXRlZC4KKwogMjAxNS0wOS0y
MiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVk
aWFTdHJlYW0gTWFjXSBpbXBsZW1lbnQgV2ViQXVkaW9Tb3VyY2VQcm92aWRlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5n
ZS5jcHAKaW5kZXggMGFmN2ExN2FkMWRhNzIwNzA1MDBiZTdjZjNhOWRmYjk4MWY5Y2MzMC4uYzRj
ZTZkN2FhMGIzNzYyNGI4NzgzNWM3ZGM2YTQ1MmM4MTUzMTgzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1JhbmdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3Bw
CkBAIC00OTgsMzQgKzQ5OCwyOSBAQCB2b2lkIFJhbmdlOjpkZWxldGVDb250ZW50cyhFeGNlcHRp
b25Db2RlJiBlYykKIAogYm9vbCBSYW5nZTo6aW50ZXJzZWN0c05vZGUoTm9kZSogcmVmTm9kZSwg
RXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiB7Ci0gICAgLy8gaHR0cDovL2RldmVsb3Blci5tb3pp
bGxhLm9yZy9lbi9kb2NzL0RPTTpyYW5nZS5pbnRlcnNlY3RzTm9kZQotICAgIC8vIFJldHVybnMg
YSBib29sIGlmIHRoZSBub2RlIGludGVyc2VjdHMgdGhlIHJhbmdlLgotCiAgICAgaWYgKCFyZWZO
b2RlKSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9yOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQogCi0gICAgaWYgKCFyZWZOb2RlLT5pbkRvY3VtZW50KCkgfHwgJnJlZk5vZGUtPmRvY3Vt
ZW50KCkgIT0gJm93bmVyRG9jdW1lbnQoKSkgewotICAgICAgICAvLyBGaXJlZm94IGRvZXNuJ3Qg
dGhyb3cgYW4gZXhjZXB0aW9uIGZvciB0aGVzZSBjYXNlczsgaXQgcmV0dXJucyBmYWxzZS4KKyAg
ICBpZiAoIXJlZk5vZGUtPmluRG9jdW1lbnQoKSB8fCAmcmVmTm9kZS0+ZG9jdW1lbnQoKSAhPSAm
b3duZXJEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQogCiAgICAgQ29u
dGFpbmVyTm9kZSogcGFyZW50Tm9kZSA9IHJlZk5vZGUtPnBhcmVudE5vZGUoKTsKLSAgICB1bnNp
Z25lZCBub2RlSW5kZXggPSByZWZOb2RlLT5jb21wdXRlTm9kZUluZGV4KCk7Ci0gICAgCiAgICAg
aWYgKCFwYXJlbnROb2RlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChjb21wYXJl
UG9pbnQocGFyZW50Tm9kZSwgbm9kZUluZGV4LCBlYykgPCAwICYmIC8vIHN0YXJ0cyBiZWZvcmUg
c3RhcnQKLSAgICAgICAgY29tcGFyZVBvaW50KHBhcmVudE5vZGUsIG5vZGVJbmRleCArIDEsIGVj
KSA8IDApIHsgLy8gZW5kcyBiZWZvcmUgc3RhcnQKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0gZWxzZSBpZiAoY29tcGFyZVBvaW50KHBhcmVudE5vZGUsIG5vZGVJbmRleCwgZWMpID4gMCAm
JiAvLyBzdGFydHMgYWZ0ZXIgZW5kCi0gICAgICAgICAgICAgICBjb21wYXJlUG9pbnQocGFyZW50
Tm9kZSwgbm9kZUluZGV4ICsgMSwgZWMpID4gMCkgeyAvLyBlbmRzIGFmdGVyIGVuZAotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIAotICAgIHJldHVybiB0cnVlOyAvLyBhbGwgb3Ro
ZXIgY2FzZXMKKyAgICB1bnNpZ25lZCBub2RlSW5kZXggPSByZWZOb2RlLT5jb21wdXRlTm9kZUlu
ZGV4KCk7CisKKyAgICAvLyBJZiAocGFyZW50LCBvZmZzZXQpIGlzIGJlZm9yZSBlbmQgYW5kIChw
YXJlbnQsIG9mZnNldCArIDEpIGlzIGFmdGVyIHN0YXJ0LCByZXR1cm4gdHJ1ZS4KKyAgICAvLyBP
dGhlcndpc2UsIHJldHVybiBmYWxzZS4KKyAgICBzaG9ydCBjb21wYXJlRmlyc3QgPSBjb21wYXJl
UG9pbnQocGFyZW50Tm9kZSwgbm9kZUluZGV4LCBlYyk7CisgICAgc2hvcnQgY29tcGFyZVNlY29u
ZCA9IGNvbXBhcmVQb2ludChwYXJlbnROb2RlLCBub2RlSW5kZXggKyAxLCBlYyk7CisKKyAgICBi
b29sIGlzRmlyc3RCZWZvcmVFbmQgPSBtX3N0YXJ0ID09IG1fZW5kID8gY29tcGFyZUZpcnN0IDwg
MCA6IGNvbXBhcmVGaXJzdCA8PSAwOworICAgIGJvb2wgaXNTZWNvbmRBZnRlclN0YXJ0ID0gbV9z
dGFydCA9PSBtX2VuZCA/IGNvbXBhcmVTZWNvbmQgPiAwIDogY29tcGFyZVNlY29uZCA+PSAwOwor
CisgICAgcmV0dXJuIGlzRmlyc3RCZWZvcmVFbmQgJiYgaXNTZWNvbmRBZnRlclN0YXJ0OwogfQog
CiBzdGF0aWMgaW5saW5lIE5vZGUqIGhpZ2hlc3RBbmNlc3RvclVuZGVyQ29tbW9uUm9vdChOb2Rl
KiBub2RlLCBOb2RlKiBjb21tb25Sb290KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggMzE2YzQyMzZlMDgxOWJiZmY0ZGRlYmRiNDA1OTA1NTY2YzEyNDkzMS4uYTA2N2MyNjQzNDdk
NTQ4ZGFmZGU2MDgyYWNhZjk3NjIwNTk2MGE2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDktMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBSYW5nZS5pbnRlcnNlY3RzTm9kZSgpIGRvZXMgbm90IGJlaGF2
ZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb24gd2hlbiBzdGFydCAvIGVuZCBhcmUgZXF1
YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODc3
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1NzE0MTg+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXM0MgUmFuZ2UgdGVzdCBu
b3cgdGhhdCBhbm90aGVyIGNoZWNrIGlzIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL3Jhbmdlcy9SYW5nZS1pbnRlcnNlY3RzTm9kZS1leHBlY3RlZC50eHQ6CisK
IDIwMTUtMDktMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICB0
aW1lIGVsZW1lbnQgc2hvdWxkIHVzZSBIVE1MVGltZUVsZW1lbnQgaW50ZXJmYWNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9yYW5n
ZXMvUmFuZ2UtaW50ZXJzZWN0c05vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vcmFuZ2VzL1JhbmdlLWludGVyc2VjdHNOb2Rl
LWV4cGVjdGVkLnR4dAppbmRleCBlODgzMmEyMDQ4NzczNjFmM2ZiYzdhN2I2N2IxMmMzZjgzYTM1
ZDVkLi5iZDg0NmYwYzY4NDQ5YjEyMGIwYjJkNDM5YzJkYjE3MzlmNmZjZDVkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9yYW5nZXMv
UmFuZ2UtaW50ZXJzZWN0c05vZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3Jhbmdlcy9SYW5nZS1pbnRlcnNlY3RzTm9k
ZS1leHBlY3RlZC50eHQKQEAgLTEyMTksNyArMTIxOSw3IEBAIFBBU1MgTm9kZSAxOSBkb2NmcmFn
LCByYW5nZSA1NiBbZGV0YWNoZWRDb21tZW50LCA1LCBkZXRhY2hlZENvbW1lbnQsIDVdCiBQQVNT
IE5vZGUgMTkgZG9jZnJhZywgcmFuZ2UgNTcgW2RldGFjaGVkRm9yZWlnbkNvbW1lbnQsIDQsIGRl
dGFjaGVkRm9yZWlnbkNvbW1lbnQsIDRdIAogUEFTUyBOb2RlIDE5IGRvY2ZyYWcsIHJhbmdlIDU4
IFtmb3JlaWduRG9jZnJhZywgMCwgZm9yZWlnbkRvY2ZyYWcsIDBdIAogUEFTUyBOb2RlIDE5IGRv
Y2ZyYWcsIHJhbmdlIDU5IFt4bWxEb2NmcmFnLCAwLCB4bWxEb2NmcmFnLCAwXSAKLUZBSUwgTm9k
ZSAyMCBkb2N0eXBlLCBkZXRhY2hlZCByYW5nZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmYWxz
ZSBidXQgZ290IHRydWUKK1BBU1MgTm9kZSAyMCBkb2N0eXBlLCBkZXRhY2hlZCByYW5nZSAKIFBB
U1MgTm9kZSAyMCBkb2N0eXBlLCByYW5nZSAwIFtwYXJhc1swXS5maXJzdENoaWxkLCAwLCBwYXJh
c1swXS5maXJzdENoaWxkLCAwXSAKIFBBU1MgTm9kZSAyMCBkb2N0eXBlLCByYW5nZSAxIFtwYXJh
c1swXS5maXJzdENoaWxkLCAwLCBwYXJhc1swXS5maXJzdENoaWxkLCAxXSAKIFBBU1MgTm9kZSAy
MCBkb2N0eXBlLCByYW5nZSAyIFtwYXJhc1swXS5maXJzdENoaWxkLCAyLCBwYXJhc1swXS5maXJz
dENoaWxkLCA4XSAK
</data>

          </attachment>
      

    </bug>

</bugzilla>