Fixed <rdar://problem/3825442> first click lost for Dashboard
authorrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Oct 2004 21:16:50 +0000 (21:16 +0000)
committerrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Oct 2004 21:16:50 +0000 (21:16 +0000)
Allow dashboard to force acceptsFirstMouse:

        Reviewed by Chris.

        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView acceptsFirstMouse:]):
        * WebView.subproj/WebView.m:
        (-[WebView _dashboardBehavior:]):
        * WebView.subproj/WebViewInternal.h:
        * WebView.subproj/WebViewPrivate.h:

        * WebCoreSupport.subproj/WebImageRenderer.h:
        Comment change only

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

WebKit/ChangeLog
WebKit/WebCoreSupport.subproj/WebImageRenderer.h
WebKit/WebView.subproj/WebHTMLView.m
WebKit/WebView.subproj/WebView.m
WebKit/WebView.subproj/WebViewInternal.h
WebKit/WebView.subproj/WebViewPrivate.h

index 0e21ecf346f8ad89c9374adb69f59f590f43c115..a09c90a871170a7b38341eb1f4d18bebde1be7a6 100644 (file)
@@ -1,3 +1,20 @@
+2004-10-05  Richard Williamson   <rjw@apple.com>
+
+        Fixed <rdar://problem/3825442> first click lost for Dashboard
+       Allow dashboard to force acceptsFirstMouse:
+
+        Reviewed by Chris.
+
+        * WebView.subproj/WebHTMLView.m:
+        (-[WebHTMLView acceptsFirstMouse:]):
+        * WebView.subproj/WebView.m:
+        (-[WebView _dashboardBehavior:]):
+        * WebView.subproj/WebViewInternal.h:
+        * WebView.subproj/WebViewPrivate.h:
+
+        * WebCoreSupport.subproj/WebImageRenderer.h:
+        Comment change only
+
 2004-10-05  Chris Blumenberg  <cblu@apple.com>
 
        Fixed: <rdar://problem/3760920> Need to record plugin view instances
index 6eb677f8b47a07636936557fabeffe3b988a4624..54bd293433da29adb170ff568b8d4355f88c4920 100644 (file)
@@ -42,7 +42,7 @@
 
 @end
 
-#else
+#else   // Panther version of WebImageRenderer ------------------------------------
 
 
 @interface WebImageRenderer : NSImage <WebCoreImageRenderer>
index a80974f22afccef40a27fe31fbb32f3dbbbcde5f..78b0f22b755228c36c36f53301a59213fafe4408 100644 (file)
@@ -2074,6 +2074,9 @@ static WebHTMLView *lastHitView = nil;
 {
     [self _setMouseDownEvent:event];
     
+    if ([[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysAcceptsFirstMouse])
+        return YES;
+        
     // We hack AK's hitTest method to catch all events at the topmost WebHTMLView.  However, for
     // the purposes of this method we want to really query the deepest view, so we forward to it.
     forceRealHitTest = YES;
index 3badff33b6b5093f6db9921eb6995aceef2ad3c6..7a6fcb52142ef1e8dee355c8e6176584fc0ad0cf 100644 (file)
@@ -1193,6 +1193,10 @@ NSString *_WebMainFrameURLKey =         @"mainFrameURL";
             _private->dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns = flag;
             break;
         }
+        case WebDashboardBehaviorAlwaysAcceptsFirstMouse: {
+            _private->dashboardBehaviorAlwaysAcceptsFirstMouse = flag;
+            break;
+        }
     }
 }
 
@@ -1205,6 +1209,9 @@ NSString *_WebMainFrameURLKey =         @"mainFrameURL";
         case WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns: {
             return _private->dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
         }
+        case WebDashboardBehaviorAlwaysAcceptsFirstMouse: {
+            return _private->dashboardBehaviorAlwaysAcceptsFirstMouse;
+        }
     }
     return NO;
 }
index 1bd1cec1849447ddde4d5ca1f954d356010f626b..8995d314b955bce91dc2b92a9b3a27112aeb2e2f 100644 (file)
@@ -85,6 +85,7 @@
     
     BOOL dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
     BOOL dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
+    BOOL dashboardBehaviorAlwaysAcceptsFirstMouse;
 }
 @end
 
index 8189bd54fa4f586068b27d0490994a56924ca3e4..8eab69d5e64937505e0c7e88f68e7021b84bf386 100644 (file)
@@ -33,7 +33,8 @@ extern NSString *_WebMainFrameURLKey;
 
 typedef enum {
        WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows,
-       WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns
+       WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns,
+       WebDashboardBehaviorAlwaysAcceptsFirstMouse
 } WebDashboardBehavior;