Changeset 162670 in webkit
- Timestamp:
- Jan 23, 2014 6:00:12 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r162667 r162670 1 2014-01-23 Anders Carlsson <andersca@apple.com> 2 3 Add an APILoaderClient base class 4 https://bugs.webkit.org/show_bug.cgi?id=127527 5 6 Reviewed by Tim Horton. 7 8 * UIProcess/API/APILoaderClient.h: Added. 9 (API::LoaderClient::~LoaderClient): 10 * UIProcess/API/C/WKPage.cpp: 11 (WKPageSetPageLoaderClient): 12 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 13 (setUpPageLoaderClient): 14 (-[WKBrowsingContextController setLoadDelegate:]): 15 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]): 16 * UIProcess/WebLoaderClient.cpp: 17 (WebKit::WebLoaderClient::WebLoaderClient): 18 * UIProcess/WebLoaderClient.h: 19 * UIProcess/WebPageProxy.cpp: 20 (WebKit::WebPageProxy::setLoaderClient): 21 (WebKit::WebPageProxy::close): 22 (WebKit::WebPageProxy::didChangeBackForwardList): 23 (WebKit::WebPageProxy::willGoToBackForwardListItem): 24 (WebKit::WebPageProxy::findPlugin): 25 (WebKit::WebPageProxy::didStartProgress): 26 (WebKit::WebPageProxy::didChangeProgress): 27 (WebKit::WebPageProxy::didFinishProgress): 28 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 29 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 30 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 31 (WebKit::WebPageProxy::didCommitLoadForFrame): 32 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 33 (WebKit::WebPageProxy::didFinishLoadForFrame): 34 (WebKit::WebPageProxy::didFailLoadForFrame): 35 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 36 (WebKit::WebPageProxy::didReceiveTitleForFrame): 37 (WebKit::WebPageProxy::didFirstLayoutForFrame): 38 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 39 (WebKit::WebPageProxy::didLayout): 40 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 41 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 42 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 43 (WebKit::WebPageProxy::didDetectXSSForFrame): 44 (WebKit::WebPageProxy::webGLPolicyForURL): 45 (WebKit::WebPageProxy::processDidBecomeUnresponsive): 46 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): 47 (WebKit::WebPageProxy::processDidBecomeResponsive): 48 (WebKit::WebPageProxy::processDidCrash): 49 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): 50 (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy): 51 (WebKit::WebPageProxy::didFailToInitializePlugin): 52 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 53 * UIProcess/WebPageProxy.h: 54 (WebKit::WebPageProxy::loaderClient): 55 * WebKit2.xcodeproj/project.pbxproj: 56 1 57 2014-01-23 Ryuan Choi <ryuan.choi@samsung.com> 2 58 -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r162639 r162670 34 34 #include "WKPluginInformation.h" 35 35 #include "WebBackForwardList.h" 36 #include "WebLoaderClient.h" 37 #include "WebPageMessages.h" 36 38 #include "WebPageProxy.h" 37 39 #include "WebPolicyClient.h" … … 669 671 void WKPageSetPageLoaderClient(WKPageRef pageRef, const WKPageLoaderClientBase* wkClient) 670 672 { 671 toImpl(pageRef)->initializeLoaderClient(wkClient); 673 WebPageProxy* webPageProxy = toImpl(pageRef); 674 675 auto loaderClient = std::make_unique<WebLoaderClient>(wkClient); 676 677 // It would be nice to get rid of this code and transition all clients to using didLayout instead of 678 // didFirstLayoutInFrame and didFirstVisuallyNonEmptyLayoutInFrame. In the meantime, this is required 679 // for backwards compatibility. 680 WebCore::LayoutMilestones milestones = 0; 681 if (loaderClient->client().didFirstLayoutForFrame) 682 milestones |= WebCore::DidFirstLayout; 683 if (loaderClient->client().didFirstVisuallyNonEmptyLayoutForFrame) 684 milestones |= WebCore::DidFirstVisuallyNonEmptyLayout; 685 686 if (milestones) 687 webPageProxy->process().send(Messages::WebPage::ListenForLayoutMilestones(milestones), webPageProxy->pageID()); 688 689 webPageProxy->setLoaderClient(std::move(loaderClient)); 672 690 } 673 691 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm
r162639 r162670 617 617 loaderClient.didLayout = didLayout; 618 618 619 page.initializeLoaderClient(&loaderClient.base);619 WKPageSetPageLoaderClient(toAPI(&page), &loaderClient.base); 620 620 } 621 621 … … 729 729 setUpPageLoaderClient(self, *_page); 730 730 else 731 _page-> initializeLoaderClient(nullptr);731 _page->setLoaderClient(nullptr); 732 732 } 733 733 … … 808 808 + (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef 809 809 { 810 return (WKBrowsingContextController *) WebKit::toImpl(pageRef)->loaderClient().client().base.clientInfo;810 return (WKBrowsingContextController *)static_cast<const WebLoaderClient*>(WebKit::toImpl(pageRef)->loaderClient())->client().base.clientInfo; 811 811 } 812 812 -
trunk/Source/WebKit2/UIProcess/WebLoaderClient.cpp
r162653 r162670 39 39 namespace WebKit { 40 40 41 WebLoaderClient::WebLoaderClient(const WKPageLoaderClientBase* client) 42 { 43 initialize(client); 44 } 45 41 46 void WebLoaderClient::didStartProvisionalLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) 42 47 { -
trunk/Source/WebKit2/UIProcess/WebLoaderClient.h
r162653 r162670 28 28 29 29 #include "APIClient.h" 30 #include "PluginModuleInfo.h" 31 #include "SameDocumentNavigationType.h" 32 #include "WKPage.h" 33 #include <WebCore/FrameLoaderTypes.h> 34 #include <WebCore/LayoutMilestones.h> 35 #include <wtf/Forward.h> 36 #include <wtf/RefPtr.h> 37 #include <wtf/Vector.h> 30 #include "APILoaderClient.h" 31 #include "WKPageLoaderClient.h" 38 32 39 33 namespace API { … … 59 53 class WebProtectionSpace; 60 54 61 class WebLoaderClient : public API::Client<WKPageLoaderClientBase> {55 class WebLoaderClient : public API::Client<WKPageLoaderClientBase>, public API::LoaderClient { 62 56 public: 63 void didStartProvisionalLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 64 void didReceiveServerRedirectForProvisionalLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 65 void didFailProvisionalLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&, API::Object*); 66 void didCommitLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 67 void didFinishDocumentLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 68 void didFinishLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 69 void didFailLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&, API::Object*); 70 void didSameDocumentNavigationForFrame(WebPageProxy*, WebFrameProxy*, SameDocumentNavigationType, API::Object*); 71 void didReceiveTitleForFrame(WebPageProxy*, const String&, WebFrameProxy*, API::Object*); 72 void didFirstLayoutForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 57 explicit WebLoaderClient(const WKPageLoaderClientBase*); 58 59 private: 60 virtual void didStartProvisionalLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 61 virtual void didReceiveServerRedirectForProvisionalLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*); 62 virtual void didFailProvisionalLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&, API::Object*) override; 63 virtual void didCommitLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 64 virtual void didFinishDocumentLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 65 virtual void didFinishLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 66 virtual void didFailLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&, API::Object*) override; 67 virtual void didSameDocumentNavigationForFrame(WebPageProxy*, WebFrameProxy*, SameDocumentNavigationType, API::Object*) override; 68 virtual void didReceiveTitleForFrame(WebPageProxy*, const WTF::String&, WebFrameProxy*, API::Object*) override; 69 virtual void didFirstLayoutForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 73 70 74 71 // FIXME: We should consider removing didFirstVisuallyNonEmptyLayoutForFrame since it is replaced by didLayout. 75 v oid didFirstVisuallyNonEmptyLayoutForFrame(WebPageProxy*, WebFrameProxy*, API::Object*);72 virtual void didFirstVisuallyNonEmptyLayoutForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 76 73 77 v oid didRemoveFrameFromHierarchy(WebPageProxy*, WebFrameProxy*, API::Object*);78 v oid didDisplayInsecureContentForFrame(WebPageProxy*, WebFrameProxy*, API::Object*);79 v oid didRunInsecureContentForFrame(WebPageProxy*, WebFrameProxy*, API::Object*);80 v oid didDetectXSSForFrame(WebPageProxy*, WebFrameProxy*, API::Object*);74 virtual void didRemoveFrameFromHierarchy(WebPageProxy*, WebFrameProxy*, API::Object*) override; 75 virtual void didDisplayInsecureContentForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 76 virtual void didRunInsecureContentForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 77 virtual void didDetectXSSForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override; 81 78 82 v oid didLayout(WebPageProxy*, WebCore::LayoutMilestones, API::Object*);79 virtual void didLayout(WebPageProxy*, WebCore::LayoutMilestones, API::Object*) override; 83 80 84 bool canAuthenticateAgainstProtectionSpaceInFrame(WebPageProxy*, WebFrameProxy*, WebProtectionSpace*) ;85 v oid didReceiveAuthenticationChallengeInFrame(WebPageProxy*, WebFrameProxy*, AuthenticationChallengeProxy*);81 bool canAuthenticateAgainstProtectionSpaceInFrame(WebPageProxy*, WebFrameProxy*, WebProtectionSpace*) override; 82 virtual void didReceiveAuthenticationChallengeInFrame(WebPageProxy*, WebFrameProxy*, AuthenticationChallengeProxy*) override; 86 83 87 v oid didStartProgress(WebPageProxy*);88 v oid didChangeProgress(WebPageProxy*);89 v oid didFinishProgress(WebPageProxy*);84 virtual void didStartProgress(WebPageProxy*) override; 85 virtual void didChangeProgress(WebPageProxy*) override; 86 virtual void didFinishProgress(WebPageProxy*) override; 90 87 91 88 // FIXME: These three functions should not be part of this client. 92 v oid processDidBecomeUnresponsive(WebPageProxy*);93 v oid interactionOccurredWhileProcessUnresponsive(WebPageProxy*);94 v oid processDidBecomeResponsive(WebPageProxy*);95 v oid processDidCrash(WebPageProxy*);89 virtual void processDidBecomeUnresponsive(WebPageProxy*) override; 90 virtual void interactionOccurredWhileProcessUnresponsive(WebPageProxy*) override; 91 virtual void processDidBecomeResponsive(WebPageProxy*) override; 92 virtual void processDidCrash(WebPageProxy*) override; 96 93 97 v oid didChangeBackForwardList(WebPageProxy*, WebBackForwardListItem* addedItem, Vector<RefPtr<API::Object>>* removedItems);98 v oid willGoToBackForwardListItem(WebPageProxy*, WebBackForwardListItem*, API::Object*);94 virtual void didChangeBackForwardList(WebPageProxy*, WebBackForwardListItem* addedItem, Vector<RefPtr<API::Object>>* removedItems) override; 95 virtual void willGoToBackForwardListItem(WebPageProxy*, WebBackForwardListItem*, API::Object*) override; 99 96 100 97 #if ENABLE(NETSCAPE_PLUGIN_API) 101 PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary*, String& unavailabilityDescription, String& useBlockedPluginTitle);102 v oid didFailToInitializePlugin(WebPageProxy*, ImmutableDictionary*);103 v oid didBlockInsecurePluginVersion(WebPageProxy*, ImmutableDictionary*);98 PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary*, WTF::String& unavailabilityDescription, WTF::String& useBlockedPluginTitle) override; 99 virtual void didFailToInitializePlugin(WebPageProxy*, ImmutableDictionary*) override; 100 virtual void didBlockInsecurePluginVersion(WebPageProxy*, ImmutableDictionary*) override; 104 101 #endif // ENABLE(NETSCAPE_PLUGIN_API) 105 102 106 103 #if ENABLE(WEBGL) 107 WebCore::WebGLLoadPolicy webGLLoadPolicy(WebPageProxy*, const String&) const;104 WebCore::WebGLLoadPolicy webGLLoadPolicy(WebPageProxy*, const WTF::String&) const; 108 105 #endif // ENABLE(WEBGL) 109 106 }; -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r162653 r162670 29 29 30 30 #include "APIArray.h" 31 #include "APILoaderClient.h" 32 #include "APIPolicyClient.h" 31 33 #include "APIURLRequest.h" 32 34 #include "AuthenticationChallengeProxy.h" … … 399 401 } 400 402 401 void WebPageProxy::initializeLoaderClient(const WKPageLoaderClientBase* loadClient) 402 { 403 m_loaderClient.initialize(loadClient); 404 405 if (!loadClient) 406 return; 407 408 // It would be nice to get rid of this code and transition all clients to using didLayout instead of 409 // didFirstLayoutInFrame and didFirstVisuallyNonEmptyLayoutInFrame. In the meantime, this is required 410 // for backwards compatibility. 411 WebCore::LayoutMilestones milestones = 0; 412 if (m_loaderClient.client().didFirstLayoutForFrame) 413 milestones |= WebCore::DidFirstLayout; 414 if (m_loaderClient.client().didFirstVisuallyNonEmptyLayoutForFrame) 415 milestones |= WebCore::DidFirstVisuallyNonEmptyLayout; 416 417 if (milestones) 418 m_process->send(Messages::WebPage::ListenForLayoutMilestones(milestones), m_pageID); 403 void WebPageProxy::setLoaderClient(std::unique_ptr<API::LoaderClient> loaderClient) 404 { 405 m_loaderClient = std::move(loaderClient); 419 406 } 420 407 … … 558 545 resetState(); 559 546 560 m_loaderClient .initialize(0);547 m_loaderClient = nullptr; 561 548 m_policyClient = nullptr; 562 549 m_formClient.initialize(0); … … 831 818 void WebPageProxy::didChangeBackForwardList(WebBackForwardListItem* added, Vector<RefPtr<API::Object>>* removed) 832 819 { 833 m_loaderClient.didChangeBackForwardList(this, added, removed); 820 if (m_loaderClient) 821 m_loaderClient->didChangeBackForwardList(this, added, removed); 834 822 } 835 823 … … 841 829 return; 842 830 843 if (WebBackForwardListItem* item = m_process->webBackForwardItem(itemID)) 844 m_loaderClient.willGoToBackForwardListItem(this, item, userData.get()); 831 if (WebBackForwardListItem* item = m_process->webBackForwardItem(itemID)) { 832 if (m_loaderClient) 833 m_loaderClient->willGoToBackForwardListItem(this, item, userData.get()); 834 } 845 835 } 846 836 … … 1337 1327 #if PLATFORM(MAC) 1338 1328 RefPtr<ImmutableDictionary> pluginInformation = createPluginInformationDictionary(plugin, frameURLString, String(), pageURLString, String(), String()); 1339 pluginLoadPolicy = m_loaderClient.pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription, useBlockedPluginTitle); 1329 if (m_loaderClient) 1330 pluginLoadPolicy = m_loaderClient->pluginLoadPolicy(this, static_cast<PluginModuleLoadPolicy>(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription, useBlockedPluginTitle); 1340 1331 #else 1341 1332 UNUSED_PARAM(frameURLString); … … 2073 2064 2074 2065 m_pageLoadState.commitChanges(); 2075 m_loaderClient.didStartProgress(this); 2066 if (m_loaderClient) 2067 m_loaderClient->didStartProgress(this); 2076 2068 } 2077 2069 … … 2082 2074 2083 2075 m_pageLoadState.commitChanges(); 2084 m_loaderClient.didChangeProgress(this); 2076 if (m_loaderClient) 2077 m_loaderClient->didChangeProgress(this); 2085 2078 } 2086 2079 … … 2091 2084 2092 2085 m_pageLoadState.commitChanges(); 2093 m_loaderClient.didFinishProgress(this); 2086 if (m_loaderClient) 2087 m_loaderClient->didFinishProgress(this); 2094 2088 } 2095 2089 … … 2116 2110 2117 2111 m_pageLoadState.commitChanges(); 2118 m_loaderClient.didStartProvisionalLoadForFrame(this, frame, userData.get()); 2112 if (m_loaderClient) 2113 m_loaderClient->didStartProvisionalLoadForFrame(this, frame, userData.get()); 2119 2114 } 2120 2115 … … 2138 2133 2139 2134 m_pageLoadState.commitChanges(); 2140 m_loaderClient.didReceiveServerRedirectForProvisionalLoadForFrame(this, frame, userData.get()); 2135 if (m_loaderClient) 2136 m_loaderClient->didReceiveServerRedirectForProvisionalLoadForFrame(this, frame, userData.get()); 2141 2137 } 2142 2138 … … 2159 2155 2160 2156 m_pageLoadState.commitChanges(); 2161 m_loaderClient.didFailProvisionalLoadWithErrorForFrame(this, frame, error, userData.get()); 2157 if (m_loaderClient) 2158 m_loaderClient->didFailProvisionalLoadWithErrorForFrame(this, frame, error, userData.get()); 2162 2159 } 2163 2160 … … 2212 2209 2213 2210 m_pageLoadState.commitChanges(); 2214 m_loaderClient.didCommitLoadForFrame(this, frame, userData.get()); 2211 if (m_loaderClient) 2212 m_loaderClient->didCommitLoadForFrame(this, frame, userData.get()); 2215 2213 } 2216 2214 … … 2225 2223 MESSAGE_CHECK(frame); 2226 2224 2227 m_loaderClient.didFinishDocumentLoadForFrame(this, frame, userData.get()); 2225 if (m_loaderClient) 2226 m_loaderClient->didFinishDocumentLoadForFrame(this, frame, userData.get()); 2228 2227 } 2229 2228 … … 2246 2245 2247 2246 m_pageLoadState.commitChanges(); 2248 m_loaderClient.didFinishLoadForFrame(this, frame, userData.get()); 2247 if (m_loaderClient) 2248 m_loaderClient->didFinishLoadForFrame(this, frame, userData.get()); 2249 2249 } 2250 2250 … … 2269 2269 2270 2270 m_pageLoadState.commitChanges(); 2271 m_loaderClient.didFailLoadWithErrorForFrame(this, frame, error, userData.get()); 2271 if (m_loaderClient) 2272 m_loaderClient->didFailLoadWithErrorForFrame(this, frame, error, userData.get()); 2272 2273 } 2273 2274 … … 2292 2293 2293 2294 m_pageLoadState.commitChanges(); 2294 m_loaderClient.didSameDocumentNavigationForFrame(this, frame, static_cast<SameDocumentNavigationType>(opaqueSameDocumentNavigationType), userData.get()); 2295 if (m_loaderClient) 2296 m_loaderClient->didSameDocumentNavigationForFrame(this, frame, static_cast<SameDocumentNavigationType>(opaqueSameDocumentNavigationType), userData.get()); 2295 2297 } 2296 2298 … … 2313 2315 2314 2316 m_pageLoadState.commitChanges(); 2315 m_loaderClient.didReceiveTitleForFrame(this, title, frame, userData.get()); 2317 if (m_loaderClient) 2318 m_loaderClient->didReceiveTitleForFrame(this, title, frame, userData.get()); 2316 2319 } 2317 2320 … … 2326 2329 MESSAGE_CHECK(frame); 2327 2330 2328 m_loaderClient.didFirstLayoutForFrame(this, frame, userData.get()); 2331 if (m_loaderClient) 2332 m_loaderClient->didFirstLayoutForFrame(this, frame, userData.get()); 2329 2333 } 2330 2334 … … 2339 2343 MESSAGE_CHECK(frame); 2340 2344 2341 m_loaderClient.didFirstVisuallyNonEmptyLayoutForFrame(this, frame, userData.get()); 2345 if (m_loaderClient) 2346 m_loaderClient->didFirstVisuallyNonEmptyLayoutForFrame(this, frame, userData.get()); 2342 2347 } 2343 2348 … … 2349 2354 return; 2350 2355 2351 m_loaderClient.didLayout(this, static_cast<LayoutMilestones>(layoutMilestones), userData.get()); 2356 if (m_loaderClient) 2357 m_loaderClient->didLayout(this, static_cast<LayoutMilestones>(layoutMilestones), userData.get()); 2352 2358 } 2353 2359 … … 2362 2368 MESSAGE_CHECK(frame); 2363 2369 2364 m_loaderClient.didRemoveFrameFromHierarchy(this, frame, userData.get()); 2370 if (m_loaderClient) 2371 m_loaderClient->didRemoveFrameFromHierarchy(this, frame, userData.get()); 2365 2372 } 2366 2373 … … 2379 2386 2380 2387 m_pageLoadState.commitChanges(); 2381 m_loaderClient.didDisplayInsecureContentForFrame(this, frame, userData.get()); 2388 if (m_loaderClient) 2389 m_loaderClient->didDisplayInsecureContentForFrame(this, frame, userData.get()); 2382 2390 } 2383 2391 … … 2396 2404 2397 2405 m_pageLoadState.commitChanges(); 2398 m_loaderClient.didRunInsecureContentForFrame(this, frame, userData.get()); 2406 if (m_loaderClient) 2407 m_loaderClient->didRunInsecureContentForFrame(this, frame, userData.get()); 2399 2408 } 2400 2409 … … 2409 2418 MESSAGE_CHECK(frame); 2410 2419 2411 m_loaderClient.didDetectXSSForFrame(this, frame, userData.get()); 2420 if (m_loaderClient) 2421 m_loaderClient->didDetectXSSForFrame(this, frame, userData.get()); 2412 2422 } 2413 2423 … … 2700 2710 void WebPageProxy::webGLPolicyForURL(const String& url, uint32_t& loadPolicy) 2701 2711 { 2702 loadPolicy = static_cast<uint32_t>(m_loaderClient.webGLLoadPolicy(this, url)); 2712 if (!m_loaderClient) 2713 loadPolicy = WebGLAllow; 2714 else 2715 loadPolicy = static_cast<uint32_t>(m_loaderClient->webGLLoadPolicy(this, url)); 2703 2716 } 2704 2717 #endif // ENABLE(WEBGL) … … 3730 3743 updateBackingStoreDiscardableState(); 3731 3744 3732 m_loaderClient.processDidBecomeUnresponsive(this); 3745 if (m_loaderClient) 3746 m_loaderClient->processDidBecomeUnresponsive(this); 3733 3747 } 3734 3748 … … 3738 3752 return; 3739 3753 3740 m_loaderClient.interactionOccurredWhileProcessUnresponsive(this); 3754 if (m_loaderClient) 3755 m_loaderClient->interactionOccurredWhileProcessUnresponsive(this); 3741 3756 } 3742 3757 … … 3748 3763 updateBackingStoreDiscardableState(); 3749 3764 3750 m_loaderClient.processDidBecomeResponsive(this); 3765 if (m_loaderClient) 3766 m_loaderClient->processDidBecomeResponsive(this); 3751 3767 } 3752 3768 … … 3763 3779 m_pageClient.processDidCrash(); 3764 3780 3765 m_loaderClient.processDidCrash(this); 3781 if (m_loaderClient) 3782 m_loaderClient->processDidCrash(this); 3766 3783 } 3767 3784 … … 3961 3978 3962 3979 RefPtr<WebProtectionSpace> protectionSpace = WebProtectionSpace::create(coreProtectionSpace); 3963 3964 canAuthenticate = m_loaderClient.canAuthenticateAgainstProtectionSpaceInFrame(this, frame, protectionSpace.get()); 3980 3981 if (!m_loaderClient) 3982 canAuthenticate = false; 3983 else 3984 canAuthenticate = m_loaderClient->canAuthenticateAgainstProtectionSpaceInFrame(this, frame, protectionSpace.get()); 3965 3985 } 3966 3986 … … 3978 3998 3979 3999 RefPtr<AuthenticationChallengeProxy> authenticationChallenge = prpAuthenticationChallenge; 3980 m_loaderClient.didReceiveAuthenticationChallengeInFrame(this, frame, authenticationChallenge.get()); 4000 if (m_loaderClient) 4001 m_loaderClient->didReceiveAuthenticationChallengeInFrame(this, frame, authenticationChallenge.get()); 3981 4002 } 3982 4003 … … 4136 4157 void WebPageProxy::didFailToInitializePlugin(const String& mimeType, const String& frameURLString, const String& pageURLString) 4137 4158 { 4138 m_loaderClient.didFailToInitializePlugin(this, createPluginInformationDictionary(mimeType, frameURLString, pageURLString).get()); 4159 if (m_loaderClient) 4160 m_loaderClient->didFailToInitializePlugin(this, createPluginInformationDictionary(mimeType, frameURLString, pageURLString).get()); 4139 4161 } 4140 4162 … … 4155 4177 #endif 4156 4178 4157 m_loaderClient.didBlockInsecurePluginVersion(this, pluginInformation.get()); 4179 if (m_loaderClient) 4180 m_loaderClient->didBlockInsecurePluginVersion(this, pluginInformation.get()); 4158 4181 } 4159 4182 #endif // ENABLE(NETSCAPE_PLUGIN_API) -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r162653 r162670 28 28 29 29 #include "APIObject.h" 30 #include "APIPolicyClient.h"31 30 #include "APISession.h" 32 31 #include "AutoCorrectionCallback.h" … … 101 100 102 101 namespace API { 102 class LoaderClient; 103 class PolicyClient; 103 104 class URLRequest; 104 105 } … … 368 369 void initializeFindMatchesClient(const WKPageFindMatchesClientBase*); 369 370 void initializeFormClient(const WKPageFormClientBase*); 370 void initializeLoaderClient(const WKPageLoaderClientBase*);371 void setLoaderClient(std::unique_ptr<API::LoaderClient>); 371 372 void setPolicyClient(std::unique_ptr<API::PolicyClient>); 372 373 void initializeUIClient(const WKPageUIClientBase*); … … 834 835 #endif 835 836 836 const WebLoaderClient& loaderClient() { return m_loaderClient; }837 const API::LoaderClient* loaderClient() { return m_loaderClient.get(); } 837 838 838 839 WebCore::IntSize minimumLayoutSize() const { return m_minimumLayoutSize; } … … 1163 1164 1164 1165 PageClient& m_pageClient; 1165 WebLoaderClientm_loaderClient;1166 std::unique_ptr<API::LoaderClient> m_loaderClient; 1166 1167 std::unique_ptr<API::PolicyClient> m_policyClient; 1167 1168 WebFormClient m_formClient; -
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
r162650 r162670 113 113 1A232902162C867300D82F7A /* MessageDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A232900162C867300D82F7A /* MessageDecoder.cpp */; }; 114 114 1A232903162C867300D82F7A /* MessageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A232901162C867300D82F7A /* MessageDecoder.h */; }; 115 1A2464F31891E45100234C5B /* APILoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2464F21891E45100234C5B /* APILoaderClient.h */; }; 115 116 1A24B5F211F531E800C38269 /* MachUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A24B5F011F531E800C38269 /* MachUtilities.cpp */; }; 116 117 1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A24B5F111F531E800C38269 /* MachUtilities.h */; }; … … 1737 1738 1A232900162C867300D82F7A /* MessageDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessageDecoder.cpp; sourceTree = "<group>"; }; 1738 1739 1A232901162C867300D82F7A /* MessageDecoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MessageDecoder.h; sourceTree = "<group>"; }; 1740 1A2464F21891E45100234C5B /* APILoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APILoaderClient.h; sourceTree = "<group>"; }; 1739 1741 1A24B5F011F531E800C38269 /* MachUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MachUtilities.cpp; sourceTree = "<group>"; }; 1740 1742 1A24B5F111F531E800C38269 /* MachUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MachUtilities.h; sourceTree = "<group>"; }; … … 5014 5016 BC8A501311765F4500757573 /* cpp */, 5015 5017 BC111B47112F616900337BAB /* mac */, 5018 1A2464F21891E45100234C5B /* APILoaderClient.h */, 5016 5019 1AFDD3141891B54000153970 /* APIPolicyClient.h */, 5017 5020 ); … … 6406 6409 33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */, 6407 6410 3309344A1315B9220097A7BC /* WebCookieManagerProxyMessages.h in Headers */, 6411 1A2464F31891E45100234C5B /* APILoaderClient.h in Headers */, 6408 6412 BC1DD7B2114DC396005ADAF3 /* WebCoreArgumentCoders.h in Headers */, 6409 6413 512F589B12A8838800629530 /* WebCredential.h in Headers */,
Note: See TracChangeset
for help on using the changeset viewer.