<?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>16748</bug_id>
          
          <creation_ts>2008-01-05 14:12:12 -0800</creation_ts>
          <short_desc>DOMRange.cloneContents does not work (Acid3 bug)</short_desc>
          <delta_ts>2008-01-06 03:30:17 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>66301</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-01-05 14:12:12 -0800</bug_when>
    <thetext>DOMRange.cloneContents does not work (Acid3 bug)

    // DOM Range
    function () {
      // test 11: basic ranges tests
      var r = document.createRange();
      assert(r, &quot;range not created&quot;);
      assert(r.collapsed, &quot;new range wasn&apos;t collapsed&quot;);
      assert(r.commonAncestorContainer == document, &quot;new range&apos;s common ancestor wasn&apos;t the document&quot;);
      assert(r.startContainer == document, &quot;new range&apos;s start container wasn&apos;t the document&quot;);
      assert(r.startOffset == 0, &quot;new range&apos;s start offset wasn&apos;t zero&quot;);
      assert(r.endContainer == document, &quot;new range&apos;s end container wasn&apos;t the document&quot;);
      assert(r.endOffset == 0, &quot;new range&apos;s end offset wasn&apos;t zero&quot;);
      assert(r.cloneContents(), &quot;cloneContents() didn&apos;t return an object&quot;);
      assert(r.cloneContents().childNodes.length == 0, &quot;nothing cloned was more than nothing&quot;);
      assert(r.cloneRange().toString() == &quot;&quot;, &quot;nothing cloned stringifed to more than nothing&quot;);
      r.collapse(true); // no effect
      assert(r.compareBoundaryPoints(r.START_TO_END, r.cloneRange()) == 0, &quot;starting boundary point of range wasn&apos;t the same as the end boundary point of the clone range&quot;);
      r.deleteContents(); // no effect
      assert(r.extractContents().childNodes.length == 0, &quot;nothing removed was more than nothing&quot;);
      r.insertNode(document.createComment(&quot;commented inserted to test ranges&quot;));
      assert(!r.collapsed, &quot;range with inserted comment isn&apos;t collapsed&quot;);
      assert(r.commonAncestorContainer == document, &quot;range with inserted comment has common ancestor that isn&apos;t the document&quot;);
      assert(r.startContainer == document, &quot;range with inserted comment has start container that isn&apos;t the document&quot;);
      assert(r.startOffset == 0, &quot;range with inserted comment has start offset that isn&apos;t zero&quot;);
      assert(r.endContainer == document, &quot;range with inserted comment has end container that isn&apos;t the document&quot;);
      assert(r.endOffset == 1, &quot;range with inserted comment has end offset that isn&apos;t after the comment&quot;);
      return 1;
    },</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66365</commentid>
    <comment_count>1</comment_count>
      <attachid>18297</attachid>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2008-01-06 01:13:36 -0800</bug_when>
    <thetext>Created attachment 18297
Proposed patch

The first part of this bug is due to not returning a DocumentFragment for an empty range.

