Changeset 166265 in webkit


Ignore:
Timestamp:
Mar 25, 2014 4:20:14 PM (10 years ago)
Author:
andersca@apple.com
Message:

Pass the source frame to the CreateNewPage message
https://bugs.webkit.org/show_bug.cgi?id=130752

Reviewed by Tim Horton.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::createNewPage):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::createNewPage):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow):

Location:
trunk/Source/WebKit2
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r166262 r166265  
     12014-03-25  Anders Carlsson  <andersca@apple.com>
     2
     3        Pass the source frame to the CreateNewPage message
     4        https://bugs.webkit.org/show_bug.cgi?id=130752
     5
     6        Reviewed by Tim Horton.
     7
     8        * UIProcess/API/APIUIClient.h:
     9        (API::UIClient::createNewPage):
     10        * UIProcess/API/C/WKPage.cpp:
     11        (WKPageSetPageUIClient):
     12        * UIProcess/WebPageProxy.cpp:
     13        (WebKit::WebPageProxy::createNewPage):
     14        * UIProcess/WebPageProxy.h:
     15        * UIProcess/WebPageProxy.messages.in:
     16        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
     17        (WebKit::WebChromeClient::createWindow):
     18
    1192014-03-25  Anders Carlsson  <andersca@apple.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/APIUIClient.h

    r165794 r166265  
    6363    virtual ~UIClient() { }
    6464
    65     virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button) { return nullptr; }
     65    virtual PassRefPtr<WebKit::WebPageProxy> createNewPage(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button) { return nullptr; }
    6666    virtual void showPage(WebKit::WebPageProxy*) { }
    6767    virtual void close(WebKit::WebPageProxy*) { }
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r165846 r166265  
    10861086
    10871087    private:
    1088         virtual PassRefPtr<WebPageProxy> createNewPage(WebPageProxy* page, const ResourceRequest& resourceRequest, const WindowFeatures& windowFeatures, WebEvent::Modifiers modifiers, WebMouseEvent::Button button) override
     1088        virtual PassRefPtr<WebPageProxy> createNewPage(WebPageProxy* page, WebFrameProxy*, const ResourceRequest& resourceRequest, const WindowFeatures& windowFeatures, WebEvent::Modifiers modifiers, WebMouseEvent::Button button) override
    10891089        {
    10901090            if (!m_client.base.version && !m_client.createNewPage_deprecatedForUseWithV0)
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r166026 r166265  
    26592659// UIClient
    26602660
    2661 void WebPageProxy::createNewPage(const ResourceRequest& request, const WindowFeatures& windowFeatures, uint32_t opaqueModifiers, int32_t opaqueMouseButton, uint64_t& newPageID, WebPageCreationParameters& newPageParameters)
    2662 {
    2663     RefPtr<WebPageProxy> newPage = m_uiClient->createNewPage(this, request, windowFeatures, static_cast<WebEvent::Modifiers>(opaqueModifiers), static_cast<WebMouseEvent::Button>(opaqueMouseButton));
     2661void WebPageProxy::createNewPage(uint64_t frameID, const ResourceRequest& request, const WindowFeatures& windowFeatures, uint32_t opaqueModifiers, int32_t opaqueMouseButton, uint64_t& newPageID, WebPageCreationParameters& newPageParameters)
     2662{
     2663    WebFrameProxy* frame = m_process->webFrame(frameID);
     2664    MESSAGE_CHECK(frame);
     2665
     2666    RefPtr<WebPageProxy> newPage = m_uiClient->createNewPage(this, frame, request, windowFeatures, static_cast<WebEvent::Modifiers>(opaqueModifiers), static_cast<WebMouseEvent::Button>(opaqueMouseButton));
    26642667    if (!newPage) {
    26652668        newPageID = 0;
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r166257 r166265  
    11101110
    11111111    // UI client
    1112     void createNewPage(const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, uint32_t modifiers, int32_t mouseButton, uint64_t& newPageID, WebPageCreationParameters&);
     1112    void createNewPage(uint64_t frameID, const WebCore::ResourceRequest&, const WebCore::WindowFeatures&, uint32_t modifiers, int32_t mouseButton, uint64_t& newPageID, WebPageCreationParameters&);
    11131113    void showPage();
    11141114    void closePage(bool stopResponsivenessTimer);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in

    r166257 r166265  
    2323messages -> WebPageProxy {
    2424    # UI messages
    25     CreateNewPage(WebCore::ResourceRequest request, WebCore::WindowFeatures windowFeatures, uint32_t modifiers, int32_t mouseButton) -> (uint64_t newPageID, WebKit::WebPageCreationParameters newPageParameters)
     25    CreateNewPage(uint64_t frameID, WebCore::ResourceRequest request, WebCore::WindowFeatures windowFeatures, uint32_t modifiers, int32_t mouseButton) -> (uint64_t newPageID, WebKit::WebPageCreationParameters newPageParameters)
    2626    ShowPage()
    2727    ClosePage(bool stopResponsivenessTimer)
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp

    r166262 r166265  
    204204    if (frame->document() && frame->document()->webkitCurrentFullScreenElement())
    205205        frame->document()->webkitCancelFullScreen();
    206 #else
    207     UNUSED_PARAM(frame);
    208 #endif
     206#endif
     207
     208    WebFrame* webFrame = WebFrame::fromCoreFrame(*frame);
    209209
    210210    uint64_t newPageID = 0;
    211211    WebPageCreationParameters parameters;
    212     if (!WebProcess::shared().parentProcessConnection()->sendSync(Messages::WebPageProxy::CreateNewPage(request.resourceRequest(), windowFeatures, modifiers, mouseButton), Messages::WebPageProxy::CreateNewPage::Reply(newPageID, parameters), m_page->pageID()))
     212    if (!WebProcess::shared().parentProcessConnection()->sendSync(Messages::WebPageProxy::CreateNewPage(webFrame->frameID(), request.resourceRequest(), windowFeatures, modifiers, mouseButton), Messages::WebPageProxy::CreateNewPage::Reply(newPageID, parameters), m_page->pageID()))
    213213        return 0;
    214214
Note: See TracChangeset for help on using the changeset viewer.