Changeset 167496 in webkit
- Timestamp:
- Apr 18, 2014 10:49:24 AM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r167488 r167496 1 2014-04-18 Dan Bernstein <mitz@apple.com> 2 3 [Cocoa] Add a navigation delegate method corresponding to didFinishDocumentLoadForFrame for the main frame 4 https://bugs.webkit.org/show_bug.cgi?id=131847 5 6 Reviewed by Anders Carlsson. 7 8 * UIProcess/API/APILoaderClient.h: 9 (API::LoaderClient::didFinishDocumentLoadForFrame): Added a navigationID parameter. 10 * UIProcess/API/C/WKPage.cpp: 11 (WKPageSetPageLoaderClient): Updated for the above change in paramerers. 12 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Declared new delegate method. 13 * UIProcess/Cocoa/NavigationState.h: Declare override of didFinishDocumentLoadForFrame. 14 * UIProcess/Cocoa/NavigationState.mm: 15 (WebKit::NavigationState::setNavigationDelegate): Initialize 16 webViewNavigationDidFinishDocumentLoad flag in the delegate methods struct. 17 (WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame): Added override 18 of the client function which calls the delegate. 19 * UIProcess/WebPageProxy.cpp: 20 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): Get and pass the navigation ID to 21 the client. 22 * UIProcess/WebPageProxy.h: Added navigationID parameter. 23 * UIProcess/WebPageProxy.messages.in: Ditto. 24 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 25 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): Get and send the navigation 26 ID to the UI process. 27 1 28 2014-04-18 Philippe Normand <pnormand@igalia.com> 2 29 -
trunk/Source/WebKit2/UIProcess/API/APILoaderClient.h
r166914 r167496 58 58 virtual void didFailProvisionalLoadWithErrorForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, uint64_t, const WebCore::ResourceError&, API::Object*) { } 59 59 virtual void didCommitLoadForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, uint64_t, API::Object*) { } 60 virtual void didFinishDocumentLoadForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, API::Object*) { }60 virtual void didFinishDocumentLoadForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, uint64_t, API::Object*) { } 61 61 virtual void didFinishLoadForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, uint64_t, API::Object*) { } 62 62 virtual void didFailLoadWithErrorForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, uint64_t, const WebCore::ResourceError&, API::Object*) { } -
trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp
r167330 r167496 787 787 } 788 788 789 virtual void didFinishDocumentLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override789 virtual void didFinishDocumentLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, uint64_t, API::Object* userData) override 790 790 { 791 791 if (!m_client.didFinishDocumentLoadForFrame) -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h
r166742 r167496 37 37 @optional 38 38 39 - (void)_webView:(WKWebView *)webView navigationDidFinishDocumentLoad:(WKNavigation *)navigation; 40 39 41 - (void)_webView:(WKWebView *)webView renderingProgressDidChange:(_WKRenderingProgressEvents)progressEvents; 40 42 -
trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.h
r166338 r167496 100 100 virtual void didFailProvisionalLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, uint64_t navigationID, const WebCore::ResourceError&, API::Object*) override; 101 101 virtual void didCommitLoadForFrame(WebPageProxy*, WebFrameProxy*, uint64_t navigationID, API::Object*) override; 102 virtual void didFinishDocumentLoadForFrame(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, uint64_t navigationID, API::Object*) override; 102 103 virtual void didFinishLoadForFrame(WebPageProxy*, WebFrameProxy*, uint64_t navigationID, API::Object*) override; 103 104 virtual void didFailLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, uint64_t navigationID, const WebCore::ResourceError&, API::Object*) override; … … 134 135 bool webViewDidFailProvisionalNavigationWithError : 1; 135 136 bool webViewDidCommitNavigation : 1; 137 bool webViewNavigationDidFinishDocumentLoad : 1; 136 138 bool webViewDidFinishNavigation : 1; 137 139 bool webViewDidFailNavigationWithError : 1; -
trunk/Source/WebKit2/UIProcess/Cocoa/NavigationState.mm
r167476 r167496 116 116 m_navigationDelegateMethods.webViewDidFailNavigationWithError = [delegate respondsToSelector:@selector(webView:didFailNavigation:withError:)]; 117 117 118 m_navigationDelegateMethods.webViewNavigationDidFinishDocumentLoad = [delegate respondsToSelector:@selector(_webView:navigationDidFinishDocumentLoad:)]; 118 119 m_navigationDelegateMethods.webViewRenderingProgressDidChange = [delegate respondsToSelector:@selector(_webView:renderingProgressDidChange:)]; 119 120 m_navigationDelegateMethods.webViewCanAuthenticateAgainstProtectionSpace = [delegate respondsToSelector:@selector(_webView:canAuthenticateAgainstProtectionSpace:)]; … … 397 398 } 398 399 400 void NavigationState::LoaderClient::didFinishDocumentLoadForFrame(WebPageProxy*, WebFrameProxy* webFrameProxy, uint64_t navigationID, API::Object*) 401 { 402 if (!webFrameProxy->isMainFrame()) 403 return; 404 405 if (!m_navigationState.m_navigationDelegateMethods.webViewNavigationDidFinishDocumentLoad) 406 return; 407 408 auto navigationDelegate = m_navigationState.m_navigationDelegate.get(); 409 if (!navigationDelegate) 410 return; 411 412 WKNavigation *navigation = nil; 413 if (navigationID) 414 navigation = m_navigationState.m_navigations.get(navigationID).get(); 415 416 [static_cast<id <WKNavigationDelegatePrivate>>(navigationDelegate.get()) _webView:m_navigationState.m_webView navigationDidFinishDocumentLoad:navigation]; 417 } 418 399 419 void NavigationState::LoaderClient::didFinishLoadForFrame(WebPageProxy*, WebFrameProxy* webFrameProxy, uint64_t navigationID, API::Object*) 400 420 { -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r167481 r167496 2414 2414 } 2415 2415 2416 void WebPageProxy::didFinishDocumentLoadForFrame(uint64_t frameID, IPC::MessageDecoder& decoder)2416 void WebPageProxy::didFinishDocumentLoadForFrame(uint64_t frameID, uint64_t navigationID, IPC::MessageDecoder& decoder) 2417 2417 { 2418 2418 RefPtr<API::Object> userData; … … 2424 2424 MESSAGE_CHECK(frame); 2425 2425 2426 m_loaderClient->didFinishDocumentLoadForFrame(this, frame, userData.get());2426 m_loaderClient->didFinishDocumentLoadForFrame(this, frame, navigationID, userData.get()); 2427 2427 } 2428 2428 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.h
r167481 r167496 1101 1101 void didFailProvisionalLoadForFrame(uint64_t frameID, uint64_t navigationID, const WebCore::ResourceError&, IPC::MessageDecoder&); 1102 1102 void didCommitLoadForFrame(uint64_t frameID, uint64_t navigationID, const String& mimeType, bool frameHasCustomContentProvider, uint32_t frameLoadType, const WebCore::CertificateInfo&, IPC::MessageDecoder&); 1103 void didFinishDocumentLoadForFrame(uint64_t frameID, IPC::MessageDecoder&);1103 void didFinishDocumentLoadForFrame(uint64_t frameID, uint64_t navigationID, IPC::MessageDecoder&); 1104 1104 void didFinishLoadForFrame(uint64_t frameID, uint64_t navigationID, IPC::MessageDecoder&); 1105 1105 void didFailLoadForFrame(uint64_t frameID, uint64_t navigationID, const WebCore::ResourceError&, IPC::MessageDecoder&); -
trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in
r167154 r167496 124 124 DidCommitLoadForFrame(uint64_t frameID, uint64_t navigationID, String mimeType, bool hasCustomContentProvider, uint32_t loadType, WebCore::CertificateInfo certificateInfo, WebKit::InjectedBundleUserMessageEncoder userData) Variadic 125 125 DidFailLoadForFrame(uint64_t frameID, uint64_t navigationID, WebCore::ResourceError error, WebKit::InjectedBundleUserMessageEncoder userData) Variadic 126 DidFinishDocumentLoadForFrame(uint64_t frameID, WebKit::InjectedBundleUserMessageEncoder userData) Variadic126 DidFinishDocumentLoadForFrame(uint64_t frameID, uint64_t navigationID, WebKit::InjectedBundleUserMessageEncoder userData) Variadic 127 127 DidFinishLoadForFrame(uint64_t frameID, uint64_t navigationID, WebKit::InjectedBundleUserMessageEncoder userData) Variadic 128 128 DidFirstLayoutForFrame(uint64_t frameID, WebKit::InjectedBundleUserMessageEncoder userData) Variadic -
trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
r167425 r167496 506 506 webPage->injectedBundleLoaderClient().didFinishDocumentLoadForFrame(webPage, m_frame, userData); 507 507 508 WebDocumentLoader& documentLoader = static_cast<WebDocumentLoader&>(*m_frame->coreFrame()->loader().documentLoader()); 509 508 510 // Notify the UIProcess. 509 webPage->send(Messages::WebPageProxy::DidFinishDocumentLoadForFrame(m_frame->frameID(), InjectedBundleUserMessageEncoder(userData.get())));511 webPage->send(Messages::WebPageProxy::DidFinishDocumentLoadForFrame(m_frame->frameID(), documentLoader.navigationID(), InjectedBundleUserMessageEncoder(userData.get()))); 510 512 } 511 513
Note: See TracChangeset
for help on using the changeset viewer.