(This won&apos;t fix the full Acid3 test, we fail at &quot;range with inserted comment isn&apos;t collapsed&quot; after this patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66368</commentid>
    <comment_count>2</comment_count>
      <attachid>18297</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-06 03:04:05 -0800</bug_when>
    <thetext>Comment on attachment 18297
Proposed patch

There&apos;s no need to call fragment.release() if you&apos;re not returning the fragment. A plain old &quot;return 0&quot; will do, and it&apos;s more efficient.

Otherwise looks great.

I&apos;ll say review+, but really those extra fragment.release() calls should not be in there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66369</commentid>
    <comment_count>3</comment_count>
    <who name="Andrew Wellington">andrew</who>
    <bug_when>2008-01-06 03:30:17 -0800</bug_when>
    <thetext>Landed in r29207</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18297</attachid>
            <date>2008-01-06 01:13:36 -0800</date>
            <delta_ts>2008-01-06 03:04:05 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>16748-patch-1.txt</filename>
            <type>text/plain</type>
            <size>4737</size>
            <attacher name="Andrew Wellington">andrew</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyOTIwNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDgtMDEtMDYgIEFuZHJldyBXZWxsaW5ndG9uICA8cHJvdG9uQHdp
cmV0YXBwZWQubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAg
ICAgICAKKyAgICAgICAgRE9NUmFuZ2UuY2xvbmVDb250ZW50cyBkb2VzIG5vdCB3b3JrIChBY2lk
MyBidWcpCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NzQ4CisgICAgICAgIAorICAgICAgICBXaGVuIGNsb25pbmcgYW4gZW1wdHkgcmFuZ2UsIHJldHVy
biBhbiBlbXB0eSBEb2NtZW50RnJhZ21lbnQgaW5zdGVhZCBvZgorICAgICAgICBudWxsIG9yIHVu
ZGVmaW5lZC4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9SYW5nZS9yYW5nZS1jbG9uZS1lbXB0
eS5odG1sCisKKyAgICAgICAgKiBkb20vUmFuZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFu
Z2U6OnByb2Nlc3NDb250ZW50cyk6CisKIDIwMDgtMDEtMDYgIEFscCBUb2tlciAgPGFscEBhdG9r
ZXIuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMuCkluZGV4OiBXZWJDb3JlL2RvbS9S
YW5nZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vUmFuZ2UuY3BwCShyZXZpc2lvbiAy
OTIwNSkKKysrIFdlYkNvcmUvZG9tL1JhbmdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMzLDE1
ICs2MzMsMjMgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBSYW5nZTo6cHJvYwogCiAg
ICAgLy8gIyMjIHBlcmhhcHMgZGlzYWJsZSBub2RlIGRlbGV0aW9uIG5vdGlmaWNhdGlvbiBmb3Ig
dGhpcyByYW5nZSB3aGlsZSB3ZSBkbyB0aGlzPwogCisgICAgUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IGZyYWdtZW50OworICAgIGlmIChhY3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUyB8fCBhY3Rp
b24gPT0gQ0xPTkVfQ09OVEVOVFMpCisgICAgICAgIGZyYWdtZW50ID0gbmV3IERvY3VtZW50RnJh
Z21lbnQobV9vd25lckRvY3VtZW50LmdldCgpKTsKKyAgICAKICAgICBlYyA9IDA7CiAgICAgaWYg
KGNvbGxhcHNlZChlYykpCisgICAgICAgIHJldHVybiBmcmFnbWVudC5yZWxlYXNlKCk7CisgICAg
aWYgKGVjKSB7CisgICAgICAgIGZyYWdtZW50LnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKICAgICBOb2RlICpjbW5S
b290ID0gY29tbW9uQW5jZXN0b3JDb250YWluZXIoZWMpOwotICAgIGlmIChlYykKKyAgICBpZiAo
ZWMpIHsKKyAgICAgICAgZnJhZ21lbnQucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CiAKICAgICAvLyB3aGF0IGlzIHRoZSBoaWdoZXN0IG5vZGUgdGhhdCBwYXJ0aWFsbHkgc2Vs
ZWN0cyB0aGUgc3RhcnQgb2YgdGhlIHJhbmdlPwogICAgIE5vZGUgKnBhcnRpYWxTdGFydCA9IDA7
CkBAIC02NTksMTAgKzY2Nyw2IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUmFuZ2U6
OnByb2MKICAgICAgICAgICAgIHBhcnRpYWxFbmQgPSBwYXJ0aWFsRW5kLT5wYXJlbnROb2RlKCk7
CiAgICAgfQogCi0gICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50OwotICAgIGlm
IChhY3Rpb24gPT0gRVhUUkFDVF9DT05URU5UUyB8fCBhY3Rpb24gPT0gQ0xPTkVfQ09OVEVOVFMp
Ci0gICAgICAgIGZyYWdtZW50ID0gbmV3IERvY3VtZW50RnJhZ21lbnQobV9vd25lckRvY3VtZW50
LmdldCgpKTsKLQogICAgIC8vIFNpbXBsZSBjYXNlOiB0aGUgc3RhcnQgYW5kIGVuZCBjb250YWlu
ZXJzIGFyZSB0aGUgc2FtZS4gV2UganVzdCBncmFiCiAgICAgLy8gZXZlcnl0aGluZyA+PSBzdGFy
dCBvZmZzZXQgYW5kIDwgZW5kIG9mZnNldAogICAgIGlmIChtX3N0YXJ0Q29udGFpbmVyID09IG1f
ZW5kQ29udGFpbmVyKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyOTIwNSkKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA4LTAxLTA2ICBB
bmRyZXcgV2VsbGluZ3RvbiAgPHByb3RvbkB3aXJldGFwcGVkLm5ldD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIERPTVJhbmdlLmNsb25l
Q29udGVudHMgZG9lcyBub3Qgd29yayAoQWNpZDMgYnVnKQorICAgICAgICBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0OAorICAgICAgICAKKyAgICAgICAgV2hlbiBj
bG9uaW5nIGFuIGVtcHR5IHJhbmdlLCByZXR1cm4gYW4gZW1wdHkgRG9jbWVudEZyYWdtZW50IGlu
c3RlYWQgb2YKKyAgICAgICAgbnVsbCBvciB1bmRlZmluZWQuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9SYW5nZS9yYW5nZS1jbG9uZS1lbXB0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL1JhbmdlL3JhbmdlLWNsb25lLWVtcHR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL1JhbmdlL3Jlc291cmNlcy9yYW5nZS1jbG9uZS1lbXB0eS5qczogQWRkZWQuCisK
IDIwMDgtMDEtMDYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNhbS4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNs
b25lLWVtcHR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9SYW5nZS9yYW5nZS1jbG9uZS1lbXB0eS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1jbG9uZS1lbXB0eS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdCBjaGVja3MgY2xvbmluZyBh
biBlbXB0eSByYW5nZSByZXR1cm5zIGFuIGVtcHR5IGZyYWdtZW50LgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyByLmNsb25lQ29udGVudHMoKSAhPSB1bmRlZmluZWQgaXMg
dHJ1ZQorUEFTUyByLmNsb25lQ29udGVudHMoKSAhPSBudWxsIGlzIHRydWUKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1jbG9uZS1lbXB0eS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3JhbmdlLWNsb25lLWVtcHR5Lmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yYW5nZS1jbG9uZS1lbXB0eS5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JhbmdlLWNsb25lLWVtcHR5LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1Jh
bmdlL3Jlc291cmNlcy9yYW5nZS1jbG9uZS1lbXB0eS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9SYW5nZS9yZXNvdXJjZXMvcmFuZ2UtY2xvbmUtZW1wdHkuanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9yZXNvdXJjZXMvcmFuZ2UtY2xv
bmUtZW1wdHkuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorZGVzY3JpcHRpb24oCisi
VGhpcyB0ZXN0IGNoZWNrcyBjbG9uaW5nIGFuIGVtcHR5IHJhbmdlIHJldHVybnMgYW4gZW1wdHkg
ZnJhZ21lbnQuIgorKTsKKwordmFyIHIgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworc2hvdWxk
QmVUcnVlKCJyLmNsb25lQ29udGVudHMoKSAhPSB1bmRlZmluZWQiKTsKK3Nob3VsZEJlVHJ1ZSgi
ci5jbG9uZUNvbnRlbnRzKCkgIT0gbnVsbCIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsK
</data>
<flag name="review"
          id="7976"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>