<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>23836</bug_id>
          
          <creation_ts>2013-11-15 16:53:57 +0000</creation_ts>
          <short_desc>Per spec, event handler attributes either don&apos;t work or have the wrong scope</short_desc>
          <delta_ts>2013-11-20 21:10:11 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WHATWG</product>
          <component>HTML</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>Unsorted</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>contributor</reporter>
          <assigned_to name="Ian &apos;Hixie&apos; Hickson">ian</assigned_to>
          <cc>bzbarsky</cc>
    
    <cc>ian</cc>
    
    <cc>mike</cc>
          
          <qa_contact>contributor</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96366</commentid>
    <comment_count>0</comment_count>
    <who name="">contributor</who>
    <bug_when>2013-11-15 16:53:57 +0000</bug_when>
    <thetext>Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html
Multipage: http://www.whatwg.org/C#event-handler-attributes
Complete: http://www.whatwg.org/c#event-handler-attributes
Referrer: http://www.whatwg.org/specs/web-apps/current-work/multipage/

Comment:
Per spec, event handler attributes either don&apos;t work or have the wrong scope

Posted from: 173.48.23.63 by bzbarsky@mit.edu
User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:28.0) Gecko/20100101 Firefox/28.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96368</commentid>
    <comment_count>1</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2013-11-15 17:05:09 +0000</bug_when>
    <thetext>In particular, http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#event-handler-content-attributes talks about doing the whole compilation dance &quot;when an event handler content attribute is set&quot;.

It&apos;s not clear to me whether http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#create-an-element-for-the-token step 1 counts as &quot;setting&quot; the event handler content attribute.  If it does not, then per spec as currently written the event handler is never compiled.

If that step _does_ count, though, then the fact that it comes before http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#create-an-element-for-the-token step 4 means that the &quot;form owner&quot; will not be set yet when the compilation happens.

In either case, when combining event handler content attributes with changing form owners things get interesting.  I&apos;ll post a semi-exhaustive testcase...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96370</commentid>
    <comment_count>2</comment_count>
      <attachid>1415</attachid>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2013-11-15 17:23:09 +0000</bug_when>
    <thetext>Created attachment 1415
A testcase for some of the stuff here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96371</commentid>
    <comment_count>3</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2013-11-15 17:28:48 +0000</bug_when>
    <thetext>The Gecko behavior is wacky because we freeze the scope chain when we compile the first handler (which we do lazily) or when we create a JS wrapper for the node, whichever happens first.

The Chrome behavior is consistent with compiling the event handler when it&apos;s first used.

I personally think the chrome behavior here is fine; the caveat is &lt;body&gt; and &lt;frameset&gt;, which need to put the event handler on a different object...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96395</commentid>
    <comment_count>4</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-15 23:01:23 +0000</bug_when>
    <thetext>Yeah basically I should move the compilation logic to the event handler processing algorithm, similar to how the error handling is there now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96599</commentid>
    <comment_count>5</comment_count>
    <who name="">contributor</who>
    <bug_when>2013-11-20 21:09:31 +0000</bug_when>
    <thetext>Checked in as WHATWG revision r8303.
Check-in comment: Move the event handler content attribute compiling logic to later in the pipeline, for better consistency with Firefox/Safari (and other browsers, though to a lesser extent).
http://html5.org/tools/web-apps-tracker?from=8302&amp;to=8303</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96600</commentid>
    <comment_count>6</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2013-11-20 21:10:11 +0000</bug_when>
    <thetext>As usual, let me know if this new text isn&apos;t perfect! Please reopen the bug if you add a comment, so that I see it. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1415</attachid>
            <date>2013-11-15 17:23:09 +0000</date>
            <delta_ts>2013-11-15 17:23:09 +0000</delta_ts>
            <desc>A testcase for some of the stuff here</desc>
            <filename>bar.html</filename>
            <type>text/html</type>
            <size>4296</size>
            <attacher name="Boris Zbarsky">bzbarsky</attacher>
            
              <data encoding="base64">PGJvZHk+CiAgPGRpdiBpZD0ic2NyYXRjaCIgc3R5bGU9ImRpc3BsYXk6IG5vbmUiPjwvZGl2Pgog
