[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

sullivan sullivan at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:11:43 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 912ab9054fa4fb108fc1953e0015ca4df2fa4eee
Author: sullivan <sullivan at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Nov 14 17:12:12 2003 +0000

            - fixed <rdar://problem/3483585>: Option-tab in a text field inputs
            a character rather than tabbing to the next widget
    
            Reviewed by Ken.
    
            * kwq/KWQKHTMLPart.h:
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::handleKeyboardOptionTabInView):
            New method. If current event is option-tab or option-shift-tab, do
            keyboard navigation and return YES.
    
            * kwq/KWQTextArea.mm:
            (-[KWQTextArea textDidChange:]):
            Bail out if KWQKHTMLPart::handleKeyboardOptionTabInView returns YES.
    
            * kwq/KWQTextField.mm:
            (-[KWQTextField controlTextDidChange:]):
            Bail out if KWQKHTMLPart::handleKeyboardOptionTabInView returns YES.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 46fc00c..5349882 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,24 @@
+2003-11-14  John Sullivan  <sullivan at apple.com>
+
+        - fixed <rdar://problem/3483585>: Option-tab in a text field inputs 
+        a character rather than tabbing to the next widget
+
+        Reviewed by Ken.
+
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::handleKeyboardOptionTabInView):
+        New method. If current event is option-tab or option-shift-tab, do
+        keyboard navigation and return YES.
+        
+        * kwq/KWQTextArea.mm:
+        (-[KWQTextArea textDidChange:]):
+        Bail out if KWQKHTMLPart::handleKeyboardOptionTabInView returns YES.
+        
+        * kwq/KWQTextField.mm:
+        (-[KWQTextField controlTextDidChange:]):
+        Bail out if KWQKHTMLPart::handleKeyboardOptionTabInView returns YES.
+
 2003-11-13  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 019b744..e78ff10 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -148,6 +148,7 @@ public:
     NSView *nextKeyViewInFrameHierarchy(DOM::NodeImpl *startingPoint, KWQSelectionDirection);
     static NSView *nextKeyViewForWidget(QWidget *startingPoint, KWQSelectionDirection);
     static bool currentEventIsKeyboardOptionTab();
+    static bool handleKeyboardOptionTabInView(NSView *view);
     bool tabsToLinks();
     
     static bool currentEventIsMouseDownInWidget(QWidget *candidate);
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 32e6aae..199c5b8 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -1066,6 +1066,20 @@ bool KWQKHTMLPart::currentEventIsKeyboardOptionTab()
     return YES;
 }
 
+bool KWQKHTMLPart::handleKeyboardOptionTabInView(NSView *view)
+{
+    if (KWQKHTMLPart::currentEventIsKeyboardOptionTab()) {
+        if (([[NSApp currentEvent] modifierFlags] & NSShiftKeyMask) != 0) {
+            [[view window] selectKeyViewPrecedingView:view];
+        } else {
+            [[view window] selectKeyViewFollowingView:view];
+        }
+        return YES;
+    }
+    
+    return NO;
+}
+
 bool KWQKHTMLPart::tabsToLinks()
 {
     if ([_bridge keyboardUIMode] & WebCoreKeyboardAccessTabsToLinks)
diff --git a/WebCore/kwq/KWQTextArea.mm b/WebCore/kwq/KWQTextArea.mm
index 423372b..4ef54dc 100644
--- a/WebCore/kwq/KWQTextArea.mm
+++ b/WebCore/kwq/KWQTextArea.mm
@@ -162,7 +162,9 @@ const float LargeNumberForText = 1.0e7;
 
 - (void)textDidChange:(NSNotification *)aNotification
 {
-    widget->textChanged();
+    if (!KWQKHTMLPart::handleKeyboardOptionTabInView(self)) {
+        widget->textChanged();
+    }
 }
 
 - (void)setWordWrap:(BOOL)f
diff --git a/WebCore/kwq/KWQTextField.mm b/WebCore/kwq/KWQTextField.mm
index dab4294..84a5f29 100644
--- a/WebCore/kwq/KWQTextField.mm
+++ b/WebCore/kwq/KWQTextField.mm
@@ -281,10 +281,14 @@
     if (!widget) {
 	return;
     }
+    
+    if (KWQKHTMLPart::handleKeyboardOptionTabInView(self)) {
+        return;
+    }
 
     WebCoreBridge *bridge = KWQKHTMLPart::bridgeForWidget(widget);
     [bridge controlTextDidChange:notification];
-
+    
     edited = YES;
     widget->textChanged();
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list