Changeset 162672 in webkit
- Timestamp:
- Jan 23, 2014 6:08:34 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r162671 r162672 1 2014-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 1 24 2014-01-23 Simon Fraser <simon.fraser@apple.com> 2 25 -
trunk/Source/WebKit2/UIProcess/API/APIPolicyClient.h
r162639 r162672 28 28 29 29 #include "WebEvent.h" 30 #include "WebFramePolicyListenerProxy.h" 30 31 #include <WebCore/FrameLoaderTypes.h> 31 32 #include <wtf/Forward.h> … … 50 51 virtual ~PolicyClient() { } 51 52 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) { } 56 57 }; 57 58 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r162670 r162672 408 408 void WebPageProxy::setPolicyClient(std::unique_ptr<API::PolicyClient> policyClient) 409 409 { 410 if (!policyClient) { 411 m_policyClient = std::make_unique<API::PolicyClient>(); 412 return; 413 } 414 410 415 m_policyClient = std::move(policyClient); 411 416 } … … 2462 2467 m_syncNavigationActionPolicyActionIsValid = false; 2463 2468 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()); 2468 2470 2469 2471 m_inDecidePolicyForNavigationAction = false; … … 2493 2495 RefPtr<WebFramePolicyListenerProxy> listener = frame->setUpPolicyListenerProxy(listenerID); 2494 2496 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()); 2499 2498 } 2500 2499 … … 2513 2512 RefPtr<WebFramePolicyListenerProxy> listener = frame->setUpPolicyListenerProxy(listenerID); 2514 2513 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()); 2519 2515 } 2520 2516 … … 2550 2546 MESSAGE_CHECK(frame); 2551 2547 2552 if (m_policyClient) 2553 m_policyClient->unableToImplementPolicy(this, frame, error, userData.get()); 2548 m_policyClient->unableToImplementPolicy(this, frame, error, userData.get()); 2554 2549 } 2555 2550
Note: See TracChangeset
for help on using the changeset viewer.