Title: [177557] branches/safari-600.3-branch/Source

Diff

Modified: branches/safari-600.3-branch/Source/WebKit/mac/ChangeLog (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit/mac/ChangeLog	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit/mac/ChangeLog	2014-12-19 02:56:59 UTC (rev 177557)
@@ -1,3 +1,20 @@
+2014-12-18  Matthew Hanson  <[email protected]>
+
+        Merge r177528. rdar://problem/19299367
+
+    2014-12-18  Beth Dakin  <[email protected]>
+
+            Need to re-enable action menus
+            https://bugs.webkit.org/show_bug.cgi?id=139795
+            -and corresponding-
+            rdar://problem/19299367
+
+            Reviewed by Tim Horton.
+
+            Re-enable the menus by un-commenting the code to create the menu and controller.
+            * WebView/WebView.mm:
+            (-[WebView _commonInitializationWithFrameName:groupName:]):
+
 2014-12-17  Matthew Hanson  <[email protected]>
 
         Merge r177427. rdar://problem/19237945

Modified: branches/safari-600.3-branch/Source/WebKit/mac/WebView/WebView.mm (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit/mac/WebView/WebView.mm	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit/mac/WebView/WebView.mm	2014-12-19 02:56:59 UTC (rev 177557)
@@ -891,13 +891,12 @@
     [frameView release];
 
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-    // FIXME: Temporarily disable action menu installation.
-    /*if ([self respondsToSelector:@selector(setActionMenu:)]) {
+    if ([self respondsToSelector:@selector(setActionMenu:)]) {
         RetainPtr<NSMenu> actionMenu = adoptNS([[NSMenu alloc] init]);
         self.actionMenu = actionMenu.get();
         _private->actionMenuController = [[WebActionMenuController alloc] initWithWebView:self];
         self.actionMenu.autoenablesItems = NO;
-    }*/
+    }
 
     if (Class gestureClass = NSClassFromString(@"NSImmediateActionGestureRecognizer")) {
         RetainPtr<NSImmediateActionGestureRecognizer> recognizer = adoptNS([(NSImmediateActionGestureRecognizer *)[gestureClass alloc] initWithTarget:nil action:NULL]);

Modified: branches/safari-600.3-branch/Source/WebKit2/ChangeLog (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/ChangeLog	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/ChangeLog	2014-12-19 02:56:59 UTC (rev 177557)
@@ -1,5 +1,40 @@
 2014-12-18  Matthew Hanson  <[email protected]>
 
+        Merge r177528. rdar://problem/19299367
+
+    2014-12-18  Beth Dakin  <[email protected]>
+
+            Need to re-enable action menus
+            https://bugs.webkit.org/show_bug.cgi?id=139795
+            -and corresponding-
+            rdar://problem/19299367
+
+            Reviewed by Tim Horton.
+
+            Re-enable the menus by un-commenting the code to create the menu and controller.
+            * UIProcess/API/mac/WKView.mm:
+            (-[WKView initWithFrame:context:configuration:webView:]):
+
+            performActionMenuHitTest already takes a parameter indicating whether the hit test 
+            is for an immediate action or not. The callback didPerformActionMenuHitTest needs 
+            that information too so that it knows whether to call into the 
+            ActionMenuController or the ImmediateActionController.
+            (-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]):
+            (-[WKView _didPerformActionMenuHitTest:userData:]): Deleted.
+            * UIProcess/API/mac/WKViewInternal.h:
+            * UIProcess/PageClient.h:
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::didPerformActionMenuHitTest):
+            * UIProcess/WebPageProxy.h:
+            * UIProcess/WebPageProxy.messages.in:
+            * UIProcess/mac/PageClientImpl.h:
+            * UIProcess/mac/PageClientImpl.mm:
+            (WebKit::PageClientImpl::didPerformActionMenuHitTest):
+            * WebProcess/WebPage/mac/WebPageMac.mm:
+            (WebKit::WebPage::performActionMenuHitTestAtLocation):
+
+2014-12-18  Matthew Hanson  <[email protected]>
+
         Merge r177525. rdar://problem/19288547
 
     2014-12-18  Timothy Horton  <[email protected]>

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/API/mac/WKView.mm	2014-12-19 02:56:59 UTC (rev 177557)
@@ -3611,14 +3611,13 @@
         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_dictionaryLookupPopoverWillClose:) name:getLUNotificationPopoverWillClose() object:nil];
 
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-    // FIXME: Temporarily disable action menu installation.
-    /*if ([self respondsToSelector:@selector(setActionMenu:)]) {
+    if ([self respondsToSelector:@selector(setActionMenu:)]) {
         RetainPtr<NSMenu> menu = adoptNS([[NSMenu alloc] init]);
         self.actionMenu = menu.get();
         _data->_actionMenuController = adoptNS([[WKActionMenuController alloc] initWithPage:*_data->_page view:self]);
         self.actionMenu.delegate = _data->_actionMenuController.get();
         self.actionMenu.autoenablesItems = NO;
-    }*/
+    }
 
     if (Class gestureClass = NSClassFromString(@"NSImmediateActionGestureRecognizer")) {
         RetainPtr<NSImmediateActionGestureRecognizer> recognizer = adoptNS([(NSImmediateActionGestureRecognizer *)[gestureClass alloc] initWithTarget:nil action:NULL]);
@@ -3757,10 +3756,12 @@
     [_data->_actionMenuController didCloseMenu:menu withEvent:event];
 }
 
