[webkit-changes] cvs commit: WebCore/manual-tests log-keypress-events.html

Darin darin at opensource.apple.com
Tue Nov 29 09:14:34 PST 2005


darin       05/11/29 09:14:34

  Modified:    .        ChangeLog
               kwq      KWQEvent.mm
  Added:       manual-tests log-keypress-events.html
  Log:
          Reviewed by Geoff.
  
          - fixed <rdar://problem/4300202> JavaScript event keyCode/charCode/which is 25 for shift+tab, should be 9 (5678)
            also http://bugzilla.opendarwin.org/show_bug.cgi?id=5678
  
          * kwq/KWQEvent.mm:
          (WindowsKeyCodeForKeyEvent): Add case for tab key.
          (QKeyEvent::QKeyEvent): Force use of character code 9 for tab key regardless of
          what AppKit returns.
          * manual-tests/log-keypress-events.html: Added.
  
  Revision  Changes    Path
  1.423     +13 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.422
  retrieving revision 1.423
  diff -u -r1.422 -r1.423
  --- ChangeLog	29 Nov 2005 17:02:59 -0000	1.422
  +++ ChangeLog	29 Nov 2005 17:14:28 -0000	1.423
  @@ -1,5 +1,18 @@
   2005-11-29  Darin Adler  <darin at apple.com>
   
  +        Reviewed by Geoff.
  +
  +        - fixed <rdar://problem/4300202> JavaScript event keyCode/charCode/which is 25 for shift+tab, should be 9 (5678)
  +          also http://bugzilla.opendarwin.org/show_bug.cgi?id=5678
  +
  +        * kwq/KWQEvent.mm:
  +        (WindowsKeyCodeForKeyEvent): Add case for tab key.
  +        (QKeyEvent::QKeyEvent): Force use of character code 9 for tab key regardless of
  +        what AppKit returns.
  +        * manual-tests/log-keypress-events.html: Added.
  +
  +2005-11-29  Darin Adler  <darin at apple.com>
  +
           Reviewed by Maciej.
   
           - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4925
  
  
  
  1.31      +10 -4     WebCore/kwq/KWQEvent.mm
  
  Index: KWQEvent.mm
  ===================================================================
  RCS file: /cvs/root/WebCore/kwq/KWQEvent.mm,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- KWQEvent.mm	3 Oct 2005 21:13:02 -0000	1.30
  +++ KWQEvent.mm	29 Nov 2005 17:14:34 -0000	1.31
  @@ -360,6 +360,9 @@
   static int WindowsKeyCodeForKeyEvent(NSEvent *event)
   {
       switch ([event keyCode]) {
  +        // VK_TAB (09) TAB key
  +        case 48: return 0x09;
  +
           // VK_CLEAR (0C) CLEAR key
           case 71: return 0x0C;
   
  @@ -897,12 +900,15 @@
         _isAccepted(false),
         _WindowsKeyCode(WindowsKeyCodeForKeyEvent(event))
   {
  -    // Turn 0x7F into 0x08, because backspace needs to always be 0x08.
  -    if (_text == "\x7F") {
  +    // Turn 0x7F into 8, because backspace needs to always be 8.
  +    if (_text == "\x7F")
           _text = "\x8";
  -    }
  -    if (_unmodifiedText == "\x7F") {
  +    if (_unmodifiedText == "\x7F")
           _unmodifiedText = "\x8";
  +    // Always use 9 for tab -- we don't want to use AppKit's different character for shift-tab.
  +    if (_WindowsKeyCode == 9) {
  +        _text = "\x9";
  +        _unmodifiedText = "\x9";
       }
   }
   
  
  
  
  1.1                  WebCore/manual-tests/log-keypress-events.html
  
  Index: log-keypress-events.html
  ===================================================================
  <html>
  <body>
  <p>This page is especially useful to test <a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=5678">the shift-Tab issue</a>. Should see a code of 9.</p>
  <form name="f">
  Type here: <input id="field" type="text" />
  </form>
  <script language="javascript" type="text/javascript">
  <!--
  function logEvent(event) {
      myDebugLog("--");
      if (event.charCode)
          myDebugLog("event.charCode: " + event.charCode);
      if (event.which)
          myDebugLog("event.which: " + event.which);
      if (event.keyCode)
          myDebugLog("event.keyCode: " + event.keyCode);
      myDebugLog("shiftKey: " + event.shiftKey);
      return false;
  }
  
  function myDebugLog(msg) {
      var m = document.createElement("div");
      m.appendChild(document.createTextNode(msg));
      document.getElementById("debug-log").appendChild(m);
  }
  document.f.field.onkeypress = logEvent;
  // -->
  </script>
  
  <div id="debug-log">
  Key press values:
  </div>
  </body>
  </html>
  
  



More information about the webkit-changes mailing list