Changeset 162672 in webkit


Ignore:
Timestamp:
Jan 23, 2014 6:08:34 PM (10 years ago)
Author:
andersca@apple.com
Message:

Simplify API::PolicyClient management
https://bugs.webkit.org/show_bug.cgi?id=127529

Reviewed by Tim Horton.

Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
always create a policy client, even if the policy object set is null. That way we don't have to null
check the policy client everywhere.

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):
(API::PolicyClient::unableToImplementPolicy):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setPolicyClient):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::unableToImplementPolicy):

Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r162671 r162672  
     12014-01-23  Anders Carlsson  <andersca@apple.com>
     2
     3        Simplify API::PolicyClient management
     4        https://bugs.webkit.org/show_bug.cgi?id=127529
     5
     6        Reviewed by Tim Horton.
     7
     8        Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
     9        always create a policy client, even if the policy object set is null. That way we don't have to null
     10        check the policy client everywhere.
     11
     12        * UIProcess/API/APIPolicyClient.h:
     13        (API::PolicyClient::decidePolicyForNavigationAction):
     14        (API::PolicyClient::decidePolicyForNewWindowAction):
     15        (API::PolicyClient::decidePolicyForResponse):
     16        (API::PolicyClient::unableToImplementPolicy):
     17        * UIProcess/WebPageProxy.cpp:
     18        (WebKit::WebPageProxy::setPolicyClient):
     19        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
     20        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
     21        (WebKit::WebPageProxy::decidePolicyForResponse):
     22        (WebKit::WebPageProxy::unableToImplementPolicy):
     23
    1242014-01-23  Simon Fraser  <simon.fraser@apple.com>
    225
  • trunk/Source/WebKit2/UIProcess/API/APIPolicyClient.h

    r162639 r162672  
    2828
    2929#include "WebEvent.h"
     30#include "WebFramePolicyListenerProxy.h"
    3031#include <WebCore/FrameLoaderTypes.h>
    3132#include <wtf/Forward.h>
     
    5051    virtual ~PolicyClient() { }
    5152
    52     virtual void decidePolicyForNavigationAction(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, WebCore::NavigationType, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button, WebKit::WebFrameProxy* originatingFrame, const WebCore::ResourceRequest& originalRequest, const WebCore::ResourceRequest&, WebKit::WebFramePolicyListenerProxy*, API::Object* userData) = 0;
    53     virtual void decidePolicyForNewWindowAction(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, WebCore::NavigationType, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button, const WebCore::ResourceRequest&, const WTF::String& frameName, WebKit::WebFramePolicyListenerProxy*, API::Object* userData) = 0;
    54     virtual void decidePolicyForResponse(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, WebKit::WebFramePolicyListenerProxy*, API::Object* userData) = 0;
    55     virtual void unableToImplementPolicy(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceError&, API::Object* userData) = 0;
     53    virtual void decidePolicyForNavigationAction(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, WebCore::NavigationType, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button, WebKit::WebFrameProxy* originatingFrame, const WebCore::ResourceRequest& originalRequest, const WebCore::ResourceRequest&, WebKit::WebFramePolicyListenerProxy* listener, API::Object* userData) { listener->use(); }
     54    virtual void decidePolicyForNewWindowAction(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, WebCore::NavigationType, WebKit::WebEvent::Modifiers, WebKit::WebMouseEvent::Button, const WebCore::ResourceRequest&, const WTF::String& frameName, WebKit::WebFramePolicyListenerProxy* listener, API::Object* userData) { listener->use(); }
     55    virtual void decidePolicyForResponse(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, WebKit::WebFramePolicyListenerProxy* listener, API::Object* userData) { listener->use(); }
     56    virtual void unableToImplementPolicy(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, const WebCore::ResourceError&, API::Object* userData) { }
    5657};
    5758
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r162670 r162672  
    408408void WebPageProxy::setPolicyClient(std::unique_ptr<API::PolicyClient> policyClient)
    409409{
     410    if (!policyClient) {
     411        m_policyClient = std::make_unique<API::PolicyClient>();
     412        return;
     413    }
     414
    410415    m_policyClient = std::move(policyClient);
    411416}
     
    24622467    m_syncNavigationActionPolicyActionIsValid = false;
    24632468
    2464     if (!m_policyClient)
    2465         listener->use();
    2466     else
    2467         m_policyClient->decidePolicyForNavigationAction(this, frame, navigationType, modifiers, mouseButton, originatingFrame, originalRequest, request, listener.get(), userData.get());
     2469    m_policyClient->decidePolicyForNavigationAction(this, frame, navigationType, modifiers, mouseButton, originatingFrame, originalRequest, request, listener.get(), userData.get());
    24682470
    24692471    m_inDecidePolicyForNavigationAction = false;
     
    24932495    RefPtr<WebFramePolicyListenerProxy> listener = frame->setUpPolicyListenerProxy(listenerID);
    24942496
    2495     if (!m_policyClient)
    2496         listener->use();
    2497     else
    2498         m_policyClient->decidePolicyForNewWindowAction(this, frame, navigationType, modifiers, mouseButton, request, frameName, listener.get(), userData.get());
     2497    m_policyClient->decidePolicyForNewWindowAction(this, frame, navigationType, modifiers, mouseButton, request, frameName, listener.get(), userData.get());
    24992498}
    25002499
     
    25132512    RefPtr<WebFramePolicyListenerProxy> listener = frame->setUpPolicyListenerProxy(listenerID);
    25142513
    2515     if (!m_policyClient)
    2516         listener->use();
    2517     else
    2518         m_policyClient->decidePolicyForResponse(this, frame, response, request, canShowMIMEType, listener.get(), userData.get());
     2514    m_policyClient->decidePolicyForResponse(this, frame, response, request, canShowMIMEType, listener.get(), userData.get());
    25192515}
    25202516
     
    25502546    MESSAGE_CHECK(frame);
    25512547
    2552     if (m_policyClient)
    2553         m_policyClient->unableToImplementPolicy(this, frame, error, userData.get());
     2548    m_policyClient->unableToImplementPolicy(this, frame, error, userData.get());
    25542549}
    25552550
Note: See TracChangeset for help on using the changeset viewer.