<?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>24738</bug_id>
          
          <creation_ts>2014-02-20 03:00:21 +0000</creation_ts>
          <short_desc>D3E spec should define if keypress is fired when preceding beforeinput is consumed by preventDefault()</short_desc>
          <delta_ts>2014-04-07 23:17:21 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebAppsWG</product>
          <component>HISTORICAL - DOM3 Events</component>
          <version>unspecified</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</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="Masayuki Nakano">masayuki</reporter>
          <assigned_to name="Travis Leithead [MSFT]">travil</assigned_to>
          <cc>bzbarsky</cc>
    
    <cc>garykac</cc>
    
    <cc>mike</cc>
    
    <cc>www-dom</cc>
          
          <qa_contact>public-webapps-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100941</commentid>
    <comment_count>0</comment_count>
    <who name="Masayuki Nakano">masayuki</who>
    <bug_when>2014-02-20 03:00:21 +0000</bug_when>
    <thetext>D3E spec should define if keypress is fired when preceding beforeinput is consumed by preventDefault().

I think that keypress shouldn&apos;t be fired because:

* it&apos;s not necessary for the web apps which handle beforeinput
* not dispatching keypress doesn&apos;t waste the resource (CPU, battery)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103510</commentid>
    <comment_count>1</comment_count>
    <who name="Gary Kacmarcik">garykac</who>
    <bug_when>2014-04-07 22:38:34 +0000</bug_when>
    <thetext>Since keypress is deprecated, there is no need to define how it operates WRT beforeinput.

And defining how this deprecated event should interact with the new events may make it more difficult for browsers to implement the new behavior.

So, it seems best to leave this unspecified.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103511</commentid>
    <comment_count>2</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2014-04-07 22:41:59 +0000</bug_when>
    <thetext>Given the amount of keypress usage out there, in practice it _will_ be used in combination with the new events, and we will need UAs to be interoperable in that setting.  So we do in fact need to spec this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103514</commentid>
    <comment_count>3</comment_count>
    <who name="Gary Kacmarcik">garykac</who>
    <bug_when>2014-04-07 23:17:21 +0000</bug_when>
    <thetext>I&apos;ve updated the spec (ED) to mention that keypress (if supported) should be suppressed if keydown is cancelled.

However, we are not attempting to specify all possible interactions between the legacy events and the new events - partially because we don&apos;t want to needlessly constrain user agents implementing the new events and partially because many legacy events are not consistent across all user agents.

But you&apos;re right that it makes sense to include that information when it is straightforward - as it is with this bug.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>