-- (void)_didPerformActionMenuHitTest:(const ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData
+- (void)_didPerformActionMenuHitTest:(const ActionMenuHitTestResult&)hitTestResult forImmediateAction:(BOOL)forImmediateAction userData:(API::Object*)userData
 {
-    [_data->_actionMenuController didPerformActionMenuHitTest:hitTestResult userData:userData];
-    [_data->_immediateActionController didPerformActionMenuHitTest:hitTestResult userData:userData];
+    if (forImmediateAction)
+        [_data->_immediateActionController didPerformActionMenuHitTest:hitTestResult userData:userData];
+    else
+        [_data->_actionMenuController didPerformActionMenuHitTest:hitTestResult userData:userData];
 }
 
 #endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/API/mac/WKViewInternal.h	2014-12-19 02:56:59 UTC (rev 177557)
@@ -130,7 +130,7 @@
 - (void)_closeFullScreenWindowController;
 
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-- (void)_didPerformActionMenuHitTest:(const WebKit::ActionMenuHitTestResult&)hitTestResult userData:(API::Object*)userData;
+- (void)_didPerformActionMenuHitTest:(const WebKit::ActionMenuHitTestResult&)hitTestResult forImmediateAction:(BOOL)forImmediateAction userData:(API::Object*)userData;
 #endif
 
 @property (nonatomic, retain, setter=_setPrimaryTrackingArea:) NSTrackingArea *_primaryTrackingArea;

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/PageClient.h (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/PageClient.h	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/PageClient.h	2014-12-19 02:56:59 UTC (rev 177557)
@@ -313,7 +313,7 @@
     virtual void didFinishLoadForMainFrame() = 0;
     virtual void didSameDocumentNavigationForMainFrame(SameDocumentNavigationType) = 0;
 
-    virtual void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, API::Object*) = 0;
+    virtual void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, bool forImmediateAction, API::Object*) = 0;
 };
 
 } // namespace WebKit

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-12-19 02:56:59 UTC (rev 177557)
@@ -5236,14 +5236,14 @@
     m_process->send(Messages::WebPage::FocusAndSelectLastActionMenuHitTestResult(), m_pageID);
 }
 
