Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 17 Nov 2004 00:17:56 +0000 (00:17 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 17 Nov 2004 00:17:56 +0000 (00:17 +0000)
        Reviewed by darin.

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView hitTest:]): return self if the current event is a context menu event
        (-[WebPDFView menuForEvent:]): use the PDFView subview

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

WebKit/ChangeLog
WebKit/WebView.subproj/WebPDFView.m

index 709b873c2a89861faaab52eab3c939ddfe37a9af..f07ebf8bc1448c36d66861280fe6cf5eb64cb1c4 100644 (file)
@@ -1,3 +1,13 @@
+2004-11-16  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
+
+        Reviewed by darin.
+
+        * WebView.subproj/WebPDFView.m:
+        (-[WebPDFView hitTest:]): return self if the current event is a context menu event
+        (-[WebPDFView menuForEvent:]): use the PDFView subview
+
 2004-11-15  Chris Blumenberg  <cblu@apple.com>
 
        Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework
index 8d0cf98ef41915f91bf9b8ca2cbfa2f667b3d8e9..cadd1d4a304b2aaeb4429bef4f0cc11d5b668ebf 100644 (file)
@@ -126,9 +126,21 @@ static void applicationInfoForMIMEType(NSString *type, NSString **name, NSImage
     return path;
 }
 
+- (NSView *)hitTest:(NSPoint)point
+{
+    // Override hitTest so we can override menuForEvent.
+    NSEvent *event = [NSApp currentEvent];
+    NSEventType type = [event type];
+    if (type == NSRightMouseDown || (type == NSLeftMouseDown && ([event modifierFlags] & NSControlKeyMask))) {
+        return self;
+    }
+    return [super hitTest:point];
+}
+
 - (NSMenu *)menuForEvent:(NSEvent *)theEvent
 {
-    NSMenu *menu = [super menuForEvent:theEvent];
+    NSMenu *menu = [PDFSubview menuForEvent:theEvent];
+    
     NSString *appName = nil;
     NSImage *appIcon = nil;