<?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>14968</bug_id>
          
          <creation_ts>2007-08-14 15:40:25 -0700</creation_ts>
          <short_desc>document.open() erroneously returns void instead of the new Document</short_desc>
          <delta_ts>2008-11-29 10:29:32 -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>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2305</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-08-14 15:40:25 -0700</bug_when>
    <thetext>document.open() erroneously returns void instead of the new Document

in other browsers (IE, FF, and Opera), document.open() returns the new Document, and you can write into it to generate content.

example:

  var d = document.open(&quot;text/html&quot;, &quot;replace&quot;);
  d.write(&quot;foo&quot;);
  d.close();

apparently, the html5 spec does not describe this behavior:
http://www.whatwg.org/specs/web-apps/current-work/#htmldocument

mozilla defines the form of document.open that returns a new document here (as a Netscape extension to the DOM):
http://lxr.mozilla.org/seamonkey/source/dom/public/idl/html/nsIDOMNSHTMLDocument.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2286</commentid>
    <comment_count>1</comment_count>
      <attachid>15975</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-08-14 21:52:32 -0700</bug_when>
    <thetext>Created attachment 15975
test case

This test works in Firefox 2, but not in Opera. Haven&apos;t tried with IE yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2282</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-08-15 03:12:44 -0700</bug_when>
    <thetext>This test fails in IE, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2201</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-08-15 20:23:55 -0700</bug_when>
    <thetext>Alexey, your test case does not match the one in comment #0.  If you try that you should see that FF2, IE6 and Opera9 all generate a page with the text &quot;foo&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2200</commentid>
    <comment_count>4</comment_count>
      <attachid>15992</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-08-15 20:27:14 -0700</bug_when>
    <thetext>Created attachment 15992
test case (as originally reported)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2198</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-08-15 21:54:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Alexey, your test case does not match the one in comment #0.

Do you mean that the second parameter is true instead of &quot;replace&quot; in my test case? Indeed, I mistakenly used he linked Mozilla IDL to check the type - but it doesn&apos;t matter anyway, as the behavior WRT this issue is the same AFAICT.

It seems that the main difference between our test cases is that the code runs during parsing in the first one, and after parsing has finished in the second one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2086</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2007-08-17 08:49:33 -0700</bug_when>
    <thetext>Ah, yes...  It is interesting that the behavior varies depending on whether or not we are done parsing the main document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100682</commentid>
    <comment_count>7</comment_count>
      <attachid>25588</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-29 01:13:12 -0800</bug_when>
    <thetext>Created attachment 25588
proposed fix

Note that parameters are currently ignored (except for checking their number, and forwarding to DOMWindow if necessary).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100686</commentid>
    <comment_count>8</comment_count>
      <attachid>25588</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2008-11-29 01:21:20 -0800</bug_when>
    <thetext>Comment on attachment 25588
proposed fix

This would ideally be one of the fancy new js-only tests... then again, ideally it would be easier (and more documented) to write a newer-fancy-js-only test.  Sad that this has to be custom.  But glad to see this fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100688</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-29 01:49:30 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; This would ideally be one of the fancy new js-only tests...

Are you talking about js-test-pre.js and friends? I can think of many minor shortcomings, but not a single benefit - these tests are slower because of the need to load external subresources, they cannot be easily copied to another directory, they often need to be written in roundabout ways to convert a behavior check into a simple shouldBe().

Of course, fast/js is a special case, because the intention is to make those work from pure JS environment eventually.

Thanks for review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100712</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-11-29 10:29:32 -0800</bug_when>
    <thetext>Committed revision 38842.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15975</attachid>
            <date>2007-08-14 21:52:32 -0700</date>
            <delta_ts>2007-08-14 21:52:32 -0700</delta_ts>
            <desc>test case</desc>
            <filename>14968.html</filename>
            <type>text/html</type>
            <size>193</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">UmVzdWx0Ogo8c2NyaXB0PgogIHZhciBkID0gZG9jdW1lbnQub3BlbigidGV4dC9odG1sIiwgdHJ1
ZSk7CiAgaWYgKCFkKSB7CiAgICBkb2N1bWVudC53cml0ZSgiPHNwYW4+RkFJTFVSRTwvc3Bhbj4i
KQogIH0gZWxzZSB7CiAgICBkLndyaXRlKCI8c3Bhbj5TVUNDRVNTPC9zcGFuPiIpOwogICAgZC5j
bG9zZSgpOwogIH0KPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>15992</attachid>
            <date>2007-08-15 20:27:14 -0700</date>
            <delta_ts>2007-08-15 20:27:14 -0700</delta_ts>
            <desc>test case (as originally reported)</desc>
            <filename>testcase.html</filename>
            <type>text/html</type>
            <size>327</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KZnVuY3Rpb24gdGVzdDEoKSB7CiAgZG9jdW1lbnQub3BlbigidGV4dC9odG1sIiwg
InJlcGxhY2UiKTsKICBkb2N1bWVudC53cml0ZSgiZm9vIik7CiAgZG9jdW1lbnQuY2xvc2UoKTsK
fQpmdW5jdGlvbiB0ZXN0MigpIHsKICB2YXIgZCA9IGRvY3VtZW50Lm9wZW4oInRleHQvaHRtbCIs
ICJyZXBsYWNlIik7CiAgZC53cml0ZSgiZm9vIik7CiAgZC5jbG9zZSgpOwp9Cjwvc2NyaXB0Pgo8
YnV0dG9uIG9uY2xpY2s9InRlc3QxKCkiPnRlc3QgMSAod29ya3MpPC9idXR0b24+CjxidXR0b24g
b25jbGljaz0idGVzdDIoKSI+dGVzdCAyIChmYWlscyk8L2J1dHRvbj4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25588</attachid>
            <date>2008-11-29 01:13:12 -0800</date>
            <delta_ts>2008-11-29 01:21:20 -0800</delta_ts>
            <desc>proposed fix</desc>
            <filename>DocumentOpen.txt</filename>
            <type>text/plain</type>
            <size>3756</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzODgzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDgtMTEtMjkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk2OAorICAgICAgICBk
