<?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>8626</bug_id>
          
          <creation_ts>2006-04-27 01:32:03 -0700</creation_ts>
          <short_desc>Strict mode erroneously triggered by a broken comment</short_desc>
          <delta_ts>2006-07-11 03:40:05 -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>418.x</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>http://mayan.tzo.com:888/dreamsp/dreamain.htm</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="Matt Gough">matt</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>40579</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-27 01:32:03 -0700</bug_when>
    <thetext>On this page there is a comment at the start : &lt;!--@@Advance &quot;Dreamspell&quot;-&gt; and right near the bottom there is another one : &lt;!--@@Count &quot;Dreamspell&quot;-&gt;.

WebKit ignores everything between these comments, whereas other browsers (Firefox, opera and IE Mac) display the page as the author &apos;intended&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40580</commentid>
    <comment_count>1</comment_count>
      <attachid>7991</attachid>
    <who name="Matt Gough">matt</who>
    <bug_when>2006-04-27 01:44:13 -0700</bug_when>
    <thetext>Created attachment 7991
A reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40637</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-27 21:43:58 -0700</bug_when>
    <thetext>The symptom gets fixed with reverting the SGML comment parsing fix made for acid2 (cf. bug 5855). However, there is another related problem - the test is parsed in strict mode, while it apparently shouldn&apos;t.

Here, strict mode is triggered by having the &lt;!--@@Advance &quot;Dreamspell&quot;-&gt; comment anywhere before BODY.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40677</commentid>
    <comment_count>3</comment_count>
      <attachid>8023</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-28 11:50:43 -0700</bug_when>
    <thetext>Created attachment 8023
proposed fix

Properly determine the parsing mode if we have reached Frame::endIfNotLoading() without ever seeing any data from the decoder, which is the case when a broken comment is somewhere before &lt;body&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40699</commentid>
    <comment_count>4</comment_count>
      <attachid>8023</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-28 17:13:07 -0700</bug_when>
    <thetext>Comment on attachment 8023
proposed fix

Why does this new code belong here rather than in Frame::write? What&apos;s different about end as opposed to write that means we should do setParseMode in there, but determineParseMode here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40705</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-28 22:40:26 -0700</bug_when>
    <thetext>There are two Frame::write() methods, one also calls determineParseMode(), and another calls setParseMode(Strict). When loading data, it is the first that gets called, so we end up with calling determineParseMode() consistently.

I didn&apos;t investigate why the second Frame::write() just sets strict mode, as it&apos;s not directly related to this issue. Looking at it now, it is used for documents created via document.write(), window.open(), DOMImplementation::createHTMLDocument(), Frame::replaceContentsWithScriptResult(), Frame::changeLocation(), and XSLTProcessor. Presumably, some or all of these uses imply strict mode. It&apos;s not immediately obvious if this is always correct (and some of these actually call determineParseMode() on their own), but I don&apos;t think this patch changes their behavior anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41268</commentid>
    <comment_count>6</comment_count>
      <attachid>8023</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-05-04 13:32:03 -0700</bug_when>
    <thetext>Comment on attachment 8023
proposed fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49215</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-11 03:40:05 -0700</bug_when>
    <thetext>Note that this bug apparently fixed Bug 7102 as well.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>7991</attachid>
            <date>2006-04-27 01:44:13 -0700</date>
            <delta_ts>2006-04-27 01:44:13 -0700</delta_ts>
            <desc>A reduction</desc>
            <filename>Malformed comment.html</filename>
            <type>text/html</type>
            <size>209</size>
            <attacher name="Matt Gough">matt</attacher>
            
              <data encoding="base64">PCEtLUBAQWR2YW5jZSAiRHJlYW1zcGVsbCItPgo8SFRNTD4KPEhFQUQ+CjxUSVRMRT5NYWxmb3Jt
ZWQgY29tbWVudHM8L1RJVExFPgo8L0hFQUQ+Cgo8Qk9EWT4KCjxIMT5PdGhlciB3ZWIgYnJvd3Nl
cnMgc2hvdyB0aGlzLCB3aGVyZWFzIDwhLS1AQENvdW50ICJEcmVhbXNwZWxsIi0+IFdlYktpdCBv
bmx5IHNob3dzIHRoaXMuCjwvSDE+CjwvQk9EWT4KPC9IVE1MPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8023</attachid>
            <date>2006-04-28 11:50:43 -0700</date>
            <delta_ts>2006-05-04 13:32:03 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>8626r1_patch.txt</filename>
            <type>text/plain</type>
            <size>3408</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL2Jyb2tlbi1jb21tZW50cy12cy1wYXJzaW5n