-void WebPageProxy::didPerformActionMenuHitTest(const ActionMenuHitTestResult& result, IPC::MessageDecoder& decoder)
+void WebPageProxy::didPerformActionMenuHitTest(const ActionMenuHitTestResult& result, bool forImmediateAction, IPC::MessageDecoder& decoder)
 {
     RefPtr<API::Object> userData;
     WebContextUserMessageDecoder messageDecoder(userData, process());
     if (!decoder.decode(messageDecoder))
         return;
 
-    m_pageClient.didPerformActionMenuHitTest(result, userData.get());
+    m_pageClient.didPerformActionMenuHitTest(result, forImmediateAction, userData.get());
 }
 
 void WebPageProxy::setShouldDispatchFakeMouseMoveEvents(bool shouldDispatchFakeMouseMoveEvents)

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.h (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.h	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.h	2014-12-19 02:56:59 UTC (rev 177557)
@@ -1303,7 +1303,7 @@
     void viewDidLeaveWindow();
     void viewDidEnterWindow();
 
-    void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, IPC::MessageDecoder&);
+    void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, bool forImmediateAction, IPC::MessageDecoder&);
 
     PageClient& m_pageClient;
     std::unique_ptr<API::LoaderClient> m_loaderClient;

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/WebPageProxy.messages.in	2014-12-19 02:56:59 UTC (rev 177557)
@@ -411,5 +411,5 @@
     ContentFilterDidBlockLoadForFrame(WebCore::ContentFilter contentFilter, uint64_t frameID)
 #endif
 
-    DidPerformActionMenuHitTest(WebKit::ActionMenuHitTestResult result, WebKit::InjectedBundleUserMessageEncoder userData) Variadic
+    DidPerformActionMenuHitTest(WebKit::ActionMenuHitTestResult result, bool forImmediateAction, WebKit::InjectedBundleUserMessageEncoder userData) Variadic
 }

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.h	2014-12-19 02:56:59 UTC (rev 177557)
@@ -187,7 +187,7 @@
     virtual void didSameDocumentNavigationForMainFrame(SameDocumentNavigationType) override;
     virtual void removeNavigationGestureSnapshot() override;
 
-    virtual void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, API::Object*) override;
+    virtual void didPerformActionMenuHitTest(const ActionMenuHitTestResult&, bool forImmediateAction, API::Object*) override;
     virtual void showPlatformContextMenu(NSMenu *, WebCore::IntPoint) override;
 
     WKView *m_wkView;

Modified: branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/UIProcess/mac/PageClientImpl.mm	2014-12-19 02:56:59 UTC (rev 177557)
@@ -771,10 +771,10 @@
     return [windowContentLayer convertRect:layer.bounds fromLayer:layer];
 }
 
-void PageClientImpl::didPerformActionMenuHitTest(const ActionMenuHitTestResult& result, API::Object* userData)
+void PageClientImpl::didPerformActionMenuHitTest(const ActionMenuHitTestResult& result, bool forImmediateAction, API::Object* userData)
 {
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000
-    [m_wkView _didPerformActionMenuHitTest:result userData:userData];
+    [m_wkView _didPerformActionMenuHitTest:result forImmediateAction:forImmediateAction userData:userData];
 #endif
 }
 

Modified: branches/safari-600.3-branch/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm (177556 => 177557)


--- branches/safari-600.3-branch/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm	2014-12-19 02:56:56 UTC (rev 177556)
+++ branches/safari-600.3-branch/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm	2014-12-19 02:56:59 UTC (rev 177557)
@@ -986,7 +986,7 @@
 
     MainFrame& mainFrame = corePage()->mainFrame();
     if (!mainFrame.view() || !mainFrame.view()->renderView()) {
-        send(Messages::WebPageProxy::DidPerformActionMenuHitTest(ActionMenuHitTestResult(), InjectedBundleUserMessageEncoder(nullptr)));
+        send(Messages::WebPageProxy::DidPerformActionMenuHitTest(ActionMenuHitTestResult(), forImmediateAction, InjectedBundleUserMessageEncoder(nullptr)));
         return;
     }
 
@@ -1077,7 +1077,7 @@
     RefPtr<InjectedBundleHitTestResult> injectedBundleHitTestResult = InjectedBundleHitTestResult::create(hitTestResult);
     injectedBundleContextMenuClient().prepareForActionMenu(this, injectedBundleHitTestResult.get(), userData);
 
-    send(Messages::WebPageProxy::DidPerformActionMenuHitTest(actionMenuResult, InjectedBundleUserMessageEncoder(userData.get())));
+    send(Messages::WebPageProxy::DidPerformActionMenuHitTest(actionMenuResult, forImmediateAction, InjectedBundleUserMessageEncoder(userData.get())));
 }
 
 PassRefPtr<WebCore::Range> WebPage::lookupTextAtLocation(FloatPoint locationInViewCooordinates, NSDictionary **options)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to