Reviewed by Adele.
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Nov 2007 01:35:05 +0000 (01:35 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 27 Nov 2007 01:35:05 +0000 (01:35 +0000)
        - some middle-mouse-button-related fixes

        These don't affect Safari since it maps the middle mouse button to the command key,
        but that might not always be the case for future versions.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
        (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
        (-[WebHTMLView otherMouseUp:]): Ditto, for up events.

        * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.

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

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

index 02a4009fd72fb09176b4d4d2f5f5292171d6ace1..a8b6646f7a5745c92fe601687d443614b4681c2d 100644 (file)
@@ -1,3 +1,19 @@
+2007-11-26  Darin Adler  <darin@apple.com>
+
+        Reviewed by Adele.
+
+        - some middle-mouse-button-related fixes
+
+        These don't affect Safari since it maps the middle mouse button to the command key,
+        but that might not always be the case for future versions.
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
+        (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
+        (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
+
+        * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
+
 2007-11-26  Anders Carlsson  <andersca@apple.com>
 
         Reviewed by Brady.
 2007-11-26  Anders Carlsson  <andersca@apple.com>
 
         Reviewed by Brady.
index 7708955cde565300ce4337947eeaa9c5a764b031..44cddc9a4a6708471dccc498045ec26669e3dc16 100644 (file)
@@ -4783,6 +4783,30 @@ NSStrokeColorAttributeName        /* NSColor, default nil: same as foreground co
     [super _windowChangedKeyState];
 }
 
     [super _windowChangedKeyState];
 }
 
+- (void)otherMouseDown:(NSEvent *)event
+{
+    if ([event buttonNumber] == 2)
+        [self mouseDown:event];
+    else
+        [super otherMouseDown:event];
+}
+
+- (void)otherMouseDragged:(NSEvent *)event
+{
+    if ([event buttonNumber] == 2)
+        [self mouseDragged:event];
+    else
+        [super otherMouseDragged:event];
+}
+
+- (void)otherMouseUp:(NSEvent *)event
+{
+    if ([event buttonNumber] == 2)
+        [self mouseUp:event];
+    else
+        [super otherMouseUp:event];
+}
+
 @end
 
 @implementation WebHTMLView (WebTextSizing)
 @end
 
 @implementation WebHTMLView (WebTextSizing)
index 49bf83c40e1633b139172f16662ff7d66626b6b9..01d08434403cadaea7047e39e0b473b54f309c71 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright (C) 2003, 2004, 2005 Apple Computer, Inc.  All rights reserved.
+ * Copyright (C) 2003, 2004, 2005, 2007 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -35,7 +35,6 @@
 @class WebFrame;
 @class WebPolicyPrivate;
 
 @class WebFrame;
 @class WebPolicyPrivate;
 
-
 /*!
     @enum WebNavigationType
     @abstract The type of action that triggered a possible navigation.
 /*!
     @enum WebNavigationType
     @abstract The type of action that triggered a possible navigation.
@@ -56,14 +55,12 @@ typedef enum {
     WebNavigationTypeOther
 } WebNavigationType;
 
     WebNavigationTypeOther
 } WebNavigationType;
 
-
 extern NSString *WebActionNavigationTypeKey; // NSNumber (WebNavigationType)
 extern NSString *WebActionElementKey; // NSDictionary of element info
 extern NSString *WebActionNavigationTypeKey; // NSNumber (WebNavigationType)
 extern NSString *WebActionElementKey; // NSDictionary of element info
-extern NSString *WebActionButtonKey;  // NSEventType
+extern NSString *WebActionButtonKey; // NSNumber (0 for left button, 1 for middle button, 2 for right button)
 extern NSString *WebActionModifierFlagsKey; // NSNumber (unsigned)
 extern NSString *WebActionOriginalURLKey; // NSURL
 
 extern NSString *WebActionModifierFlagsKey; // NSNumber (unsigned)
 extern NSString *WebActionOriginalURLKey; // NSURL
 
-
 /*!
     @protocol WebPolicyDecisionListener
     @discussion This protocol is used to call back with the results of a
 /*!
     @protocol WebPolicyDecisionListener
     @discussion This protocol is used to call back with the results of a