LW1vZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2Vy
L2Jyb2tlbi1jb21tZW50cy12cy1wYXJzaW5nLW1vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvYnJva2VuLWNvbW1lbnRzLXZzLXBhcnNpbmct
bW9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJDYW52YXMgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg4NAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4ODQKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4
NTIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICBS
ZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgNjB4MTggW2NvbG9yPSMwMDAwRUVdCisgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjB4MTgKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDYwOiAiYnVnIDg2MjYiCisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNjAsMCkgc2l6ZSAzNjN4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjAsMCkgd2lkdGggODogIjogIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg2OCwwKSB3aWR0aCAz
NTU6ICJTdHJpY3QgbW9kZSBlcnJvbmVvdXNseSB0cmlnZ2VyZWQgYnkgYSBicm9rZW4gY29tbWVu
dC4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzQpIHNpemUgNzg0eDE4IFtjb2xvcj0j
MDBGRjAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2NDJ4MTgK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2NDI6ICJUaGlzIHRleHQgc2hvdWxk
IGJlIGdyZWVuLCBub3QgYmxhY2sgKENTUyBjb2xvciB2YWx1ZXMgbm90IGJlZ2lubmluZyB3aXRo
ICcjJyBhcmUgT0sgaW4gcXVpcmtzIG1vZGUpLiIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFy
c2VyL2Jyb2tlbi1jb21tZW50cy12cy1wYXJzaW5nLW1vZGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3BhcnNlci9icm9rZW4tY29tbWVudHMtdnMtcGFyc2luZy1tb2RlLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9icm9rZW4tY29tbWVu
dHMtdnMtcGFyc2luZy1tb2RlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorPGh0
bWw+Cis8IS0tIEEgYnJva2VuIGNvbW1lbnQgLT4KKzxib2R5PgorPHA+PGEgaHJlZj0iaHR0cDov
L2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04NjI2Ij5idWcgODYyNjwv
YT46IAorU3RyaWN0IG1vZGUgZXJyb25lb3VzbHkgdHJpZ2dlcmVkIGJ5IGEgYnJva2VuIGNvbW1l
bnQuPC9wPgorCis8cCBzdHlsZT0iY29sb3I6MDBmZjAwIj5UaGlzIHRleHQgc2hvdWxkIGJlIGdy
ZWVuLCBub3QgYmxhY2sgKENTUyBjb2xvciB2YWx1ZXMgbm90IGJlZ2lubmluZyB3aXRoICcjJyBh
cmUgT0sgaW4gcXVpcmtzIG1vZGUpLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvcGFyc2VyL2Jyb2tlbi1jb21tZW50cy12cy1wYXJzaW5nLW1vZGUtZXhwZWN0
ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5
IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKClByb3BlcnR5IGNoYW5nZXMgb246IGJy
b2tlbi1jb21tZW50cy12cy1wYXJzaW5nLW1vZGUtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFt
ZTogc3ZuOm1pbWUtdHlwZQogICArIGltYWdlL3BuZwoKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
cGFyc2VyL2Jyb2tlbi1jb21tZW50cy12cy1wYXJzaW5nLW1vZGUtZXhwZWN0ZWQuY2hlY2tzdW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvYnJva2VuLWNvbW1lbnRzLXZz
LXBhcnNpbmctbW9kZS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvcGFyc2VyL2Jyb2tlbi1jb21tZW50cy12cy1wYXJzaW5nLW1vZGUtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzQ5MDZlMTc4ZmI0OGI0NjVkY2Mx
YmMyZWE0YTNhMDA4ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCShyZXZp
c2lvbiAxNDA5OSkKKysrIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY4Myw4ICs2ODMsMTQgQEAgdm9pZCBGcmFtZTo6ZW5kSWZOb3RMb2FkaW5nKCkKIAogICAgIC8v
IG1ha2Ugc3VyZSBub3RoaW5nJ3MgbGVmdCBpbiB0aGVyZS4uLgogICAgIGlmIChkLT5tX2RvYykg
ewotICAgICAgICBpZiAoZC0+bV9kZWNvZGVyKQotICAgICAgICAgICAgd3JpdGUoZC0+bV9kZWNv
ZGVyLT5mbHVzaCgpKTsKKyAgICAgICAgaWYgKGQtPm1fZGVjb2RlcikgeworICAgICAgICAgICAg
RGVwcmVjYXRlZFN0cmluZyBkZWNvZGVkID0gZC0+bV9kZWNvZGVyLT5mbHVzaCgpOworICAgICAg
ICAgICAgaWYgKGQtPm1fYkZpcnN0RGF0YSkgeworICAgICAgICAgICAgICAgIGQtPm1fZG9jLT5k
ZXRlcm1pbmVQYXJzZU1vZGUoZGVjb2RlZCk7CisgICAgICAgICAgICAgICAgZC0+bV9iRmlyc3RE
YXRhID0gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3cml0ZShkZWNvZGVkKTsK
KyAgICAgICAgfQogICAgICAgICBkLT5tX2RvYy0+ZmluaXNoUGFyc2luZygpOwogICAgIH0gZWxz
ZQogICAgICAgICAvLyBXZWJLaXQgcGFydGlhbGx5IHVzZXMgV2ViQ29yZSB3aGVuIGxvYWRpbmcg
bm9uLUhUTUwgZG9jcy4gIEluIHRoZXNlIGNhc2VzIGRvYz09bmlsLCBidXQK
</data>
<flag name="review"
          id="2221"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>