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)