- fixed the following bugs:
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Mar 2004 14:22:51 +0000 (14:22 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Mar 2004 14:22:51 +0000 (14:22 +0000)
        <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
        <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
        <rdar://problem/3544946>: cmd-return should open a link in a new tab

        Reviewed by Darin.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
        Pass modifier flags always, not just for mouse events. This fixes 3601604.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView performKeyEquivalent:]):
        Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.

        Together these two changes fix 3544946.

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

WebKit/ChangeLog
WebKit/WebView.subproj/WebFrame.m
WebKit/WebView.subproj/WebHTMLView.m

index 29afed09751c33a1f7e50f824fbbf70e6338fc3e..1474367bcfb36a5d5352907d6e09ae23e868893b 100644 (file)
@@ -1,3 +1,23 @@
+2004-03-26  John Sullivan  <sullivan@apple.com>
+
+        - fixed the following bugs:
+        
+        <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
+        <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
+        <rdar://problem/3544946>: cmd-return should open a link in a new tab
+
+        Reviewed by Darin.
+
+        * WebView.subproj/WebFrame.m:
+        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
+        Pass modifier flags always, not just for mouse events. This fixes 3601604.
+        
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView performKeyEquivalent:]):
+        Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
+        
+        Together these two changes fix 3544946.
+
 2004-03-25  David Hyatt  <hyatt@apple.com>
 
        Implement the rest of the search field.
index 07ddecf612e82886c46cd21bd1945c233ad41bfc..0e3ec7aa95d7bf1ffbaba40bcb32d3c46f206237 100644 (file)
@@ -1516,12 +1516,13 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
                     nil];
             }
         }
-        
+            
         // fall through
         
         default:
             return [NSDictionary dictionaryWithObjectsAndKeys:
                 [NSNumber numberWithInt:navigationType], WebActionNavigationTypeKey,
+                [NSNumber numberWithInt:[event modifierFlags]], WebActionModifierFlagsKey,
                 URL, WebActionOriginalURLKey,
                 nil];
     }
index 456e0bc39c37a10b3bff465b4fd89d1ceada7dd0..7c795fc5b38b84418b85fae9cc917770768ddbba 100644 (file)
@@ -1910,6 +1910,20 @@ static WebHTMLView *lastHitView = nil;
     [[self _bridge] setTextSizeMultiplier:[[self _webView] textSizeMultiplier]];    
 }
 
+- (BOOL)performKeyEquivalent:(NSEvent *)event
+{
+    // Pass command-key combos through WebCore so Command-return on an active link is treated
+    // as a modified activation rather than ignored. Note that this means web pages have a crack 
+    // at intercepting command-modified keypresses now. If this turns out to cause havoc we
+    // can restrict this to only send the event through WebCore if it contains the Return or
+    // Enter key.
+    if ([[self _bridge] interceptKeyEvent:event toView:self]) {
+        return YES;
+    }
+
+    return [super performKeyEquivalent:event];
+}
+
 - (void)keyDown:(NSEvent *)event
 {
     BOOL intercepted = [[self _bridge] interceptKeyEvent:event toView:self];