IDxmb3JtIGlkPSJ4IiBzdHlsZT0iZGlzcGxheTogbm9uZSI+PC9mb3JtPgogIDxmb3JtIGlkPSJ5
IiBzdHlsZT0iZGlzcGxheTogbm9uZSI+PC9mb3JtPgogIDxwcmU+RG9lcyB0aGUgZm9ybSBhcHBl
YXIgb24gdGhlIHNjb3BlIGNoYWluPwoKPHNjcmlwdD4KICAgIHZhciBmb3JtID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigiI3giKTsKICAgIGZvcm0uZm9vID0gIllFUyI7CiAgICB2YXIgdGVzdFN0
cmluZyA9ICJ0cnkgeyBkb2N1bWVudC53cml0ZWxuKGZvbyk7IH0gY2F0Y2ggKGUpIHsgZG9jdW1l
bnQud3JpdGVsbignTk8nKTsgfSI7CgogICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW5wdXQiKTsKICAgIGlucHV0LnNldEF0dHJpYnV0ZSgib25jbGljayIsIHRlc3RTdHJp
bmcpOwogICAgZm9ybS5hcHBlbmRDaGlsZChpbnB1dCk7CiAgICBkb2N1bWVudC53cml0ZSgiSW5w
dXQgY3JlYXRlZCwgb25jbGljayBzZXQsIGFkZGVkIHRvIGZvcm06ICIpOwogICAgaW5wdXQuZGlz
cGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpOwogICAgZm9ybS50ZXh0Q29udGVudCA9ICIi
OwoKICAgIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKICAgIGZvcm0u
YXBwZW5kQ2hpbGQoaW5wdXQpOwogICAgaW5wdXQuc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgdGVz
dFN0cmluZyk7CiAgICBkb2N1bWVudC53cml0ZSgiSW5wdXQgY3JlYXRlZCwgYWRkZWQgdG8gZm9y
bSwgb25jbGljayBzZXQ6ICIpOwogICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNs
aWNrIikpOwogICAgZm9ybS50ZXh0Q29udGVudCA9ICIiOwoKICAgIGZvcm0uaW5uZXJIVE1MID0g
IjxpbnB1dD4iOwogICAgaW5wdXQgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7CiAgICBp
bnB1dC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCB0ZXN0U3RyaW5nKTsKICAgIGRvY3VtZW50Lndy
aXRlKCJJbnB1dCBwYXJzZWQgaW50byBmb3JtLCB0aGVuIG9uY2xpY2sgc2V0OiAiKTsKICAgIGlu
cHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjbGljayIpKTsKICAgIGZvcm0udGV4dENvbnRl
bnQgPSAiIjsKCiAgICBmb3JtLmlubmVySFRNTCA9ICc8aW5wdXQgb25jbGljaz0iJyArIHRlc3RT
dHJpbmcgKyAnIj4nOwogICAgaW5wdXQgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7CiAg
ICBpbnB1dC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCB0ZXN0U3RyaW5nKTsKICAgIGRvY3VtZW50
LndyaXRlKCJJbnB1dCBwYXJzZWQgaW50byBmb3JtIHdpdGggb25jbGljayBhdHRyOiAiKTsKICAg
IGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjbGljayIpKTsKICAgIGZvcm0udGV4dENv
bnRlbnQgPSAiIjsKCiAgICBzY3JhdGNoID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3NjcmF0
Y2giKTsKICAgIHNjcmF0Y2guaW5uZXJIVE1MID0gJzxpbnB1dCBvbmNsaWNrPSInICsgdGVzdFN0
cmluZyArICciPic7CiAgICBpbnB1dCA9IHNjcmF0Y2gucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsK
ICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpOwogICAgZG9jdW1lbnQud3JpdGUoIklucHV0IHBh
cnNlZCBpbnRvIG90aGVyIG5vZGUsIHRoZW4gbW92ZWQgaW50byBmb3JtIGJ5IHRvdWNoaW5nIGl0
IGZyb20gSlM6ICIpOwogICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikp
OwogICAgZm9ybS50ZXh0Q29udGVudCA9ICIiOwoKICAgIHNjcmF0Y2ggPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCIjc2NyYXRjaCIpOwogICAgc2NyYXRjaC5pbm5lckhUTUwgPSAnPGlucHV0IG9u
Y2xpY2s9IicgKyB0ZXN0U3RyaW5nICsgJyI+JzsKICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNy
ZWF0ZVJhbmdlKCk7CiAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoc2NyYXRjaCk7CiAgICBm
b3JtLmFwcGVuZENoaWxkKHJhbmdlLmV4dHJhY3RDb250ZW50cygpKTsKICAgIGlucHV0ID0gZm9y
bS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpOwogICAgZG9jdW1lbnQud3JpdGUoIklucHV0IHBhcnNl
ZCBpbnRvIG90aGVyIG5vZGUsIHRoZW4gbW92ZWQgaW50byBmb3JtIHdpdGhvdXQgYmVpbmcgdG91
Y2hlZCBmcm9tIEpTOiAiKTsKICAgIGlucHV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjbGlj
ayIpKTsKICAgIGZvcm0udGV4dENvbnRlbnQgPSAiIjsKICAgIAogICAgb3RoZXJGb3JtID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiI3kiKTsKICAgIG90aGVyRm9ybS5pbm5lckhUTUwgPSAnPGlu
cHV0IG9uY2xpY2s9IicgKyB0ZXN0U3RyaW5nICsgJyI+JzsKICAgIHZhciByYW5nZSA9IGRvY3Vt
ZW50LmNyZWF0ZVJhbmdlKCk7CiAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMob3RoZXJGb3Jt
KTsKICAgIGZvcm0uYXBwZW5kQ2hpbGQocmFuZ2UuZXh0cmFjdENvbnRlbnRzKCkpOwogICAgaW5w
dXQgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7CiAgICBkb2N1bWVudC53cml0ZSgiSW5w
dXQgcGFyc2VkIGludG8gb3RoZXIgZm9ybSwgdGhlbiBtb3ZlZCBpbnRvIGZvcm0gd2l0aG91dCBi
ZWluZyB0b3VjaGVkIGZyb20gSlM6ICIpOwogICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZl
bnQoImNsaWNrIikpOwogICAgZm9ybS50ZXh0Q29udGVudCA9ICIiOwoKICAgIG90aGVyRm9ybSA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN5Iik7CiAgICBvdGhlckZvcm0uaW5uZXJIVE1MID0g
JzxpbnB1dCBvbmNsaWNrPSInICsgdGVzdFN0cmluZyArICciIGZvcm09IngiPic7CiAgICBpbnB1
dCA9IG90aGVyRm9ybS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpOwogICAgZG9jdW1lbnQud3JpdGUo
IklucHV0IHBhcnNlZCBpbnRvIG90aGVyIGZvcm0sIGJ1dCBoYXMgZm9ybSBhcyBvd25lcjogIik7
CiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7CiAgICBmb3JtLnRl
eHRDb250ZW50ID0gIiI7CgogICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aW5wdXQiKTsKICAgIGlucHV0LnNldEF0dHJpYnV0ZSgib25jbGljayIsIHRlc3RTdHJpbmcpOwog
ICAgaW5wdXQuc2V0QXR0cmlidXRlKCJmb3JtIiwgIngiKTsKICAgIGRvY3VtZW50LndyaXRlKCJJ
bnB1dCBjcmVhdGVkLCBvbmNsaWNrIHNldCwgZm9ybSBzZXQsIG5vdCBhZGRlZCB0byBET006ICIp
OwogICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpOwogICAgZm9ybS5h
cHBlbmRDaGlsZChpbnB1dCk7CiAgICBkb2N1bWVudC53cml0ZSgiSW5wdXQgY3JlYXRlZCwgb25j
bGljayBzZXQsIGZvcm0gc2V0LCBub3QgYWRkZWQgdG8gRE9NLCBldmVudCBmaXJlZCwgdGhlbiBh
ZGRlZCB0byBET006ICIpOwogICAgaW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNr
IikpOwogICAgZm9ybS50ZXh0Q29udGVudCA9ICIiOwoKICAgIHZhciBpbnB1dCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2si
LCB0ZXN0U3RyaW5nKTsKICAgIGlucHV0LnNldEF0dHJpYnV0ZSgiZm9ybSIsICJ4Iik7CiAgICBz
Y3JhdGNoLmFwcGVuZENoaWxkKGlucHV0KTsKICAgIGRvY3VtZW50LndyaXRlKCJJbnB1dCBjcmVh
dGVkLCBvbmNsaWNrIHNldCwgZm9ybSBzZXQsIGFkZGVkIHRvIERPTTogIik7CiAgICBpbnB1dC5k
aXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7CiAgICBzY3JhdGNoLnRleHRDb250ZW50
ID0gIiI7CgogICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsK
ICAgIGlucHV0LnNldEF0dHJpYnV0ZSgib25jbGljayIsIHRlc3RTdHJpbmcpOwogICAgb3RoZXJG
b3JtLmFwcGVuZENoaWxkKGlucHV0KTsKICAgIGRvY3VtZW50LndyaXRlKCJJbnB1dCBjcmVhdGVk
LCBvbmNsaWNrIHNldCwgYWRkZWQgdG8gb3RoZXIgZm9ybTogIik7CiAgICBpbnB1dC5kaXNwYXRj
aEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7CiAgICBmb3JtLmFwcGVuZENoaWxkKGlucHV0KTsK
ICAgIGRvY3VtZW50LndyaXRlKCJJbnB1dCBjcmVhdGVkLCBvbmNsaWNrIHNldCwgYWRkZWQgdG8g
b3RoZXIgZm9ybSwgZXZlbnQgZmlyZWQsIHRoZW4gbW92ZWQgdG8gb3VyIGZvcm06ICIpOwogICAg
aW5wdXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpOwogICAgZm9ybS50ZXh0Q29u
dGVudCA9ICIiOwo8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>