b2N1bWVudC5vcGVuKCkgZXJyb25lb3VzbHkgcmV0dXJucyB2b2lkIGluc3RlYWQgb2YgdGhlIG5l
dyBEb2N1bWVudAorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxEb2N1bWVudC9kb2N1bWVu
dC1vcGVuLXJldHVybi12YWx1ZS5odG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxE
b2N1bWVudEN1c3RvbS5jcHA6IChXZWJDb3JlOjpKU0hUTUxEb2N1bWVudDo6b3Blbik6CisgICAg
ICAgIFJldHVybiB0aGUgZG9jdW1lbnQgb24gd2hpY2ggdGhpcyBtZXRob2Qgd2FzIGludm9rZWQs
IHBlciBIVE1MNS4KKwogMjAwOC0xMS0yOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bmlrb2xhcy56
aW1tZXJtYW5uQHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBDYW1lcm9u
IFp3YXJpY2guCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9t
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3Vz
dG9tLmNwcAkocmV2aXNpb24gMzg4MTYpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERv
Y3VtZW50Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDcgKzEyMCw3IEBAIEpTVmFs
dWUqIEpTSFRNTERvY3VtZW50OjpvcGVuKEV4ZWNTdGF0ZSoKIAogICAgIC8vIEluIHRoZSBjYXNl
IG9mIHR3byBwYXJhbWV0ZXJzIG9yIGZld2VyLCBkbyBhIG5vcm1hbCBkb2N1bWVudCBvcGVuLgog
ICAgIHN0YXRpY19jYXN0PEhUTUxEb2N1bWVudCo+KGltcGwoKSktPm9wZW4oYWN0aXZlRG9jdW1l
bnQpOwotICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworICAgIHJldHVybiB0aGlzOwogfQogCiBz
dGF0aWMgU3RyaW5nIHdyaXRlSGVscGVyKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYg
YXJncykKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDM4ODM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDgtMTEtMjkgIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDk2OAorICAgICAgICBkb2N1bWVudC5vcGVuKCkgZXJyb25lb3VzbHkgcmV0dXJucyB2b2lk
IGluc3RlYWQgb2YgdGhlIG5ldyBEb2N1bWVudAorCisgICAgICAgICogZmFzdC9kb20vSFRNTERv
Y3VtZW50L2RvY3VtZW50LW9wZW4tcmV0dXJuLXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTERvY3VtZW50L2RvY3VtZW50LW9wZW4tcmV0dXJuLXZhbHVl
Lmh0bWw6IEFkZGVkLgorCiAyMDA4LTExLTI4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuaWtvbGFz
LnppbW1lcm1hbm5AdG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IENhbWVy
b24gWndhcmljaC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9kb2N1
bWVudC1vcGVuLXJldHVybi12YWx1ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2RvY3VtZW50LW9wZW4tcmV0dXJuLXZhbHVlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1
bWVudC9kb2N1bWVudC1vcGVuLXJldHVybi12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNSBAQAorVGVzdCBmb3IgYnVnIDE0OTY4OiBkb2N1bWVudC5vcGVuKCkgZXJy
b25lb3VzbHkgcmV0dXJucyB2b2lkIGluc3RlYWQgb2YgdGhlIG5ldyBEb2N1bWVudC4KKworU1VD
Q0VTUworCisKClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxE
b2N1bWVudC9kb2N1bWVudC1vcGVuLXJldHVybi12YWx1ZS1leHBlY3RlZC50eHQKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9sLXN0eWxl
CiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTERvY3VtZW50L2Rv
Y3VtZW50LW9wZW4tcmV0dXJuLXZhbHVlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTERvY3VtZW50L2RvY3VtZW50LW9wZW4tcmV0dXJuLXZhbHVlLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MRG9jdW1lbnQvZG9jdW1lbnQt
b3Blbi1yZXR1cm4tdmFsdWUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTY4Ij5idWcgMTQ5Njg8L2E+OgorZG9jdW1lbnQu
b3BlbigpIGVycm9uZW91c2x5IHJldHVybnMgdm9pZCBpbnN0ZWFkIG9mIHRoZSBuZXcgRG9jdW1l
bnQuPC9wPgorPGRpdiBpZD1yZXN1bHQ+RkFJTFVSRTwvZGl2PgorPHNjcmlwdD4KK2lmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgZCA9IGZyYW1lc1swXS5kb2N1
bWVudC5vcGVuKCk7CisgICAgZC53cml0ZSgiPHA+U1VDQ0VTUzwvcD4iKTsKKyAgICBkLmNsb3Nl
KCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9IGQu
Ym9keS5pbm5lckhUTUw7Cit9Cis8L3NjcmlwdD4KKzxpZnJhbWUgc3JjPSJkYXRhOnRleHQvaHRt
bCxGQUlMVVJFIj48L2lmcmFtZT4KKzwvYm9keT4KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxEb2N1bWVudC9kb2N1bWVudC1vcGVuLXJldHVybi12YWx1ZS5o
dG1sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoK
</data>
<flag name="review"
          id="11915"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>