<?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>4372</bug_id>
          
          <creation_ts>2005-08-10 11:23:04 -0700</creation_ts>
          <short_desc>JavaScript document.write page form does not submit in Safari</short_desc>
          <delta_ts>2006-10-01 01:41:09 -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>420+</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>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vicki Murley">vicki</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>ian</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>16356</commentid>
    <comment_count>0</comment_count>
    <who name="Vicki Murley">vicki</who>
    <bug_when>2005-08-10 11:23:04 -0700</bug_when>
    <thetext>This bug is also in Radar as &lt;rdar://4196379&gt;

Summary: 
 
Submitting an html form of a page that was written with a JavaScript document.write method does not 
work in Safari.  We are concerned about this problem because we are using an encryption/decryption 
product that has the ability to decrypt a page and uses a document.write method to display the page. 
 
Steps to Reproduce:
 
I have created a small page that demonstrates the problem.  On load of the page it will use a 
document.write method to over write the current page with a page that has a form on it.  Upon clicking 
on the submit button Safari does not submit the form; however Internet Explorer 6(WinXP) and Firefox
(Mac) submits the form correctly. 
 
Example page writeform.html:
&lt;html&gt;
&lt;head&gt;
&lt;script&gt;
function writePage() {
   document.write(&quot;&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&quot; +
    &quot;&lt;form name=&apos;aform&apos; action=&apos;servlet.html&apos; method=&apos;post&apos;&gt;&quot; +
    &quot;&lt;input type=submit&gt;&lt;/form&gt;&quot; +
    &quot;&lt;/body&gt;&lt;/html&gt;&quot;);
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;writePage()&quot;&gt;
&lt;/body&gt;
&lt;/html&gt;
 
Expected Results: 
Safari would submit the form when clicking on the submit button. 
 
Actual Results: 
Safari does not submit the form and stays on current page. 
 
Regression: 
 
This problem occurred on the following platforms:
Mac os X 10.3.9
Safari 1.3(v312) 
PowerBook G4 15-inch A1095. 
 
Mac os X 10.4.2
Safari 2.0(412.3)
PowerBook G4 15-inch A1095. 

-------------------------------------------</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16357</commentid>
    <comment_count>1</comment_count>
      <attachid>3313</attachid>
    <who name="Vicki Murley">vicki</who>
    <bug_when>2005-08-10 11:23:50 -0700</bug_when>
    <thetext>Created attachment 3313
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26839</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-27 15:00:00 -0800</bug_when>
    <thetext>Odd.  When I hit the back button (after having hit submit), it tries to take me to /servlet.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54703</commentid>
    <comment_count>3</comment_count>
      <attachid>10379</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-03 10:37:50 -0700</bug_when>
    <thetext>Created attachment 10379
patch, without tests or ChangeLog

All layout tests pass, but it might be just because the reason for the removed check isn&apos;t covered... So, I&apos;m asking about validity of such approach.

A workaround is to call document.close() after writing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54716</commentid>
    <comment_count>4</comment_count>
      <attachid>10379</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-09-03 12:11:19 -0700</bug_when>
    <thetext>Comment on attachment 10379
patch, without tests or ChangeLog

Oof!

We *definitely* need tests for this one. I can&apos;t tell just from code inspection if this is OK or not. I&apos;m not sure what to do about reviewing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55506</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-14 08:38:35 -0700</bug_when>
    <thetext>The code in question appeared in WebCore in r1035:

	* src/kdelibs/khtml/khtml_part.cpp: Added. Not used yet, but maybe we&apos;ll use
	part of it some time soon.

In the KDE repository, the condition has been tweaked many times, but the part I&apos;m removing was introduced in r64718 six years ago:

&quot;applying stripped down version of my anti-tokenizer-crash-on-submit patch
discussed on kfm-devel. It only prevents the crash. A complete solution
for the form data has still to be found.&quot;

http://websvn.kde.org/trunk/kdelibs/khtml/khtml_part.cpp?rev=64718&amp;r1=64461&amp;r2=64718

I couldn&apos;t find the mentioned kfm-devel discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56280</commentid>
    <comment_count>6</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-09-23 01:18:00 -0700</bug_when>
    <thetext>I think the approach is right but this needs a layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56324</commentid>
    <comment_count>7</comment_count>
      <attachid>10730</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-23 20:34:50 -0700</bug_when>
    <thetext>Created attachment 10730
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56660</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-09-27 14:42:30 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I couldn&apos;t find the mentioned kfm-devel discussion.

http://lists.kde.org/?l=kfm-devel&amp;m=96644872718833&amp;w=2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56720</commentid>
    <comment_count>9</comment_count>
      <attachid>10730</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-09-28 09:09:22 -0700</bug_when>
    <thetext>Comment on attachment 10730
proposed fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56861</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-10-01 01:41:09 -0700</bug_when>
    <thetext>Committed revision 16694. The fun begins!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3313</attachid>
            <date>2005-08-10 11:23:50 -0700</date>
            <delta_ts>2005-08-10 11:23:50 -0700</delta_ts>
            <desc>test case</desc>
            <filename>writeform.html</filename>
            <type>text/html</type>
            <size>279</size>
            <attacher name="Vicki Murley">vicki</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgpmdW5jdGlvbiB3cml0ZVBhZ2UoKSB7CiAgIGRvY3VtZW50
LndyaXRlKCI8aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+IiArCiAgICAiPGZvcm0gbmFtZT0nYWZv
cm0nIGFjdGlvbj0nc2VydmxldC5odG1sJyBtZXRob2Q9J3Bvc3QnPiIgKwogICAgIjxpbnB1dCB0
eXBlPXN1Ym1pdD48L2Zvcm0+IiArCiAgICAiPC9ib2R5PjwvaHRtbD4iKTsKfQo8L3NjcmlwdD4K
PC9oZWFkPgo8Ym9keSBvbmxvYWQ9IndyaXRlUGFnZSgpIj4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10379</attachid>
            <date>2006-09-03 10:37:50 -0700</date>
            <delta_ts>2006-09-23 20:34:50 -0700</delta_ts>
            <desc>patch, without tests or ChangeLog</desc>
            <filename>4372r0_patch.txt</filename>
            <type>text/plain</type>
            <size>531</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAkocmV2aXNpb24gMTYxOTcpCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjA1LDcgKzE2MDUsNyBAQCB2b2lkIEZyYW1lOjpzdWJtaXRGb3Jt
KGNvbnN0IGNoYXIgKmFjdGlvCiAgICAgICByZXF1ZXN0LnNldENvbnRlbnRUeXBlKCJDb250ZW50
LVR5cGU6ICIgKyBjb250ZW50VHlwZSArICI7IGJvdW5kYXJ5PSIgKyBib3VuZGFyeSk7CiAgIH0K
IAotICBpZiAoZC0+bV9kb2MtPnBhcnNpbmcoKSB8fCBkLT5tX3J1bm5pbmdTY3JpcHRzID4gMCkg
eworICBpZiAoZC0+bV9ydW5uaW5nU2NyaXB0cyA+IDApIHsKICAgICBpZiAoZC0+bV9zdWJtaXRG
b3JtKQogICAgICAgICByZXR1cm47CiAgICAgZC0+bV9zdWJtaXRGb3JtID0gbmV3IEZyYW1lUHJp
dmF0ZTo6U3VibWl0Rm9ybTsK
</data>
<flag name="review"
          id="3306"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10730</attachid>
            <date>2006-09-23 20:34:50 -0700</date>
            <delta_ts>2006-09-28 09:09:22 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>4372r1_patch.txt</filename>
            <type>text/plain</type>
            <size>3687</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NTQ0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDktMjQgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBueXBvcC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdCBmb3IgaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3df
YnVnLmNnaT9pZD00MzcyCisgICAgICAgIEphdmFTY3JpcHQgZG9jdW1lbnQud3JpdGUgcGFnZSBm
b3JtIGRvZXMgbm90IHN1Ym1pdCBpbiBTYWZhcmkKKworICAgICAgICAqIGZhc3QvZm9ybXMvZG9j
dW1lbnQtd3JpdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2Rv
Y3VtZW50LXdyaXRlLmh0bWw6IEFkZGVkLgorCiAyMDA2LTA5LTIzICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAbnlwb3AuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMuCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZG9jdW1lbnQtd3JpdGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1Rlc3QgZm9yIGJ1ZyA0
MzcyOiBKYXZhU2NyaXB0IGRvY3VtZW50LndyaXRlIHBhZ2UgZm9ybSBkb2VzIG5vdCBzdWJtaXQg
aW4gU2FmYXJpIGlmIGRvY3VtZW50LmNsb3NlIGlzIG5vdCBjYWxsZWQuCisKK1NVQ0NFU1MKKwor
CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RvY3VtZW50LXdy
aXRlLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0
L3BsYWluCk5hbWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RvY3VtZW50LXdyaXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kb2N1bWVudC13cml0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9kb2N1bWVudC13cml0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDMxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7Cisg
IGlmIChkb2N1bWVudC5VUkwuaW5kZXhPZignPycpID09IC0xKSB7CisKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cisg
ICAgfQorICAgIAorICAgIGRvY3VtZW50LndyaXRlKCI8aHRtbD48Ym9keT4iICsKKyAgICAiPGZv
cm0gbmFtZT0nZicgYWN0aW9uPSc/JyBtZXRob2Q9J3Bvc3QnPiIgKworICAgICI8aW5wdXQgdHlw
ZT1zdWJtaXQ+PC9mb3JtPjxzY3JpIiArCisgICAgInB0PmRvY3VtZW50LmYuc3VibWl0KCk7PC9z
Y3JpIiArCisgICAgInB0PjwvYm9keT48L2h0bWw+Iik7CisgIH0gZWxzZSB7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTD0iU1VDQ0VTUyI7CisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKKyAgfQorICAKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJ0ZXN0KCkiPgorPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cDovL2J1Z3ppbGxhLm9wZW5k
YXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD00MzcyIj5idWcgNDM3MjwvYT46CitKYXZhU2NyaXB0
IGRvY3VtZW50LndyaXRlIHBhZ2UgZm9ybSBkb2VzIG5vdCBzdWJtaXQgaW4gU2FmYXJpIGlmIGRv
Y3VtZW50LmNsb3NlIGlzIG5vdCBjYWxsZWQuPC9wPgorPHAgaWQ9cmVzdWx0PkZBSUxVUkU8L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL2RvY3VtZW50LXdyaXRlLmh0bWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBl
CiAgICsgdGV4dC9odG1sCgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTQ0KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAwNi0wOS0yNCAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQG55cG9wLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcu
Y2dpP2lkPTQzNzIKKyAgICAgICAgSmF2YVNjcmlwdCBkb2N1bWVudC53cml0ZSBwYWdlIGZvcm0g
ZG9lcyBub3Qgc3VibWl0IGluIFNhZmFyaQorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvZG9j
dW1lbnQtd3JpdGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZTo6c3VibWl0Rm9ybSk6IERvbid0IGNoZWNrIGZvciBwYXJzaW5nKCkuCisK
IDIwMDYtMDktMjMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBueXBvcC5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYy4KSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gMTY1NDQpCisrKyBXZWJD
b3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUwLDcgKzE2NTAsNyBAQCB2
b2lkIEZyYW1lOjpzdWJtaXRGb3JtKGNvbnN0IGNoYXIgKmFjdGlvCiAgICAgICByZXF1ZXN0LnNl
dENvbnRlbnRUeXBlKCJDb250ZW50LVR5cGU6ICIgKyBjb250ZW50VHlwZSArICI7IGJvdW5kYXJ5
PSIgKyBib3VuZGFyeSk7CiAgIH0KIAotICBpZiAoZC0+bV9kb2MtPnBhcnNpbmcoKSB8fCBkLT5t
X3J1bm5pbmdTY3JpcHRzID4gMCkgeworICBpZiAoZC0+bV9ydW5uaW5nU2NyaXB0cyA+IDApIHsK
ICAgICBpZiAoZC0+bV9zdWJtaXRGb3JtKQogICAgICAgICByZXR1cm47CiAgICAgZC0+bV9zdWJt
aXRGb3JtID0gbmV3IEZyYW1lUHJpdmF0ZTo6U3VibWl0Rm9ybTsK
</data>
<flag name="review"
          id="3526"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>