Reviewed by Chris Blumenberg.
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Jul 2005 18:37:37 +0000 (18:37 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Jul 2005 18:37:37 +0000 (18:37 +0000)
        - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size

        * WebView.subproj/WebPDFView.m:
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
        Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
        Make Text Larger, and Make Text Smaller.

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

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

index 13bc224..84bf2b3 100644 (file)
@@ -1,3 +1,14 @@
+2005-07-05  John Sullivan  <sullivan@apple.com>
+
+        Reviewed by Chris Blumenberg.
+        
+        - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
+
+        * WebView.subproj/WebPDFView.m:
+        (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
+        Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
+        Make Text Larger, and Make Text Smaller.
+
 2005-07-01  John Sullivan  <sullivan@apple.com>
 
         Reviewed by Darin Adler.
index 418025c..76ff0be 100644 (file)
@@ -223,7 +223,27 @@ static void applicationInfoForMIMEType(NSString *type, NSString **name, NSImage
             [itemCopy setTag:tag];
         } else {
             ERROR("PDF context menu item %@ came with tag %d, so no WebKit tag was applied. This could mean that the item doesn't appear in clients such as Safari.", [itemCopy title], [itemCopy tag]);
-        }        
+        }
+        
+        // Intercept some of these menu items for better WebKit integration.
+        switch (tag) {
+            // Convert the scale-factor-related items to use WebKit's text sizing API instead, so they match other
+            // UI that uses the text sizing API (such as Make Text Larger/Smaller menu items in Safari).
+            case WebMenuItemPDFActualSize:
+                [itemCopy setTarget:[[dataSource webFrame] webView]];
+                [itemCopy setAction:@selector(makeTextStandardSize:)];
+                break;
+            case WebMenuItemPDFZoomIn:
+                [itemCopy setTarget:[[dataSource webFrame] webView]];
+                [itemCopy setAction:@selector(makeTextLarger:)];
+                break;
+            case WebMenuItemPDFZoomOut:
+                [itemCopy setTarget:[[dataSource webFrame] webView]];
+                [itemCopy setAction:@selector(makeTextSmaller:)];
+                break;
+            default:
+                break;
+        }
     }
     
     [actionsToTags release];