Skip to content
  • weinig@apple.com's avatar
    WebKit2 needs to pass the current event modifier flags when requesting a new window · 140e06f0
    weinig@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=48140
    
    Reviewed by Anders Carlsson.
    
    WebCore: 
    
    Store the NavigationAction used for the newWindowPolicyDecision in the PolicyCallback
    so that it can be used after the decision has been made in further callbacks.
    
    * WebCore.exp.in: Fix export name for new function signature.
    * loader/EmptyClients.h:
    (WebCore::EmptyChromeClient::createWindow):
    (WebCore::EmptyFrameLoaderClient::dispatchCreatePage):
    * loader/FrameLoader.cpp:
    (WebCore::FrameLoader::callContinueLoadAfterNewWindowPolicy):
    (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
    (WebCore::createWindow):
    * loader/FrameLoader.h:
    * loader/FrameLoaderClient.h:
    * loader/PolicyCallback.cpp:
    (WebCore::PolicyCallback::set):
    (WebCore::PolicyCallback::call):
    (WebCore::PolicyCallback::cancel):
    * loader/PolicyCallback.h:
    * loader/PolicyChecker.cpp:
    (WebCore::PolicyChecker::checkNewWindowPolicy):
    * page/Chrome.cpp:
    (WebCore::Chrome::createWindow):
    * page/Chrome.h:
    * page/ChromeClient.h:
    * page/ContextMenuController.cpp:
    (WebCore::openNewWindow):
    
    WebKit/chromium: 
    
    * src/ChromeClientImpl.cpp:
    (WebKit::ChromeClientImpl::createWindow):
    * src/ChromeClientImpl.h:
    * src/FrameLoaderClientImpl.cpp:
    (WebKit::FrameLoaderClientImpl::dispatchCreatePage):
    * src/FrameLoaderClientImpl.h:
    Add NavigationAction parameter.
    
    WebKit/efl: 
    
    * WebCoreSupport/ChromeClientEfl.cpp:
    (WebCore::ChromeClientEfl::createWindow):
    * WebCoreSupport/ChromeClientEfl.h:
    * WebCoreSupport/FrameLoaderClientEfl.cpp:
    (WebCore::FrameLoaderClientEfl::dispatchCreatePage):
    * WebCoreSupport/FrameLoaderClientEfl.h:
    Add NavigationAction parameter.
    
    WebKit/gtk: 
    
    * WebCoreSupport/ChromeClientGtk.cpp:
    (WebKit::ChromeClient::createWindow):
    * WebCoreSupport/ChromeClientGtk.h:
    * WebCoreSupport/FrameLoaderClientGtk.cpp:
    (WebKit::FrameLoaderClient::dispatchCreatePage):
    * WebCoreSupport/FrameLoaderClientGtk.h:
    Add NavigationAction parameter.
    
    WebKit/haiku: 
    
    * WebCoreSupport/ChromeClientHaiku.cpp:
    (WebCore::ChromeClientHaiku::createWindow):
    * WebCoreSupport/ChromeClientHaiku.h:
    * WebCoreSupport/FrameLoaderClientHaiku.cpp:
    (WebCore::FrameLoaderClientHaiku::dispatchCreatePage):
    * WebCoreSupport/FrameLoaderClientHaiku.h:
    Add NavigationAction parameter.
    
    WebKit/mac: 
    
    * WebCoreSupport/WebChromeClient.h:
    * WebCoreSupport/WebChromeClient.mm:
    (WebChromeClient::createWindow):
    * WebCoreSupport/WebFrameLoaderClient.h:
    * WebCoreSupport/WebFrameLoaderClient.mm:
    (WebFrameLoaderClient::dispatchCreatePage):
    Add NavigationAction parameter.
    
    WebKit/qt: 
    
    * Api/qwebpage.cpp:
    (openNewWindow):
    * WebCoreSupport/ChromeClientQt.cpp:
    (WebCore::ChromeClientQt::createWindow):
    * WebCoreSupport/ChromeClientQt.h:
    * WebCoreSupport/FrameLoaderClientQt.cpp:
    (WebCore::FrameLoaderClientQt::dispatchCreatePage):
    * WebCoreSupport/FrameLoaderClientQt.h:
    Add NavigationAction parameter.
    
    WebKit/win: 
    
    * WebCoreSupport/WebChromeClient.cpp:
    (WebChromeClient::createWindow):
    * WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebFrameLoaderClient::dispatchCreatePage):
    * WebCoreSupport/WebFrameLoaderClient.h:
    Add NavigationAction parameter.
    
    WebKit/wince: 
    
    * WebCoreSupport/ChromeClientWinCE.cpp:
    (WebKit::ChromeClientWinCE::createWindow):
    * WebCoreSupport/ChromeClientWinCE.h:
    * WebCoreSupport/FrameLoaderClientWinCE.cpp:
    (WebKit::FrameLoaderClientWinCE::dispatchCreatePage):
    * WebCoreSupport/FrameLoaderClientWinCE.h:
    Add NavigationAction parameter.
    
    WebKit/wx: 
    
    * WebKitSupport/ChromeClientWx.cpp:
    (WebCore::ChromeClientWx::createWindow):
    * WebKitSupport/ChromeClientWx.h:
    * WebKitSupport/FrameLoaderClientWx.cpp:
    (WebCore::FrameLoaderClientWx::dispatchCreatePage):
    * WebKitSupport/FrameLoaderClientWx.h:
    Add NavigationAction parameter.
    
    WebKit2: 
    
    In addition to passing modifier flags from the now passed NavigationAction, also pass
    the WindowFeatures to the UIProcess.
    
    * Platform/CoreIPC/HandleMessage.h:
    (CoreIPC::callMemberFunction):
    * Shared/WebCoreArgumentCoders.h:
    * Shared/WebEvent.h:
    (WebKit::WebEvent::modifiers):
    * UIProcess/API/C/WKPage.h:
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::createNewPage):
    * UIProcess/WebPageProxy.h:
    * UIProcess/WebPageProxy.messages.in:
    * UIProcess/WebUIClient.cpp:
    (WebKit::WebUIClient::createNewPage):
    * UIProcess/WebUIClient.h:
    * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::createWindow):
    * WebProcess/WebCoreSupport/WebChromeClient.h:
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::dispatchCreatePage):
    (WebKit::modifiersForNavigationAction):
    (WebKit::mouseButtonForNavigationAction):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    
    WebKitTools: 
    
    * MiniBrowser/mac/BrowserWindowController.m:
    (createNewPage):
    * WebKitTestRunner/TestController.cpp:
    (WTR::createOtherPage):
    Update for new signature for the WKPageCreateNewPageCallback.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    140e06f0