Changeset 240055 in webkit
- Timestamp:
- Jan 16, 2019 3:17:02 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r240046 r240055 1 2019-01-16 Chris Dumez <cdumez@apple.com> 2 3 Regression(r240046) Several API tests are crashing 4 https://bugs.webkit.org/show_bug.cgi?id=193509 5 6 Reviewed by Geoffrey Garen. 7 8 The crashes would happen because loadRequestShared() would take a WebProcessProxy& in parameter but 9 then call reattachToWebProcess() if the page is not valid, which would replace m_process and invalidate 10 our process reference. 11 12 To address the issue, move the reattachToWebProcess() call to loadRequest(), before calling 13 loadRequestShared(). Also, update *Shared() methods to take a Ref<WebProcessProxy>&& instead 14 of a WebProcessProxy& in parameter. Since we call client delegates, we need to make sure 15 our process stays alive. 16 17 * UIProcess/ProvisionalPageProxy.cpp: 18 (WebKit::ProvisionalPageProxy::loadData): 19 (WebKit::ProvisionalPageProxy::loadRequest): 20 (WebKit::ProvisionalPageProxy::didCreateMainFrame): 21 (WebKit::ProvisionalPageProxy::didPerformClientRedirect): 22 (WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame): 23 (WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame): 24 (WebKit::ProvisionalPageProxy::didNavigateWithNavigationData): 25 (WebKit::ProvisionalPageProxy::didChangeProvisionalURLForFrame): 26 (WebKit::ProvisionalPageProxy::decidePolicyForNavigationActionAsync): 27 (WebKit::ProvisionalPageProxy::decidePolicyForResponse): 28 (WebKit::ProvisionalPageProxy::startURLSchemeTask): 29 (WebKit::ProvisionalPageProxy::backForwardGoToItem): 30 * UIProcess/WebPageProxy.cpp: 31 (WebKit::WebPageProxy::loadRequest): 32 (WebKit::WebPageProxy::loadRequestWithNavigationShared): 33 (WebKit::WebPageProxy::loadData): 34 (WebKit::WebPageProxy::loadDataWithNavigationShared): 35 (WebKit::WebPageProxy::didPerformDragControllerAction): 36 (WebKit::WebPageProxy::findPlugin): 37 (WebKit::WebPageProxy::didCreateMainFrame): 38 (WebKit::WebPageProxy::didCreateSubframe): 39 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 40 (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): 41 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 42 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared): 43 (WebKit::WebPageProxy::willPerformClientRedirectForFrame): 44 (WebKit::WebPageProxy::didCancelClientRedirectForFrame): 45 (WebKit::WebPageProxy::didChangeProvisionalURLForFrame): 46 (WebKit::WebPageProxy::didChangeProvisionalURLForFrameShared): 47 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 48 (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared): 49 (WebKit::WebPageProxy::didCommitLoadForFrame): 50 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 51 (WebKit::WebPageProxy::didFinishLoadForFrame): 52 (WebKit::WebPageProxy::didFailLoadForFrame): 53 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 54 (WebKit::WebPageProxy::didReceiveTitleForFrame): 55 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 56 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 57 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 58 (WebKit::WebPageProxy::frameDidBecomeFrameSet): 59 (WebKit::WebPageProxy::decidePolicyForNavigationActionAsync): 60 (WebKit::WebPageProxy::decidePolicyForNavigationActionAsyncShared): 61 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 62 (WebKit::WebPageProxy::decidePolicyForNavigationActionSync): 63 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 64 (WebKit::WebPageProxy::decidePolicyForResponse): 65 (WebKit::WebPageProxy::decidePolicyForResponseShared): 66 (WebKit::WebPageProxy::unableToImplementPolicy): 67 (WebKit::WebPageProxy::willSubmitForm): 68 (WebKit::WebPageProxy::didNavigateWithNavigationData): 69 (WebKit::WebPageProxy::didNavigateWithNavigationDataShared): 70 (WebKit::WebPageProxy::didPerformClientRedirect): 71 (WebKit::WebPageProxy::didPerformClientRedirectShared): 72 (WebKit::WebPageProxy::didPerformServerRedirect): 73 (WebKit::WebPageProxy::didUpdateHistoryTitle): 74 (WebKit::WebPageProxy::createNewPage): 75 (WebKit::WebPageProxy::runJavaScriptAlert): 76 (WebKit::WebPageProxy::runJavaScriptConfirm): 77 (WebKit::WebPageProxy::runJavaScriptPrompt): 78 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 79 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): 80 (WebKit::WebPageProxy::runOpenPanel): 81 (WebKit::WebPageProxy::printFrame): 82 (WebKit::WebPageProxy::backForwardGoToItem): 83 (WebKit::WebPageProxy::backForwardGoToItemShared): 84 (WebKit::WebPageProxy::learnWord): 85 (WebKit::WebPageProxy::ignoreWord): 86 (WebKit::WebPageProxy::didReceiveEvent): 87 (WebKit::WebPageProxy::editingRangeCallback): 88 (WebKit::WebPageProxy::rectForCharacterRangeCallback): 89 (WebKit::WebPageProxy::focusedFrameChanged): 90 (WebKit::WebPageProxy::frameSetLargestFrameChanged): 91 (WebKit::WebPageProxy::exceededDatabaseQuota): 92 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 93 (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): 94 (WebKit::WebPageProxy::enumerateMediaDevicesForFrame): 95 (WebKit::WebPageProxy::startURLSchemeTask): 96 (WebKit::WebPageProxy::startURLSchemeTaskShared): 97 (WebKit::WebPageProxy::stopURLSchemeTask): 98 (WebKit::WebPageProxy::loadSynchronousURLSchemeTask): 99 * UIProcess/WebPageProxy.h: 100 1 101 2019-01-16 Chris Dumez <cdumez@apple.com> 2 102 -
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
r240046 r240055 148 148 RELEASE_LOG_IF_ALLOWED(ProcessSwapping, "loadData: pageID = %" PRIu64, m_page.pageID()); 149 149 150 m_page.loadDataWithNavigationShared(m_process , navigation, data, MIMEType, encoding, baseURL, userData, WebCore::ShouldTreatAsContinuingLoad::Yes, WTFMove(websitePolicies));150 m_page.loadDataWithNavigationShared(m_process.copyRef(), navigation, data, MIMEType, encoding, baseURL, userData, WebCore::ShouldTreatAsContinuingLoad::Yes, WTFMove(websitePolicies)); 151 151 } 152 152 … … 155 155 RELEASE_LOG_IF_ALLOWED(ProcessSwapping, "loadRequest: pageID = %" PRIu64, m_page.pageID()); 156 156 157 m_page.loadRequestWithNavigationShared(m_process , navigation, WTFMove(request), shouldOpenExternalURLsPolicy, userData, WebCore::ShouldTreatAsContinuingLoad::Yes, WTFMove(websitePolicies));157 m_page.loadRequestWithNavigationShared(m_process.copyRef(), navigation, WTFMove(request), shouldOpenExternalURLsPolicy, userData, WebCore::ShouldTreatAsContinuingLoad::Yes, WTFMove(websitePolicies)); 158 158 } 159 159 … … 197 197 if (m_isServerRedirect) { 198 198 m_mainFrame->frameLoadState().didStartProvisionalLoad(m_request.url()); 199 m_page.didReceiveServerRedirectForProvisionalLoadForFrameShared(m_process , m_mainFrame->frameID(), m_navigationID, WTFMove(m_request), { });199 m_page.didReceiveServerRedirectForProvisionalLoadForFrameShared(m_process.copyRef(), m_mainFrame->frameID(), m_navigationID, WTFMove(m_request), { }); 200 200 } 201 201 } … … 203 203 void ProvisionalPageProxy::didPerformClientRedirect(const String& sourceURLString, const String& destinationURLString, uint64_t frameID) 204 204 { 205 m_page.didPerformClientRedirectShared(m_process , sourceURLString, destinationURLString, frameID);205 m_page.didPerformClientRedirectShared(m_process.copyRef(), sourceURLString, destinationURLString, frameID); 206 206 } 207 207 … … 224 224 pageMainFrame->didStartProvisionalLoad(url); 225 225 226 m_page.didStartProvisionalLoadForFrameShared(m_process , frameID, navigationID, WTFMove(url), WTFMove(unreachableURL), userData);226 m_page.didStartProvisionalLoadForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(url), WTFMove(unreachableURL), userData); 227 227 } 228 228 … … 236 236 pageMainFrame->didFailProvisionalLoad(); 237 237 238 m_page.didFailProvisionalLoadForFrameShared(m_process , frameID, frameSecurityOrigin, navigationID, provisionalURL, error, userData); // Will delete |this|.238 m_page.didFailProvisionalLoadForFrameShared(m_process.copyRef(), frameID, frameSecurityOrigin, navigationID, provisionalURL, error, userData); // Will delete |this|. 239 239 } 240 240 … … 255 255 void ProvisionalPageProxy::didNavigateWithNavigationData(const WebNavigationDataStore& store, uint64_t frameID) 256 256 { 257 m_page.didNavigateWithNavigationDataShared(m_process , store, frameID);257 m_page.didNavigateWithNavigationDataShared(m_process.copyRef(), store, frameID); 258 258 } 259 259 260 260 void ProvisionalPageProxy::didChangeProvisionalURLForFrame(uint64_t frameID, uint64_t navigationID, URL&& url) 261 261 { 262 m_page.didChangeProvisionalURLForFrameShared(m_process , frameID, navigationID, WTFMove(url));262 m_page.didChangeProvisionalURLForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(url)); 263 263 } 264 264 265 265 void ProvisionalPageProxy::decidePolicyForNavigationActionAsync(uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& frameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, uint64_t listenerID) 266 266 { 267 m_page.decidePolicyForNavigationActionAsyncShared(m_process , frameID, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID);267 m_page.decidePolicyForNavigationActionAsyncShared(m_process.copyRef(), frameID, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID); 268 268 } 269 269 270 270 void ProvisionalPageProxy::decidePolicyForResponse(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const WebCore::ResourceResponse& response, const WebCore::ResourceRequest& request, bool canShowMIMEType, uint64_t listenerID, const UserData& userData) 271 271 { 272 m_page.decidePolicyForResponseShared(m_process , frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData);272 m_page.decidePolicyForResponseShared(m_process.copyRef(), frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData); 273 273 } 274 274 275 275 void ProvisionalPageProxy::startURLSchemeTask(URLSchemeTaskParameters&& parameters) 276 276 { 277 m_page.startURLSchemeTaskShared(m_process , WTFMove(parameters));277 m_page.startURLSchemeTaskShared(m_process.copyRef(), WTFMove(parameters)); 278 278 } 279 279 280 280 void ProvisionalPageProxy::backForwardGoToItem(const WebCore::BackForwardItemIdentifier& identifier, SandboxExtension::Handle& handle) 281 281 { 282 m_page.backForwardGoToItemShared(m_process , identifier, handle);282 m_page.backForwardGoToItemShared(m_process.copyRef(), identifier, handle); 283 283 } 284 284 -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r240046 r240055 238 238 #define MERGE_WHEEL_EVENTS 1 239 239 240 #define MESSAGE_CHECK(process, assertion) MESSAGE_CHECK_BASE(assertion, process .connection())241 #define MESSAGE_CHECK_URL(process, url) MESSAGE_CHECK_BASE(checkURLReceivedFromCurrentOrPreviousWebProcess(process, url), process .connection())240 #define MESSAGE_CHECK(process, assertion) MESSAGE_CHECK_BASE(assertion, process->connection()) 241 #define MESSAGE_CHECK_URL(process, url) MESSAGE_CHECK_BASE(checkURLReceivedFromCurrentOrPreviousWebProcess(process, url), process->connection()) 242 242 243 243 #define RELEASE_LOG_IF_ALLOWED(channel, fmt, ...) RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), channel, "%p - WebPageProxy::" fmt, this, ##__VA_ARGS__) … … 1060 1060 RELEASE_LOG_IF_ALLOWED(Loading, "loadRequest: webPID = %i, pageID = %" PRIu64, m_process->processIdentifier(), m_pageID); 1061 1061 1062 if (!isValid()) 1063 reattachToWebProcess(); 1064 1062 1065 auto navigation = m_navigationState->createLoadRequestNavigation(ResourceRequest(request), m_backForwardList->currentItem()); 1063 loadRequestWithNavigationShared(m_process , navigation.get(), WTFMove(request), shouldOpenExternalURLsPolicy, userData, ShouldTreatAsContinuingLoad::No);1066 loadRequestWithNavigationShared(m_process.copyRef(), navigation.get(), WTFMove(request), shouldOpenExternalURLsPolicy, userData, ShouldTreatAsContinuingLoad::No); 1064 1067 return WTFMove(navigation); 1065 1068 } 1066 1069 1067 void WebPageProxy::loadRequestWithNavigationShared( WebProcessProxy& process, API::Navigation& navigation, ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies)1070 void WebPageProxy::loadRequestWithNavigationShared(Ref<WebProcessProxy>&& process, API::Navigation& navigation, ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies) 1068 1071 { 1069 1072 ASSERT(!m_isClosed); 1070 1073 1071 RELEASE_LOG_IF_ALLOWED(Loading, "loadRequestWithNavigation: webPID = %i, pageID = %" PRIu64, process .processIdentifier(), m_pageID);1074 RELEASE_LOG_IF_ALLOWED(Loading, "loadRequestWithNavigation: webPID = %i, pageID = %" PRIu64, process->processIdentifier(), m_pageID); 1072 1075 1073 1076 auto transaction = m_pageLoadState.transaction(); … … 1076 1079 if (shouldTreatAsContinuingLoad != ShouldTreatAsContinuingLoad::Yes) 1077 1080 m_pageLoadState.setPendingAPIRequestURL(transaction, url); 1078 1079 if (!isValid())1080 reattachToWebProcess();1081 1081 1082 1082 LoadParameters loadParameters; … … 1084 1084 loadParameters.request = WTFMove(request); 1085 1085 loadParameters.shouldOpenExternalURLsPolicy = (uint64_t)shouldOpenExternalURLsPolicy; 1086 loadParameters.userData = UserData(process .transformObjectsToHandles(userData).get());1086 loadParameters.userData = UserData(process->transformObjectsToHandles(userData).get()); 1087 1087 loadParameters.shouldTreatAsContinuingLoad = shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::Yes; 1088 1088 loadParameters.websitePolicies = WTFMove(websitePolicies); … … 1095 1095 addPlatformLoadParameters(loadParameters); 1096 1096 1097 process .send(Messages::WebPage::LoadRequest(loadParameters), m_pageID);1098 process .responsivenessTimer().start();1097 process->send(Messages::WebPage::LoadRequest(loadParameters), m_pageID); 1098 process->responsivenessTimer().start(); 1099 1099 } 1100 1100 … … 1160 1160 } 1161 1161 1162 if (!isValid()) 1163 reattachToWebProcess(); 1164 1162 1165 auto navigation = m_navigationState->createLoadDataNavigation(std::make_unique<API::SubstituteData>(data.vector(), MIMEType, encoding, baseURL, userData)); 1163 loadDataWithNavigationShared(m_process , navigation, data, MIMEType, encoding, baseURL, userData, ShouldTreatAsContinuingLoad::No);1166 loadDataWithNavigationShared(m_process.copyRef(), navigation, data, MIMEType, encoding, baseURL, userData, ShouldTreatAsContinuingLoad::No); 1164 1167 return WTFMove(navigation); 1165 1168 } 1166 1169 1167 void WebPageProxy::loadDataWithNavigationShared( WebProcessProxy& process, API::Navigation& navigation, const IPC::DataReference& data, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies)1168 { 1169 RELEASE_LOG_IF_ALLOWED(Loading, "loadDataWithNavigation: webPID = %i, pageID = %" PRIu64, process .processIdentifier(), m_pageID);1170 void WebPageProxy::loadDataWithNavigationShared(Ref<WebProcessProxy>&& process, API::Navigation& navigation, const IPC::DataReference& data, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies) 1171 { 1172 RELEASE_LOG_IF_ALLOWED(Loading, "loadDataWithNavigation: webPID = %i, pageID = %" PRIu64, process->processIdentifier(), m_pageID); 1170 1173 1171 1174 ASSERT(!m_isClosed); … … 1174 1177 1175 1178 m_pageLoadState.setPendingAPIRequestURL(transaction, !baseURL.isEmpty() ? baseURL : WTF::blankURL().string()); 1176 1177 if (!isValid())1178 reattachToWebProcess();1179 1179 1180 1180 LoadParameters loadParameters; … … 1185 1185 loadParameters.baseURLString = baseURL; 1186 1186 loadParameters.shouldTreatAsContinuingLoad = shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::Yes; 1187 loadParameters.userData = UserData(process .transformObjectsToHandles(userData).get());1187 loadParameters.userData = UserData(process->transformObjectsToHandles(userData).get()); 1188 1188 loadParameters.websitePolicies = WTFMove(websitePolicies); 1189 1189 addPlatformLoadParameters(loadParameters); 1190 1190 1191 process .assumeReadAccessToBaseURL(*this, baseURL);1192 process .send(Messages::WebPage::LoadData(loadParameters), m_pageID);1193 process .responsivenessTimer().start();1191 process->assumeReadAccessToBaseURL(*this, baseURL); 1192 process->send(Messages::WebPage::LoadData(loadParameters), m_pageID); 1193 process->responsivenessTimer().start(); 1194 1194 } 1195 1195 … … 2095 2095 void WebPageProxy::didPerformDragControllerAction(uint64_t dragOperation, WebCore::DragHandlingMethod dragHandlingMethod, bool mouseIsOverFileInput, unsigned numberOfItemsToBeAccepted, const IntRect& insertionRect, const IntRect& editableElementRect) 2096 2096 { 2097 MESSAGE_CHECK(m_process .get(), dragOperation <= DragOperationDelete);2097 MESSAGE_CHECK(m_process, dragOperation <= DragOperationDelete); 2098 2098 2099 2099 m_currentDragOperation = static_cast<DragOperation>(dragOperation); … … 2408 2408 PageClientProtector protector(pageClient()); 2409 2409 2410 MESSAGE_CHECK_URL( process(), urlString);2410 MESSAGE_CHECK_URL(m_process, urlString); 2411 2411 2412 2412 URL pluginURL = URL { URL(), urlString }; … … 3672 3672 PageClientProtector protector(pageClient()); 3673 3673 3674 MESSAGE_CHECK(m_process .get(), !m_mainFrame);3675 MESSAGE_CHECK(m_process .get(), m_process->canCreateFrame(frameID));3674 MESSAGE_CHECK(m_process, !m_mainFrame); 3675 MESSAGE_CHECK(m_process, m_process->canCreateFrame(frameID)); 3676 3676 3677 3677 m_mainFrame = WebFrameProxy::create(*this, frameID); … … 3685 3685 PageClientProtector protector(pageClient()); 3686 3686 3687 MESSAGE_CHECK(m_process .get(), m_mainFrame);3687 MESSAGE_CHECK(m_process, m_mainFrame); 3688 3688 3689 3689 // The DecidePolicyForNavigationActionSync IPC is synchronous and may therefore get processed before the DidCreateSubframe one. … … 3693 3693 return; 3694 3694 3695 MESSAGE_CHECK(m_process .get(), m_process->canCreateFrame(frameID));3695 MESSAGE_CHECK(m_process, m_process->canCreateFrame(frameID)); 3696 3696 3697 3697 auto subFrame = WebFrameProxy::create(*this, frameID); … … 3765 3765 void WebPageProxy::didStartProvisionalLoadForFrame(uint64_t frameID, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) 3766 3766 { 3767 didStartProvisionalLoadForFrameShared(m_process , frameID, navigationID, WTFMove(url), WTFMove(unreachableURL), userData);3768 } 3769 3770 void WebPageProxy::didStartProvisionalLoadForFrameShared( WebProcessProxy& process, uint64_t frameID, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData)3767 didStartProvisionalLoadForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(url), WTFMove(unreachableURL), userData); 3768 } 3769 3770 void WebPageProxy::didStartProvisionalLoadForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) 3771 3771 { 3772 3772 PageClientProtector protector(pageClient()); 3773 3773 3774 WebFrameProxy* frame = process .webFrame(frameID);3774 WebFrameProxy* frame = process->webFrame(frameID); 3775 3775 MESSAGE_CHECK(process, frame); 3776 3776 MESSAGE_CHECK_URL(process, url); … … 3781 3781 navigation = navigationState().navigation(navigationID); 3782 3782 3783 LOG(Loading, "WebPageProxy %" PRIu64 " in process pid %i didStartProvisionalLoadForFrame to frameID %" PRIu64 ", navigationID %" PRIu64 ", url %s", m_pageID, process .processIdentifier(), frameID, navigationID, url.string().utf8().data());3784 RELEASE_LOG_IF_ALLOWED(Loading, "didStartProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process .processIdentifier(), m_pageID, frameID);3783 LOG(Loading, "WebPageProxy %" PRIu64 " in process pid %i didStartProvisionalLoadForFrame to frameID %" PRIu64 ", navigationID %" PRIu64 ", url %s", m_pageID, process->processIdentifier(), frameID, navigationID, url.string().utf8().data()); 3784 RELEASE_LOG_IF_ALLOWED(Loading, "didStartProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process->processIdentifier(), m_pageID, frameID); 3785 3785 3786 3786 auto transaction = m_pageLoadState.transaction(); … … 3801 3801 m_pageLoadState.commitChanges(); 3802 3802 if (m_loaderClient) 3803 m_loaderClient->didStartProvisionalLoadForFrame(*this, *frame, navigation.get(), process .transformHandlesToObjects(userData.object()).get());3803 m_loaderClient->didStartProvisionalLoadForFrame(*this, *frame, navigation.get(), process->transformHandlesToObjects(userData.object()).get()); 3804 3804 else if (frame->isMainFrame()) 3805 m_navigationClient->didStartProvisionalNavigation(*this, navigation.get(), process .transformHandlesToObjects(userData.object()).get());3805 m_navigationClient->didStartProvisionalNavigation(*this, navigation.get(), process->transformHandlesToObjects(userData.object()).get()); 3806 3806 } 3807 3807 3808 3808 void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, uint64_t navigationID, ResourceRequest&& request, const UserData& userData) 3809 3809 { 3810 didReceiveServerRedirectForProvisionalLoadForFrameShared(m_process , frameID, navigationID, WTFMove(request), userData);3811 } 3812 3813 void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared( WebProcessProxy& process, uint64_t frameID, uint64_t navigationID, ResourceRequest&& request, const UserData& userData)3810 didReceiveServerRedirectForProvisionalLoadForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(request), userData); 3811 } 3812 3813 void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, uint64_t navigationID, ResourceRequest&& request, const UserData& userData) 3814 3814 { 3815 3815 LOG(Loading, "WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame to frameID %" PRIu64 ", navigationID %" PRIu64 ", url %s", frameID, navigationID, request.url().string().utf8().data()); 3816 RELEASE_LOG_IF_ALLOWED(Loading, "didReceiveServerRedirectForProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process .processIdentifier(), m_pageID, frameID);3816 RELEASE_LOG_IF_ALLOWED(Loading, "didReceiveServerRedirectForProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process->processIdentifier(), m_pageID, frameID); 3817 3817 3818 3818 PageClientProtector protector(pageClient()); 3819 3819 3820 WebFrameProxy* frame = process .webFrame(frameID);3820 WebFrameProxy* frame = process->webFrame(frameID); 3821 3821 MESSAGE_CHECK(process, frame); 3822 3822 MESSAGE_CHECK_URL(process, request.url()); … … 3836 3836 m_pageLoadState.commitChanges(); 3837 3837 if (m_loaderClient) 3838 m_loaderClient->didReceiveServerRedirectForProvisionalLoadForFrame(*this, *frame, frame->isMainFrame() ? navigation.get() : nullptr, process .transformHandlesToObjects(userData.object()).get());3838 m_loaderClient->didReceiveServerRedirectForProvisionalLoadForFrame(*this, *frame, frame->isMainFrame() ? navigation.get() : nullptr, process->transformHandlesToObjects(userData.object()).get()); 3839 3839 else if (frame->isMainFrame()) 3840 m_navigationClient->didReceiveServerRedirectForProvisionalNavigation(*this, navigation.get(), process .transformHandlesToObjects(userData.object()).get());3840 m_navigationClient->didReceiveServerRedirectForProvisionalNavigation(*this, navigation.get(), process->transformHandlesToObjects(userData.object()).get()); 3841 3841 } 3842 3842 … … 3848 3848 3849 3849 WebFrameProxy* frame = m_process->webFrame(frameID); 3850 MESSAGE_CHECK(m_process .get(), frame);3850 MESSAGE_CHECK(m_process, frame); 3851 3851 3852 3852 if (frame->isMainFrame()) … … 3861 3861 3862 3862 WebFrameProxy* frame = m_process->webFrame(frameID); 3863 MESSAGE_CHECK(m_process .get(), frame);3863 MESSAGE_CHECK(m_process, frame); 3864 3864 3865 3865 if (frame->isMainFrame()) … … 3869 3869 void WebPageProxy::didChangeProvisionalURLForFrame(uint64_t frameID, uint64_t navigationID, URL&& url) 3870 3870 { 3871 didChangeProvisionalURLForFrameShared(m_process , frameID, navigationID, WTFMove(url));3872 } 3873 3874 void WebPageProxy::didChangeProvisionalURLForFrameShared( WebProcessProxy& process, uint64_t frameID, uint64_t, URL&& url)3871 didChangeProvisionalURLForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(url)); 3872 } 3873 3874 void WebPageProxy::didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, uint64_t, URL&& url) 3875 3875 { 3876 3876 PageClientProtector protector(pageClient()); 3877 3877 3878 WebFrameProxy* frame = process .webFrame(frameID);3878 WebFrameProxy* frame = process->webFrame(frameID); 3879 3879 MESSAGE_CHECK(process, frame); 3880 3880 MESSAGE_CHECK(process, frame->frameLoadState().state() == FrameLoadState::State::Provisional); … … 3898 3898 } 3899 3899 3900 didFailProvisionalLoadForFrameShared(m_process , frameID, frameSecurityOrigin, navigationID, provisionalURL, error, userData);3901 } 3902 3903 void WebPageProxy::didFailProvisionalLoadForFrameShared( WebProcessProxy& process, uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const ResourceError& error, const UserData& userData)3904 { 3905 LOG(Loading, "(Loading) WebPageProxy %" PRIu64 " in web process pid %i didFailProvisionalLoadForFrame to provisionalURL %s", m_pageID, process .processIdentifier(), provisionalURL.utf8().data());3906 RELEASE_LOG_IF_ALLOWED(Process, "didFailProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64 ", domain = %s, code = %d", process .processIdentifier(), m_pageID, frameID, error.domain().utf8().data(), error.errorCode());3900 didFailProvisionalLoadForFrameShared(m_process.copyRef(), frameID, frameSecurityOrigin, navigationID, provisionalURL, error, userData); 3901 } 3902 3903 void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const ResourceError& error, const UserData& userData) 3904 { 3905 LOG(Loading, "(Loading) WebPageProxy %" PRIu64 " in web process pid %i didFailProvisionalLoadForFrame to provisionalURL %s", m_pageID, process->processIdentifier(), provisionalURL.utf8().data()); 3906 RELEASE_LOG_IF_ALLOWED(Process, "didFailProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64 ", domain = %s, code = %d", process->processIdentifier(), m_pageID, frameID, error.domain().utf8().data(), error.errorCode()); 3907 3907 3908 3908 PageClientProtector protector(pageClient()); 3909 3909 3910 WebFrameProxy* frame = process .webFrame(frameID);3911 MESSAGE_CHECK(m_process .get(), frame);3910 WebFrameProxy* frame = process->webFrame(frameID); 3911 MESSAGE_CHECK(m_process, frame); 3912 3912 3913 3913 if (m_controlledByAutomation) { 3914 if (auto* automationSession = process .processPool().automationSession())3914 if (auto* automationSession = process->processPool().automationSession()) 3915 3915 automationSession->navigationOccurredForFrame(*frame); 3916 3916 } … … 3937 3937 3938 3938 if (m_loaderClient) 3939 m_loaderClient->didFailProvisionalLoadWithErrorForFrame(*this, *frame, navigation.get(), error, process .transformHandlesToObjects(userData.object()).get());3939 m_loaderClient->didFailProvisionalLoadWithErrorForFrame(*this, *frame, navigation.get(), error, process->transformHandlesToObjects(userData.object()).get()); 3940 3940 else if (frame->isMainFrame()) 3941 m_navigationClient->didFailProvisionalNavigationWithError(*this, *frame, navigation.get(), error, process .transformHandlesToObjects(userData.object()).get());3941 m_navigationClient->didFailProvisionalNavigationWithError(*this, *frame, navigation.get(), error, process->transformHandlesToObjects(userData.object()).get()); 3942 3942 else { 3943 3943 // FIXME: Get the main frame's current navigation. 3944 m_navigationClient->didFailProvisionalLoadInSubframeWithError(*this, *frame, frameSecurityOrigin, nullptr, error, process .transformHandlesToObjects(userData.object()).get());3944 m_navigationClient->didFailProvisionalLoadInSubframeWithError(*this, *frame, frameSecurityOrigin, nullptr, error, process->transformHandlesToObjects(userData.object()).get()); 3945 3945 } 3946 3946 … … 3970 3970 3971 3971 WebFrameProxy* frame = m_process->webFrame(frameID); 3972 MESSAGE_CHECK(m_process .get(), frame);3972 MESSAGE_CHECK(m_process, frame); 3973 3973 3974 3974 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4064 4064 4065 4065 WebFrameProxy* frame = m_process->webFrame(frameID); 4066 MESSAGE_CHECK(m_process .get(), frame);4066 MESSAGE_CHECK(m_process, frame); 4067 4067 4068 4068 if (m_controlledByAutomation) { … … 4088 4088 4089 4089 WebFrameProxy* frame = m_process->webFrame(frameID); 4090 MESSAGE_CHECK(m_process .get(), frame);4090 MESSAGE_CHECK(m_process, frame); 4091 4091 4092 4092 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4133 4133 4134 4134 WebFrameProxy* frame = m_process->webFrame(frameID); 4135 MESSAGE_CHECK(m_process .get(), frame);4135 MESSAGE_CHECK(m_process, frame); 4136 4136 4137 4137 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4175 4175 4176 4176 WebFrameProxy* frame = m_process->webFrame(frameID); 4177 MESSAGE_CHECK(m_process .get(), frame);4178 MESSAGE_CHECK_URL( process(), url);4177 MESSAGE_CHECK(m_process, frame); 4178 MESSAGE_CHECK_URL(m_process, url); 4179 4179 4180 4180 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4228 4228 4229 4229 WebFrameProxy* frame = m_process->webFrame(frameID); 4230 MESSAGE_CHECK(m_process .get(), frame);4230 MESSAGE_CHECK(m_process, frame); 4231 4231 4232 4232 auto transaction = m_pageLoadState.transaction(); … … 4254 4254 4255 4255 WebFrameProxy* frame = m_process->webFrame(frameID); 4256 MESSAGE_CHECK(m_process .get(), frame);4256 MESSAGE_CHECK(m_process, frame); 4257 4257 4258 4258 if (m_loaderClient) … … 4285 4285 4286 4286 WebFrameProxy* frame = m_process->webFrame(frameID); 4287 MESSAGE_CHECK(m_process .get(), frame);4287 MESSAGE_CHECK(m_process, frame); 4288 4288 4289 4289 auto transaction = m_pageLoadState.transaction(); … … 4299 4299 4300 4300 WebFrameProxy* frame = m_process->webFrame(frameID); 4301 MESSAGE_CHECK(m_process .get(), frame);4301 MESSAGE_CHECK(m_process, frame); 4302 4302 4303 4303 auto transaction = m_pageLoadState.transaction(); … … 4322 4322 4323 4323 WebFrameProxy* frame = m_process->webFrame(frameID); 4324 MESSAGE_CHECK(m_process .get(), frame);4324 MESSAGE_CHECK(m_process, frame); 4325 4325 4326 4326 frame->setIsFrameSet(value); … … 4338 4338 void WebPageProxy::decidePolicyForNavigationActionAsync(uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& frameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, uint64_t listenerID) 4339 4339 { 4340 decidePolicyForNavigationActionAsyncShared(m_process , frameID, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID);4341 } 4342 4343 void WebPageProxy::decidePolicyForNavigationActionAsyncShared( WebProcessProxy& process, uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& frameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, uint64_t listenerID)4344 { 4345 auto* frame = process .webFrame(frameID);4340 decidePolicyForNavigationActionAsyncShared(m_process.copyRef(), frameID, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID); 4341 } 4342 4343 void WebPageProxy::decidePolicyForNavigationActionAsyncShared(Ref<WebProcessProxy>&& process, uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& frameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, uint64_t listenerID) 4344 { 4345 auto* frame = process->webFrame(frameID); 4346 4346 MESSAGE_CHECK(process, frame); 4347 4347 4348 decidePolicyForNavigationAction(process , *frame, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, PolicyDecisionSender::create([this, protectedThis = makeRef(*this), frameID, listenerID, process = makeRef(process)] (auto... args) {4348 decidePolicyForNavigationAction(process.copyRef(), *frame, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, PolicyDecisionSender::create([this, protectedThis = makeRef(*this), frameID, listenerID, process = process.copyRef()] (auto... args) { 4349 4349 process->send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, args...), m_pageID); 4350 4350 })); 4351 4351 } 4352 4352 4353 void WebPageProxy::decidePolicyForNavigationAction( WebProcessProxy& process, WebFrameProxy& frame, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& originatingFrameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, Ref<PolicyDecisionSender>&& sender)4353 void WebPageProxy::decidePolicyForNavigationAction(Ref<WebProcessProxy>&& process, WebFrameProxy& frame, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, FrameInfoData&& originatingFrameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData& userData, Ref<PolicyDecisionSender>&& sender) 4354 4354 { 4355 4355 LOG(Loading, "WebPageProxy::decidePolicyForNavigationAction - Original URL %s, current target URL %s", originalRequest.url().string().utf8().data(), request.url().string().utf8().data()); … … 4393 4393 4394 4394 uint64_t newNavigationID = navigation->navigationID(); 4395 navigation->setCurrentRequest(ResourceRequest(request), process .coreProcessIdentifier());4395 navigation->setCurrentRequest(ResourceRequest(request), process->coreProcessIdentifier()); 4396 4396 navigation->setLastNavigationAction(navigationActionData); 4397 4397 navigation->setOriginatingFrameInfo(originatingFrameInfoData); … … 4452 4452 4453 4453 API::Navigation* mainFrameNavigation = frame.isMainFrame() ? navigation.get() : nullptr; 4454 WebFrameProxy* originatingFrame = process .webFrame(originatingFrameInfoData.frameID);4454 WebFrameProxy* originatingFrame = process->webFrame(originatingFrameInfoData.frameID); 4455 4455 4456 4456 #if ENABLE(RESOURCE_LOAD_STATISTICS) … … 4461 4461 4462 4462 if (m_policyClient) 4463 m_policyClient->decidePolicyForNavigationAction(*this, &frame, WTFMove(navigationActionData), originatingFrame, originalRequest, WTFMove(request), WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4463 m_policyClient->decidePolicyForNavigationAction(*this, &frame, WTFMove(navigationActionData), originatingFrame, originalRequest, WTFMove(request), WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4464 4464 else { 4465 4465 auto destinationFrameInfo = API::FrameInfo::create(frame, frameSecurityOrigin.securityOrigin()); … … 4468 4468 sourceFrameInfo = destinationFrameInfo.copyRef(); 4469 4469 else if (!fromAPI) 4470 sourceFrameInfo = API::FrameInfo::create(originatingFrameInfoData, originatingPageID ? process .webPage(originatingPageID) : nullptr);4471 4472 auto userInitiatedActivity = process .userInitiatedActivity(navigationActionData.userGestureTokenIdentifier);4470 sourceFrameInfo = API::FrameInfo::create(originatingFrameInfoData, originatingPageID ? process->webPage(originatingPageID) : nullptr); 4471 4472 auto userInitiatedActivity = process->userInitiatedActivity(navigationActionData.userGestureTokenIdentifier); 4473 4473 bool shouldOpenAppLinks = !m_shouldSuppressAppLinksInNextNavigationPolicyDecision && destinationFrameInfo->isMainFrame() && !hostsAreEqual(URL({ }, m_mainFrame->url()), request.url()) && navigationActionData.navigationType != WebCore::NavigationType::BackForward; 4474 4474 4475 4475 auto navigationAction = API::NavigationAction::create(WTFMove(navigationActionData), sourceFrameInfo.get(), destinationFrameInfo.ptr(), WTF::nullopt, WTFMove(request), originalRequest.url(), shouldOpenAppLinks, WTFMove(userInitiatedActivity), mainFrameNavigation); 4476 4476 4477 m_navigationClient->decidePolicyForNavigationAction(*this, WTFMove(navigationAction), WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4477 m_navigationClient->decidePolicyForNavigationAction(*this, WTFMove(navigationAction), WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4478 4478 } 4479 4479 … … 4529 4529 } 4530 4530 4531 decidePolicyForNavigationAction(m_process , *frame, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, sender.copyRef());4531 decidePolicyForNavigationAction(m_process.copyRef(), *frame, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, sender.copyRef()); 4532 4532 4533 4533 // If the client did not respond synchronously, proceed with the load. … … 4540 4540 4541 4541 WebFrameProxy* frame = m_process->webFrame(frameID); 4542 MESSAGE_CHECK(m_process .get(), frame);4543 MESSAGE_CHECK_URL( process(), request.url());4542 MESSAGE_CHECK(m_process, frame); 4543 MESSAGE_CHECK_URL(m_process, request.url()); 4544 4544 4545 4545 auto listener = makeRef(frame->setUpPolicyListenerProxy([this, protectedThis = makeRef(*this), listenerID, frameID] (WebPolicyAction policyAction, API::WebsitePolicies*, ProcessSwapRequestedByClient processSwapRequestedByClient, RefPtr<SafeBrowsingWarning>&& safeBrowsingWarning) mutable { … … 4571 4571 void WebPageProxy::decidePolicyForResponse(uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, uint64_t listenerID, const UserData& userData) 4572 4572 { 4573 decidePolicyForResponseShared(m_process , frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData);4574 } 4575 4576 void WebPageProxy::decidePolicyForResponseShared( WebProcessProxy& process, uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, uint64_t listenerID, const UserData& userData)4573 decidePolicyForResponseShared(m_process.copyRef(), frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData); 4574 } 4575 4576 void WebPageProxy::decidePolicyForResponseShared(Ref<WebProcessProxy>&& process, uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const ResourceResponse& response, const ResourceRequest& request, bool canShowMIMEType, uint64_t listenerID, const UserData& userData) 4577 4577 { 4578 4578 PageClientProtector protector(pageClient()); … … 4580 4580 m_decidePolicyForResponseRequest = request; 4581 4581 4582 WebFrameProxy* frame = process .webFrame(frameID);4582 WebFrameProxy* frame = process->webFrame(frameID); 4583 4583 MESSAGE_CHECK(process, frame); 4584 4584 MESSAGE_CHECK_URL(process, request.url()); … … 4586 4586 4587 4587 RefPtr<API::Navigation> navigation = navigationID ? m_navigationState->navigation(navigationID) : nullptr; 4588 auto listener = makeRef(frame->setUpPolicyListenerProxy([this, protectedThis = makeRef(*this), frameID, listenerID, navigation = WTFMove(navigation), process = makeRef(process)] (WebPolicyAction policyAction, API::WebsitePolicies*, ProcessSwapRequestedByClient processSwapRequestedByClient, RefPtr<SafeBrowsingWarning>&& safeBrowsingWarning) mutable {4588 auto listener = makeRef(frame->setUpPolicyListenerProxy([this, protectedThis = makeRef(*this), frameID, listenerID, navigation = WTFMove(navigation), process = process.copyRef()] (WebPolicyAction policyAction, API::WebsitePolicies*, ProcessSwapRequestedByClient processSwapRequestedByClient, RefPtr<SafeBrowsingWarning>&& safeBrowsingWarning) mutable { 4589 4589 // FIXME: Assert the API::WebsitePolicies* is nullptr here once clients of WKFramePolicyListenerUseWithPolicies go away. 4590 4590 RELEASE_ASSERT(processSwapRequestedByClient == ProcessSwapRequestedByClient::No); … … 4596 4596 4597 4597 if (m_policyClient) 4598 m_policyClient->decidePolicyForResponse(*this, *frame, response, request, canShowMIMEType, WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4598 m_policyClient->decidePolicyForResponse(*this, *frame, response, request, canShowMIMEType, WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4599 4599 else { 4600 4600 auto navigationResponse = API::NavigationResponse::create(API::FrameInfo::create(*frame, frameSecurityOrigin.securityOrigin()).get(), request, response, canShowMIMEType); 4601 m_navigationClient->decidePolicyForNavigationResponse(*this, WTFMove(navigationResponse), WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4601 m_navigationClient->decidePolicyForNavigationResponse(*this, WTFMove(navigationResponse), WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4602 4602 } 4603 4603 } … … 4608 4608 4609 4609 WebFrameProxy* frame = m_process->webFrame(frameID); 4610 MESSAGE_CHECK(m_process .get(), frame);4610 MESSAGE_CHECK(m_process, frame); 4611 4611 4612 4612 if (!m_policyClient) … … 4620 4620 { 4621 4621 WebFrameProxy* frame = m_process->webFrame(frameID); 4622 MESSAGE_CHECK(m_process .get(), frame);4622 MESSAGE_CHECK(m_process, frame); 4623 4623 4624 4624 WebFrameProxy* sourceFrame = m_process->webFrame(sourceFrameID); 4625 MESSAGE_CHECK(m_process .get(), sourceFrame);4625 MESSAGE_CHECK(m_process, sourceFrame); 4626 4626 4627 4627 m_formClient->willSubmitForm(*this, *frame, *sourceFrame, textFieldValues, m_process->transformHandlesToObjects(userData.object()).get(), [this, protectedThis = makeRef(*this), frameID, listenerID]() { … … 4637 4637 void WebPageProxy::didNavigateWithNavigationData(const WebNavigationDataStore& store, uint64_t frameID) 4638 4638 { 4639 didNavigateWithNavigationDataShared(m_process , store, frameID);4640 } 4641 4642 void WebPageProxy::didNavigateWithNavigationDataShared( WebProcessProxy& process, const WebNavigationDataStore& store, uint64_t frameID)4643 { 4644 RELEASE_LOG_IF_ALLOWED(Loading, "didNavigateWithNavigationDataShared: webPID = %i, pageID = %" PRIu64, process .processIdentifier(), m_pageID);4639 didNavigateWithNavigationDataShared(m_process.copyRef(), store, frameID); 4640 } 4641 4642 void WebPageProxy::didNavigateWithNavigationDataShared(Ref<WebProcessProxy>&& process, const WebNavigationDataStore& store, uint64_t frameID) 4643 { 4644 RELEASE_LOG_IF_ALLOWED(Loading, "didNavigateWithNavigationDataShared: webPID = %i, pageID = %" PRIu64, process->processIdentifier(), m_pageID); 4645 4645 4646 4646 PageClientProtector protector(pageClient()); 4647 4647 4648 WebFrameProxy* frame = process .webFrame(frameID);4648 WebFrameProxy* frame = process->webFrame(frameID); 4649 4649 MESSAGE_CHECK(process, frame); 4650 4650 MESSAGE_CHECK(process, frame->page() == this); … … 4652 4652 if (frame->isMainFrame()) 4653 4653 m_historyClient->didNavigateWithNavigationData(*this, store); 4654 process .processPool().historyClient().didNavigateWithNavigationData(process.processPool(), *this, store, *frame);4654 process->processPool().historyClient().didNavigateWithNavigationData(process->processPool(), *this, store, *frame); 4655 4655 } 4656 4656 4657 4657 void WebPageProxy::didPerformClientRedirect(const String& sourceURLString, const String& destinationURLString, uint64_t frameID) 4658 4658 { 4659 didPerformClientRedirectShared(m_process , sourceURLString, destinationURLString, frameID);4660 } 4661 4662 void WebPageProxy::didPerformClientRedirectShared( WebProcessProxy& process, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)4663 { 4664 RELEASE_LOG_IF_ALLOWED(Loading, "didPerformClientRedirectShared: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process .processIdentifier(), m_pageID, frameID);4659 didPerformClientRedirectShared(m_process.copyRef(), sourceURLString, destinationURLString, frameID); 4660 } 4661 4662 void WebPageProxy::didPerformClientRedirectShared(Ref<WebProcessProxy>&& process, const String& sourceURLString, const String& destinationURLString, uint64_t frameID) 4663 { 4664 RELEASE_LOG_IF_ALLOWED(Loading, "didPerformClientRedirectShared: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process->processIdentifier(), m_pageID, frameID); 4665 4665 4666 4666 PageClientProtector protector(pageClient()); … … 4669 4669 return; 4670 4670 4671 WebFrameProxy* frame = process .webFrame(frameID);4671 WebFrameProxy* frame = process->webFrame(frameID); 4672 4672 MESSAGE_CHECK(process, frame); 4673 4673 MESSAGE_CHECK(process, frame->page() == this); … … 4679 4679 m_navigationClient->didPerformClientRedirect(*this, sourceURLString, destinationURLString); 4680 4680 } 4681 process .processPool().historyClient().didPerformClientRedirect(process.processPool(), *this, sourceURLString, destinationURLString, *frame);4681 process->processPool().historyClient().didPerformClientRedirect(process->processPool(), *this, sourceURLString, destinationURLString, *frame); 4682 4682 } 4683 4683 … … 4692 4692 4693 4693 WebFrameProxy* frame = m_process->webFrame(frameID); 4694 MESSAGE_CHECK(m_process .get(), frame);4695 MESSAGE_CHECK(m_process .get(), frame->page() == this);4696 4697 MESSAGE_CHECK_URL( process(), sourceURLString);4698 MESSAGE_CHECK_URL( process(), destinationURLString);4694 MESSAGE_CHECK(m_process, frame); 4695 MESSAGE_CHECK(m_process, frame->page() == this); 4696 4697 MESSAGE_CHECK_URL(m_process, sourceURLString); 4698 MESSAGE_CHECK_URL(m_process, destinationURLString); 4699 4699 4700 4700 if (frame->isMainFrame()) … … 4708 4708 4709 4709 WebFrameProxy* frame = m_process->webFrame(frameID); 4710 MESSAGE_CHECK(m_process .get(), frame);4711 MESSAGE_CHECK(m_process .get(), frame->page() == this);4712 4713 MESSAGE_CHECK_URL( process(), url);4710 MESSAGE_CHECK(m_process, frame); 4711 MESSAGE_CHECK(m_process, frame->page() == this); 4712 4713 MESSAGE_CHECK_URL(m_process, url); 4714 4714 4715 4715 if (frame->isMainFrame()) … … 4722 4722 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Messages::WebPageProxy::CreateNewPage::DelayedReply&& reply) 4723 4723 { 4724 MESSAGE_CHECK(m_process .get(), m_process->webFrame(originatingFrameInfoData.frameID));4724 MESSAGE_CHECK(m_process, m_process->webFrame(originatingFrameInfoData.frameID)); 4725 4725 auto originatingFrameInfo = API::FrameInfo::create(originatingFrameInfoData, m_process->webPage(originatingPageID)); 4726 4726 … … 4787 4787 { 4788 4788 WebFrameProxy* frame = m_process->webFrame(frameID); 4789 MESSAGE_CHECK(m_process .get(), frame);4789 MESSAGE_CHECK(m_process, frame); 4790 4790 4791 4791 #if PLATFORM(IOS_FAMILY) … … 4806 4806 { 4807 4807 WebFrameProxy* frame = m_process->webFrame(frameID); 4808 MESSAGE_CHECK(m_process .get(), frame);4808 MESSAGE_CHECK(m_process, frame); 4809 4809 4810 4810 #if PLATFORM(IOS_FAMILY) … … 4826 4826 { 4827 4827 WebFrameProxy* frame = m_process->webFrame(frameID); 4828 MESSAGE_CHECK(m_process .get(), frame);4828 MESSAGE_CHECK(m_process, frame); 4829 4829 4830 4830 #if PLATFORM(IOS_FAMILY) … … 4877 4877 void WebPageProxy::unavailablePluginButtonClicked(uint32_t opaquePluginUnavailabilityReason, const String& mimeType, const String& pluginURLString, const String& pluginspageAttributeURLString, const String& frameURLString, const String& pageURLString) 4878 4878 { 4879 MESSAGE_CHECK_URL( process(), pluginURLString);4880 MESSAGE_CHECK_URL( process(), pluginspageAttributeURLString);4881 MESSAGE_CHECK_URL( process(), frameURLString);4882 MESSAGE_CHECK_URL( process(), pageURLString);4879 MESSAGE_CHECK_URL(m_process, pluginURLString); 4880 MESSAGE_CHECK_URL(m_process, pluginspageAttributeURLString); 4881 MESSAGE_CHECK_URL(m_process, frameURLString); 4882 MESSAGE_CHECK_URL(m_process, pageURLString); 4883 4883 4884 4884 String newMimeType = mimeType; … … 5006 5006 { 5007 5007 WebFrameProxy* frame = m_process->webFrame(frameID); 5008 MESSAGE_CHECK(m_process .get(), frame);5008 MESSAGE_CHECK(m_process, frame); 5009 5009 5010 5010 // Per §18 User Prompts in the WebDriver spec, "User prompts that are spawned from beforeunload … … 5051 5051 5052 5052 WebFrameProxy* frame = m_process->webFrame(frameID); 5053 MESSAGE_CHECK(m_process .get(), frame);5053 MESSAGE_CHECK(m_process, frame); 5054 5054 5055 5055 Ref<API::OpenPanelParameters> parameters = API::OpenPanelParameters::create(settings); … … 5088 5088 5089 5089 WebFrameProxy* frame = m_process->webFrame(frameID); 5090 MESSAGE_CHECK(m_process .get(), frame);5090 MESSAGE_CHECK(m_process, frame); 5091 5091 5092 5092 m_uiClient->printFrame(*this, *frame); … … 5377 5377 void WebPageProxy::backForwardGoToItem(const BackForwardItemIdentifier& itemID, SandboxExtension::Handle& sandboxExtensionHandle) 5378 5378 { 5379 backForwardGoToItemShared(m_process , itemID, sandboxExtensionHandle);5380 } 5381 5382 void WebPageProxy::backForwardGoToItemShared( WebProcessProxy& process, const BackForwardItemIdentifier& itemID, SandboxExtension::Handle& sandboxExtensionHandle)5379 backForwardGoToItemShared(m_process.copyRef(), itemID, sandboxExtensionHandle); 5380 } 5381 5382 void WebPageProxy::backForwardGoToItemShared(Ref<WebProcessProxy>&& process, const BackForwardItemIdentifier& itemID, SandboxExtension::Handle& sandboxExtensionHandle) 5383 5383 { 5384 5384 WebBackForwardListItem* item = m_backForwardList->itemForID(itemID); … … 5867 5867 void WebPageProxy::learnWord(const String& word) 5868 5868 { 5869 MESSAGE_CHECK(m_process .get(), m_pendingLearnOrIgnoreWordMessageCount);5869 MESSAGE_CHECK(m_process, m_pendingLearnOrIgnoreWordMessageCount); 5870 5870 --m_pendingLearnOrIgnoreWordMessageCount; 5871 5871 … … 5875 5875 void WebPageProxy::ignoreWord(const String& word) 5876 5876 { 5877 MESSAGE_CHECK(m_process .get(), m_pendingLearnOrIgnoreWordMessageCount);5877 MESSAGE_CHECK(m_process, m_pendingLearnOrIgnoreWordMessageCount); 5878 5878 --m_pendingLearnOrIgnoreWordMessageCount; 5879 5879 … … 5976 5976 5977 5977 // Retire the last sent event now that WebProcess is done handling it. 5978 MESSAGE_CHECK(m_process .get(), !m_mouseEventQueue.isEmpty());5978 MESSAGE_CHECK(m_process, !m_mouseEventQueue.isEmpty()); 5979 5979 NativeWebMouseEvent event = m_mouseEventQueue.takeFirst(); 5980 MESSAGE_CHECK(m_process .get(), type == event.type());5980 MESSAGE_CHECK(m_process, type == event.type()); 5981 5981 5982 5982 if (!m_mouseEventQueue.isEmpty()) { … … 5993 5993 5994 5994 case WebEvent::Wheel: { 5995 MESSAGE_CHECK(m_process .get(), !m_currentlyProcessedWheelEvents.isEmpty());5995 MESSAGE_CHECK(m_process, !m_currentlyProcessedWheelEvents.isEmpty()); 5996 5996 5997 5997 std::unique_ptr<Vector<NativeWebWheelEvent>> oldestCoalescedEvent = m_currentlyProcessedWheelEvents.takeFirst(); … … 6014 6014 LOG(KeyHandling, "WebPageProxy::didReceiveEvent: %s (queue empty %d)", webKeyboardEventTypeString(type), m_keyEventQueue.isEmpty()); 6015 6015 6016 MESSAGE_CHECK(m_process .get(), !m_keyEventQueue.isEmpty());6016 MESSAGE_CHECK(m_process, !m_keyEventQueue.isEmpty()); 6017 6017 NativeWebKeyboardEvent event = m_keyEventQueue.takeFirst(); 6018 6018 6019 MESSAGE_CHECK(m_process .get(), type == event.type());6019 MESSAGE_CHECK(m_process, type == event.type()); 6020 6020 6021 6021 bool canProcessMoreKeyEvents = !m_keyEventQueue.isEmpty(); … … 6044 6044 case WebEvent::GestureChange: 6045 6045 case WebEvent::GestureEnd: { 6046 MESSAGE_CHECK(m_process .get(), !m_gestureEventQueue.isEmpty());6046 MESSAGE_CHECK(m_process, !m_gestureEventQueue.isEmpty()); 6047 6047 NativeWebGestureEvent event = m_gestureEventQueue.takeFirst(); 6048 6048 6049 MESSAGE_CHECK(m_process .get(), type == event.type());6049 MESSAGE_CHECK(m_process, type == event.type()); 6050 6050 6051 6051 if (!handled) … … 6066 6066 case WebEvent::TouchEnd: 6067 6067 case WebEvent::TouchCancel: { 6068 MESSAGE_CHECK(m_process .get(), !m_touchEventQueue.isEmpty());6068 MESSAGE_CHECK(m_process, !m_touchEventQueue.isEmpty()); 6069 6069 QueuedTouchEvents queuedEvents = m_touchEventQueue.takeFirst(); 6070 6070 6071 MESSAGE_CHECK(m_process .get(), type == queuedEvents.forwardedEvent.type());6071 MESSAGE_CHECK(m_process, type == queuedEvents.forwardedEvent.type()); 6072 6072 6073 6073 pageClient().doneWithTouchEvent(queuedEvents.forwardedEvent, handled); … … 6197 6197 void WebPageProxy::editingRangeCallback(const EditingRange& range, CallbackID callbackID) 6198 6198 { 6199 MESSAGE_CHECK(m_process .get(), range.isValid());6199 MESSAGE_CHECK(m_process, range.isValid()); 6200 6200 6201 6201 auto callback = m_callbacks.take<EditingRangeCallback>(callbackID); … … 6298 6298 void WebPageProxy::rectForCharacterRangeCallback(const IntRect& rect, const EditingRange& actualRange, CallbackID callbackID) 6299 6299 { 6300 MESSAGE_CHECK(m_process .get(), actualRange.isValid());6300 MESSAGE_CHECK(m_process, actualRange.isValid()); 6301 6301 6302 6302 auto callback = m_callbacks.take<RectForCharacterRangeCallback>(callbackID); … … 6331 6331 6332 6332 WebFrameProxy* frame = m_process->webFrame(frameID); 6333 MESSAGE_CHECK(m_process .get(), frame);6333 MESSAGE_CHECK(m_process, frame); 6334 6334 6335 6335 m_focusedFrame = frame; … … 6344 6344 6345 6345 WebFrameProxy* frame = m_process->webFrame(frameID); 6346 MESSAGE_CHECK(m_process .get(), frame);6346 MESSAGE_CHECK(m_process, frame); 6347 6347 6348 6348 m_frameSetLargestFrame = frame; … … 6890 6890 while (record) { 6891 6891 WebFrameProxy* frame = m_process->webFrame(record->frameID); 6892 MESSAGE_CHECK(m_process .get(), frame);6892 MESSAGE_CHECK(m_process, frame); 6893 6893 6894 6894 auto origin = API::SecurityOrigin::create(SecurityOriginData::fromDatabaseIdentifier(record->originIdentifier)->securityOrigin()); … … 6907 6907 { 6908 6908 WebFrameProxy* frame = m_process->webFrame(frameID); 6909 MESSAGE_CHECK(m_process .get(), frame);6909 MESSAGE_CHECK(m_process, frame); 6910 6910 6911 6911 // FIXME: Geolocation should probably be using toString() as its string representation instead of databaseIdentifier(). … … 6946 6946 { 6947 6947 #if ENABLE(MEDIA_STREAM) 6948 MESSAGE_CHECK(m_process .get(), m_process->webFrame(frameID));6948 MESSAGE_CHECK(m_process, m_process->webFrame(frameID)); 6949 6949 6950 6950 userMediaPermissionRequestManager().requestUserMediaPermissionForFrame(userMediaID, frameID, userMediaDocumentOriginData.securityOrigin(), topLevelDocumentOriginData.securityOrigin(), request); … … 6962 6962 #if ENABLE(MEDIA_STREAM) 6963 6963 WebFrameProxy* frame = m_process->webFrame(frameID); 6964 MESSAGE_CHECK(m_process .get(), frame);6964 MESSAGE_CHECK(m_process, frame); 6965 6965 6966 6966 userMediaPermissionRequestManager().enumerateMediaDevicesForFrame(userMediaID, frameID, userMediaDocumentOriginData.securityOrigin(), topLevelDocumentOriginData.securityOrigin()); … … 8179 8179 void WebPageProxy::startURLSchemeTask(URLSchemeTaskParameters&& parameters) 8180 8180 { 8181 startURLSchemeTaskShared(m_process , WTFMove(parameters));8182 } 8183 8184 void WebPageProxy::startURLSchemeTaskShared( WebProcessProxy& process, URLSchemeTaskParameters&& parameters)8181 startURLSchemeTaskShared(m_process.copyRef(), WTFMove(parameters)); 8182 } 8183 8184 void WebPageProxy::startURLSchemeTaskShared(Ref<WebProcessProxy>&& process, URLSchemeTaskParameters&& parameters) 8185 8185 { 8186 8186 auto iterator = m_urlSchemeHandlersByIdentifier.find(parameters.handlerIdentifier); 8187 MESSAGE_CHECK( m_process.get(), iterator != m_urlSchemeHandlersByIdentifier.end());8187 MESSAGE_CHECK(process, iterator != m_urlSchemeHandlersByIdentifier.end()); 8188 8188 8189 8189 iterator->value->startTask(*this, process, parameters.taskIdentifier, WTFMove(parameters.request), nullptr); … … 8193 8193 { 8194 8194 auto iterator = m_urlSchemeHandlersByIdentifier.find(handlerIdentifier); 8195 MESSAGE_CHECK(m_process .get(), iterator != m_urlSchemeHandlersByIdentifier.end());8195 MESSAGE_CHECK(m_process, iterator != m_urlSchemeHandlersByIdentifier.end()); 8196 8196 8197 8197 iterator->value->stopTask(*this, taskIdentifier); … … 8201 8201 { 8202 8202 auto iterator = m_urlSchemeHandlersByIdentifier.find(parameters.handlerIdentifier); 8203 MESSAGE_CHECK(m_process .get(), iterator != m_urlSchemeHandlersByIdentifier.end());8203 MESSAGE_CHECK(m_process, iterator != m_urlSchemeHandlersByIdentifier.end()); 8204 8204 8205 8205 iterator->value->startTask(*this, m_process, parameters.taskIdentifier, WTFMove(parameters.request), WTFMove(reply)); -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r240046 r240055 1424 1424 1425 1425 // Logic shared between the WebPageProxy and the ProvisionalPageProxy. 1426 void didStartProvisionalLoadForFrameShared( WebProcessProxy&, uint64_t frameID, uint64_t navigationID, URL&&, URL&& unreachableURL, const UserData&);1427 void didFailProvisionalLoadForFrameShared( WebProcessProxy&, uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const WebCore::ResourceError&, const UserData&);1428 void didReceiveServerRedirectForProvisionalLoadForFrameShared( WebProcessProxy&, uint64_t frameID, uint64_t navigationID, WebCore::ResourceRequest&&, const UserData&);1429 void didPerformClientRedirectShared( WebProcessProxy&, const String& sourceURLString, const String& destinationURLString, uint64_t frameID);1430 void didNavigateWithNavigationDataShared( WebProcessProxy&, const WebNavigationDataStore&, uint64_t frameID);1431 void didChangeProvisionalURLForFrameShared( WebProcessProxy&, uint64_t frameID, uint64_t navigationID, URL&&);1432 void decidePolicyForNavigationActionAsyncShared( WebProcessProxy&, uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, FrameInfoData&&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, uint64_t listenerID);1433 void decidePolicyForResponseShared( WebProcessProxy&, uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, uint64_t listenerID, const UserData&);1434 void startURLSchemeTaskShared( WebProcessProxy&, URLSchemeTaskParameters&&);1435 void loadDataWithNavigationShared( WebProcessProxy&, API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& = WTF::nullopt);1436 void loadRequestWithNavigationShared( WebProcessProxy&, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& = WTF::nullopt);1437 void backForwardGoToItemShared( WebProcessProxy&, const WebCore::BackForwardItemIdentifier&, SandboxExtension::Handle&);1426 void didStartProvisionalLoadForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, uint64_t navigationID, URL&&, URL&& unreachableURL, const UserData&); 1427 void didFailProvisionalLoadForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const WebCore::ResourceError&, const UserData&); 1428 void didReceiveServerRedirectForProvisionalLoadForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, uint64_t navigationID, WebCore::ResourceRequest&&, const UserData&); 1429 void didPerformClientRedirectShared(Ref<WebProcessProxy>&&, const String& sourceURLString, const String& destinationURLString, uint64_t frameID); 1430 void didNavigateWithNavigationDataShared(Ref<WebProcessProxy>&&, const WebNavigationDataStore&, uint64_t frameID); 1431 void didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, uint64_t navigationID, URL&&); 1432 void decidePolicyForNavigationActionAsyncShared(Ref<WebProcessProxy>&&, uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, FrameInfoData&&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, uint64_t listenerID); 1433 void decidePolicyForResponseShared(Ref<WebProcessProxy>&&, uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, uint64_t listenerID, const UserData&); 1434 void startURLSchemeTaskShared(Ref<WebProcessProxy>&&, URLSchemeTaskParameters&&); 1435 void loadDataWithNavigationShared(Ref<WebProcessProxy>&&, API::Navigation&, const IPC::DataReference&, const String& MIMEType, const String& encoding, const String& baseURL, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& = WTF::nullopt); 1436 void loadRequestWithNavigationShared(Ref<WebProcessProxy>&&, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& = WTF::nullopt); 1437 void backForwardGoToItemShared(Ref<WebProcessProxy>&&, const WebCore::BackForwardItemIdentifier&, SandboxExtension::Handle&); 1438 1438 1439 1439 // IPC::MessageReceiver … … 1517 1517 void didDestroyNavigation(uint64_t navigationID); 1518 1518 1519 void decidePolicyForNavigationAction( WebProcessProxy&, WebFrameProxy&, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, FrameInfoData&&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, Ref<PolicyDecisionSender>&&);1519 void decidePolicyForNavigationAction(Ref<WebProcessProxy>&&, WebFrameProxy&, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, FrameInfoData&&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, Ref<PolicyDecisionSender>&&); 1520 1520 void decidePolicyForNavigationActionAsync(uint64_t frameID, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, FrameInfoData&&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, uint64_t listenerID); 1521 1521 void decidePolicyForNavigationActionSync(uint64_t frameID, bool isMainFrame, WebCore::SecurityOriginData&& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, FrameInfoData&&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, IPC::FormDataReference&& requestBody, WebCore::ResourceResponse&& redirectResponse, const UserData&, Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply&&);
Note: See TracChangeset
for help on using the changeset viewer.