2009-03-27 Darin Adler <darin@apple.com>
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Mar 2009 18:27:16 +0000 (18:27 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 27 Mar 2009 18:27:16 +0000 (18:27 +0000)
        Reviewed by Adam Roben.

        <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@42045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/mac/ChangeLog
WebKit/mac/WebView/WebHTMLView.mm

index 883a05d..985dd5f 100644 (file)
@@ -1,5 +1,14 @@
 2009-03-27  Darin Adler  <darin@apple.com>
 
+        Reviewed by Adam Roben.
+
+        <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.
+
+2009-03-27  Darin Adler  <darin@apple.com>
+
         Reviewed by John Sullivan and Anders Carlsson.
 
         <rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)
index 34445d8..bcd69f8 100644 (file)
@@ -4639,7 +4639,13 @@ static BOOL writingDirectionKeyBindingsEnabled()
 // support them via the key bindings mechanism.
 - (BOOL)_wantsKeyDownForEvent:(NSEvent *)event
 {
-    return YES;
+    bool haveWebCoreFrame = core([self _frame]);
+
+    // If we have a frame, our keyDown method will handle key bindings after sending
+    // the event through the DOM, so ask AppKit not to do its early special key binding
+    // mapping. If we don't have a frame, just let things work the normal way without
+    // a keyDown.
+    return haveWebCoreFrame;
 }
 
 #else