Changeset 240264 in webkit
- Timestamp:
- Jan 22, 2019, 10:34:54 AM (8 years ago)
- Location:
- branches/safari-607-branch/Source/WebKit
- Files:
-
- 4 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/ProvisionalPageProxy.cpp (modified) (7 diffs)
-
UIProcess/WebPageProxy.cpp (modified) (78 diffs)
-
UIProcess/WebPageProxy.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-607-branch/Source/WebKit/ChangeLog
r240263 r240264 1 2019-01-22 Alan Coon <alancoon@apple.com> 2 3 Cherry-pick r240055. rdar://problem/47099573 4 5 Regression(r240046) Several API tests are crashing 6 https://bugs.webkit.org/show_bug.cgi?id=193509 7 8 Reviewed by Geoffrey Garen. 9 10 The crashes would happen because loadRequestShared() would take a WebProcessProxy& in parameter but 11 then call reattachToWebProcess() if the page is not valid, which would replace m_process and invalidate 12 our process reference. 13 14 To address the issue, move the reattachToWebProcess() call to loadRequest(), before calling 15 loadRequestShared(). Also, update *Shared() methods to take a Ref<WebProcessProxy>&& instead 16 of a WebProcessProxy& in parameter. Since we call client delegates, we need to make sure 17 our process stays alive. 18 19 * UIProcess/ProvisionalPageProxy.cpp: 20 (WebKit::ProvisionalPageProxy::loadData): 21 (WebKit::ProvisionalPageProxy::loadRequest): 22 (WebKit::ProvisionalPageProxy::didCreateMainFrame): 23 (WebKit::ProvisionalPageProxy::didPerformClientRedirect): 24 (WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame): 25 (WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame): 26 (WebKit::ProvisionalPageProxy::didNavigateWithNavigationData): 27 (WebKit::ProvisionalPageProxy::didChangeProvisionalURLForFrame): 28 (WebKit::ProvisionalPageProxy::decidePolicyForNavigationActionAsync): 29 (WebKit::ProvisionalPageProxy::decidePolicyForResponse): 30 (WebKit::ProvisionalPageProxy::startURLSchemeTask): 31 (WebKit::ProvisionalPageProxy::backForwardGoToItem): 32 * UIProcess/WebPageProxy.cpp: 33 (WebKit::WebPageProxy::loadRequest): 34 (WebKit::WebPageProxy::loadRequestWithNavigationShared): 35 (WebKit::WebPageProxy::loadData): 36 (WebKit::WebPageProxy::loadDataWithNavigationShared): 37 (WebKit::WebPageProxy::didPerformDragControllerAction): 38 (WebKit::WebPageProxy::findPlugin): 39 (WebKit::WebPageProxy::didCreateMainFrame): 40 (WebKit::WebPageProxy::didCreateSubframe): 41 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 42 (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): 43 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 44 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared): 45 (WebKit::WebPageProxy::willPerformClientRedirectForFrame): 46 (WebKit::WebPageProxy::didCancelClientRedirectForFrame): 47 (WebKit::WebPageProxy::didChangeProvisionalURLForFrame): 48 (WebKit::WebPageProxy::didChangeProvisionalURLForFrameShared): 49 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 50 (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared): 51 (WebKit::WebPageProxy::didCommitLoadForFrame): 52 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 53 (WebKit::WebPageProxy::didFinishLoadForFrame): 54 (WebKit::WebPageProxy::didFailLoadForFrame): 55 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 56 (WebKit::WebPageProxy::didReceiveTitleForFrame): 57 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 58 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 59 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 60 (WebKit::WebPageProxy::frameDidBecomeFrameSet): 61 (WebKit::WebPageProxy::decidePolicyForNavigationActionAsync): 62 (WebKit::WebPageProxy::decidePolicyForNavigationActionAsyncShared): 63 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 64 (WebKit::WebPageProxy::decidePolicyForNavigationActionSync): 65 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 66 (WebKit::WebPageProxy::decidePolicyForResponse): 67 (WebKit::WebPageProxy::decidePolicyForResponseShared): 68 (WebKit::WebPageProxy::unableToImplementPolicy): 69 (WebKit::WebPageProxy::willSubmitForm): 70 (WebKit::WebPageProxy::didNavigateWithNavigationData): 71 (WebKit::WebPageProxy::didNavigateWithNavigationDataShared): 72 (WebKit::WebPageProxy::didPerformClientRedirect): 73 (WebKit::WebPageProxy::didPerformClientRedirectShared): 74 (WebKit::WebPageProxy::didPerformServerRedirect): 75 (WebKit::WebPageProxy::didUpdateHistoryTitle): 76 (WebKit::WebPageProxy::createNewPage): 77 (WebKit::WebPageProxy::runJavaScriptAlert): 78 (WebKit::WebPageProxy::runJavaScriptConfirm): 79 (WebKit::WebPageProxy::runJavaScriptPrompt): 80 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 81 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): 82 (WebKit::WebPageProxy::runOpenPanel): 83 (WebKit::WebPageProxy::printFrame): 84 (WebKit::WebPageProxy::backForwardGoToItem): 85 (WebKit::WebPageProxy::backForwardGoToItemShared): 86 (WebKit::WebPageProxy::learnWord): 87 (WebKit::WebPageProxy::ignoreWord): 88 (WebKit::WebPageProxy::didReceiveEvent): 89 (WebKit::WebPageProxy::editingRangeCallback): 90 (WebKit::WebPageProxy::rectForCharacterRangeCallback): 91 (WebKit::WebPageProxy::focusedFrameChanged): 92 (WebKit::WebPageProxy::frameSetLargestFrameChanged): 93 (WebKit::WebPageProxy::exceededDatabaseQuota): 94 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 95 (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): 96 (WebKit::WebPageProxy::enumerateMediaDevicesForFrame): 97 (WebKit::WebPageProxy::startURLSchemeTask): 98 (WebKit::WebPageProxy::startURLSchemeTaskShared): 99 (WebKit::WebPageProxy::stopURLSchemeTask): 100 (WebKit::WebPageProxy::loadSynchronousURLSchemeTask): 101 * UIProcess/WebPageProxy.h: 102 103 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240055 268f45cc-cd09-0410-ab3c-d52691b4dbfc 104 105 2019-01-16 Chris Dumez <cdumez@apple.com> 106 107 Regression(r240046) Several API tests are crashing 108 https://bugs.webkit.org/show_bug.cgi?id=193509 109 110 Reviewed by Geoffrey Garen. 111 112 The crashes would happen because loadRequestShared() would take a WebProcessProxy& in parameter but 113 then call reattachToWebProcess() if the page is not valid, which would replace m_process and invalidate 114 our process reference. 115 116 To address the issue, move the reattachToWebProcess() call to loadRequest(), before calling 117 loadRequestShared(). Also, update *Shared() methods to take a Ref<WebProcessProxy>&& instead 118 of a WebProcessProxy& in parameter. Since we call client delegates, we need to make sure 119 our process stays alive. 120 121 * UIProcess/ProvisionalPageProxy.cpp: 122 (WebKit::ProvisionalPageProxy::loadData): 123 (WebKit::ProvisionalPageProxy::loadRequest): 124 (WebKit::ProvisionalPageProxy::didCreateMainFrame): 125 (WebKit::ProvisionalPageProxy::didPerformClientRedirect): 126 (WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame): 127 (WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame): 128 (WebKit::ProvisionalPageProxy::didNavigateWithNavigationData): 129 (WebKit::ProvisionalPageProxy::didChangeProvisionalURLForFrame): 130 (WebKit::ProvisionalPageProxy::decidePolicyForNavigationActionAsync): 131 (WebKit::ProvisionalPageProxy::decidePolicyForResponse): 132 (WebKit::ProvisionalPageProxy::startURLSchemeTask): 133 (WebKit::ProvisionalPageProxy::backForwardGoToItem): 134 * UIProcess/WebPageProxy.cpp: 135 (WebKit::WebPageProxy::loadRequest): 136 (WebKit::WebPageProxy::loadRequestWithNavigationShared): 137 (WebKit::WebPageProxy::loadData): 138 (WebKit::WebPageProxy::loadDataWithNavigationShared): 139 (WebKit::WebPageProxy::didPerformDragControllerAction): 140 (WebKit::WebPageProxy::findPlugin): 141 (WebKit::WebPageProxy::didCreateMainFrame): 142 (WebKit::WebPageProxy::didCreateSubframe): 143 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 144 (WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared): 145 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 146 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared): 147 (WebKit::WebPageProxy::willPerformClientRedirectForFrame): 148 (WebKit::WebPageProxy::didCancelClientRedirectForFrame): 149 (WebKit::WebPageProxy::didChangeProvisionalURLForFrame): 150 (WebKit::WebPageProxy::didChangeProvisionalURLForFrameShared): 151 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 152 (WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared): 153 (WebKit::WebPageProxy::didCommitLoadForFrame): 154 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 155 (WebKit::WebPageProxy::didFinishLoadForFrame): 156 (WebKit::WebPageProxy::didFailLoadForFrame): 157 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 158 (WebKit::WebPageProxy::didReceiveTitleForFrame): 159 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 160 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 161 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 162 (WebKit::WebPageProxy::frameDidBecomeFrameSet): 163 (WebKit::WebPageProxy::decidePolicyForNavigationActionAsync): 164 (WebKit::WebPageProxy::decidePolicyForNavigationActionAsyncShared): 165 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 166 (WebKit::WebPageProxy::decidePolicyForNavigationActionSync): 167 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 168 (WebKit::WebPageProxy::decidePolicyForResponse): 169 (WebKit::WebPageProxy::decidePolicyForResponseShared): 170 (WebKit::WebPageProxy::unableToImplementPolicy): 171 (WebKit::WebPageProxy::willSubmitForm): 172 (WebKit::WebPageProxy::didNavigateWithNavigationData): 173 (WebKit::WebPageProxy::didNavigateWithNavigationDataShared): 174 (WebKit::WebPageProxy::didPerformClientRedirect): 175 (WebKit::WebPageProxy::didPerformClientRedirectShared): 176 (WebKit::WebPageProxy::didPerformServerRedirect): 177 (WebKit::WebPageProxy::didUpdateHistoryTitle): 178 (WebKit::WebPageProxy::createNewPage): 179 (WebKit::WebPageProxy::runJavaScriptAlert): 180 (WebKit::WebPageProxy::runJavaScriptConfirm): 181 (WebKit::WebPageProxy::runJavaScriptPrompt): 182 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 183 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): 184 (WebKit::WebPageProxy::runOpenPanel): 185 (WebKit::WebPageProxy::printFrame): 186 (WebKit::WebPageProxy::backForwardGoToItem): 187 (WebKit::WebPageProxy::backForwardGoToItemShared): 188 (WebKit::WebPageProxy::learnWord): 189 (WebKit::WebPageProxy::ignoreWord): 190 (WebKit::WebPageProxy::didReceiveEvent): 191 (WebKit::WebPageProxy::editingRangeCallback): 192 (WebKit::WebPageProxy::rectForCharacterRangeCallback): 193 (WebKit::WebPageProxy::focusedFrameChanged): 194 (WebKit::WebPageProxy::frameSetLargestFrameChanged): 195 (WebKit::WebPageProxy::exceededDatabaseQuota): 196 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 197 (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): 198 (WebKit::WebPageProxy::enumerateMediaDevicesForFrame): 199 (WebKit::WebPageProxy::startURLSchemeTask): 200 (WebKit::WebPageProxy::startURLSchemeTaskShared): 201 (WebKit::WebPageProxy::stopURLSchemeTask): 202 (WebKit::WebPageProxy::loadSynchronousURLSchemeTask): 203 * UIProcess/WebPageProxy.h: 204 1 205 2019-01-22 Alan Coon <alancoon@apple.com> 2 206 -
branches/safari-607-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
r240263 r240264 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 -
branches/safari-607-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
r240263 r240264 242 242 #define MERGE_WHEEL_EVENTS 1 243 243 244 #define MESSAGE_CHECK(process, assertion) MESSAGE_CHECK_BASE(assertion, process .connection())245 #define MESSAGE_CHECK_URL(process, url) MESSAGE_CHECK_BASE(checkURLReceivedFromCurrentOrPreviousWebProcess(process, url), process .connection())244 #define MESSAGE_CHECK(process, assertion) MESSAGE_CHECK_BASE(assertion, process->connection()) 245 #define MESSAGE_CHECK_URL(process, url) MESSAGE_CHECK_BASE(checkURLReceivedFromCurrentOrPreviousWebProcess(process, url), process->connection()) 246 246 247 247 #define RELEASE_LOG_IF_ALLOWED(channel, fmt, ...) RELEASE_LOG_IF(isAlwaysOnLoggingAllowed(), channel, "%p - WebPageProxy::" fmt, this, ##__VA_ARGS__) … … 1064 1064 RELEASE_LOG_IF_ALLOWED(Loading, "loadRequest: webPID = %i, pageID = %" PRIu64, m_process->processIdentifier(), m_pageID); 1065 1065 1066 if (!isValid()) 1067 reattachToWebProcess(); 1068 1066 1069 auto navigation = m_navigationState->createLoadRequestNavigation(ResourceRequest(request), m_backForwardList->currentItem()); 1067 loadRequestWithNavigationShared(m_process , navigation.get(), WTFMove(request), shouldOpenExternalURLsPolicy, userData, ShouldTreatAsContinuingLoad::No);1070 loadRequestWithNavigationShared(m_process.copyRef(), navigation.get(), WTFMove(request), shouldOpenExternalURLsPolicy, userData, ShouldTreatAsContinuingLoad::No); 1068 1071 return WTFMove(navigation); 1069 1072 } 1070 1073 1071 void WebPageProxy::loadRequestWithNavigationShared( WebProcessProxy& process, API::Navigation& navigation, ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies)1074 void WebPageProxy::loadRequestWithNavigationShared(Ref<WebProcessProxy>&& process, API::Navigation& navigation, ResourceRequest&& request, ShouldOpenExternalURLsPolicy shouldOpenExternalURLsPolicy, API::Object* userData, ShouldTreatAsContinuingLoad shouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& websitePolicies) 1072 1075 { 1073 1076 ASSERT(!m_isClosed); 1074 1077 1075 RELEASE_LOG_IF_ALLOWED(Loading, "loadRequestWithNavigation: webPID = %i, pageID = %" PRIu64, process .processIdentifier(), m_pageID);1078 RELEASE_LOG_IF_ALLOWED(Loading, "loadRequestWithNavigation: webPID = %i, pageID = %" PRIu64, process->processIdentifier(), m_pageID); 1076 1079 1077 1080 auto transaction = m_pageLoadState.transaction(); … … 1080 1083 if (shouldTreatAsContinuingLoad != ShouldTreatAsContinuingLoad::Yes) 1081 1084 m_pageLoadState.setPendingAPIRequestURL(transaction, url); 1082 1083 if (!isValid())1084 reattachToWebProcess();1085 1085 1086 1086 LoadParameters loadParameters; … … 1088 1088 loadParameters.request = WTFMove(request); 1089 1089 loadParameters.shouldOpenExternalURLsPolicy = (uint64_t)shouldOpenExternalURLsPolicy; 1090 loadParameters.userData = UserData(process .transformObjectsToHandles(userData).get());1090 loadParameters.userData = UserData(process->transformObjectsToHandles(userData).get()); 1091 1091 loadParameters.shouldTreatAsContinuingLoad = shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::Yes; 1092 1092 loadParameters.websitePolicies = WTFMove(websitePolicies); … … 1099 1099 addPlatformLoadParameters(loadParameters); 1100 1100 1101 process .send(Messages::WebPage::LoadRequest(loadParameters), m_pageID);1102 process .responsivenessTimer().start();1101 process->send(Messages::WebPage::LoadRequest(loadParameters), m_pageID); 1102 process->responsivenessTimer().start(); 1103 1103 } 1104 1104 … … 1164 1164 } 1165 1165 1166 if (!isValid()) 1167 reattachToWebProcess(); 1168 1166 1169 auto navigation = m_navigationState->createLoadDataNavigation(std::make_unique<API::SubstituteData>(data.vector(), MIMEType, encoding, baseURL, userData)); 1167 loadDataWithNavigationShared(m_process , navigation, data, MIMEType, encoding, baseURL, userData, ShouldTreatAsContinuingLoad::No);1170 loadDataWithNavigationShared(m_process.copyRef(), navigation, data, MIMEType, encoding, baseURL, userData, ShouldTreatAsContinuingLoad::No); 1168 1171 return WTFMove(navigation); 1169 1172 } 1170 1173 1171 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)1172 { 1173 RELEASE_LOG_IF_ALLOWED(Loading, "loadDataWithNavigation: webPID = %i, pageID = %" PRIu64, process .processIdentifier(), m_pageID);1174 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) 1175 { 1176 RELEASE_LOG_IF_ALLOWED(Loading, "loadDataWithNavigation: webPID = %i, pageID = %" PRIu64, process->processIdentifier(), m_pageID); 1174 1177 1175 1178 ASSERT(!m_isClosed); … … 1178 1181 1179 1182 m_pageLoadState.setPendingAPIRequestURL(transaction, !baseURL.isEmpty() ? baseURL : WTF::blankURL().string()); 1180 1181 if (!isValid())1182 reattachToWebProcess();1183 1183 1184 1184 LoadParameters loadParameters; … … 1189 1189 loadParameters.baseURLString = baseURL; 1190 1190 loadParameters.shouldTreatAsContinuingLoad = shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::Yes; 1191 loadParameters.userData = UserData(process .transformObjectsToHandles(userData).get());1191 loadParameters.userData = UserData(process->transformObjectsToHandles(userData).get()); 1192 1192 loadParameters.websitePolicies = WTFMove(websitePolicies); 1193 1193 addPlatformLoadParameters(loadParameters); 1194 1194 1195 process .assumeReadAccessToBaseURL(*this, baseURL);1196 process .send(Messages::WebPage::LoadData(loadParameters), m_pageID);1197 process .responsivenessTimer().start();1195 process->assumeReadAccessToBaseURL(*this, baseURL); 1196 process->send(Messages::WebPage::LoadData(loadParameters), m_pageID); 1197 process->responsivenessTimer().start(); 1198 1198 } 1199 1199 … … 2099 2099 void WebPageProxy::didPerformDragControllerAction(uint64_t dragOperation, WebCore::DragHandlingMethod dragHandlingMethod, bool mouseIsOverFileInput, unsigned numberOfItemsToBeAccepted, const IntRect& insertionRect) 2100 2100 { 2101 MESSAGE_CHECK(m_process .get(), dragOperation <= DragOperationDelete);2101 MESSAGE_CHECK(m_process, dragOperation <= DragOperationDelete); 2102 2102 2103 2103 m_currentDragOperation = static_cast<DragOperation>(dragOperation); … … 2406 2406 PageClientProtector protector(pageClient()); 2407 2407 2408 MESSAGE_CHECK_URL( process(), urlString);2408 MESSAGE_CHECK_URL(m_process, urlString); 2409 2409 2410 2410 URL pluginURL = URL { URL(), urlString }; … … 3670 3670 PageClientProtector protector(pageClient()); 3671 3671 3672 MESSAGE_CHECK(m_process .get(), !m_mainFrame);3673 MESSAGE_CHECK(m_process .get(), m_process->canCreateFrame(frameID));3672 MESSAGE_CHECK(m_process, !m_mainFrame); 3673 MESSAGE_CHECK(m_process, m_process->canCreateFrame(frameID)); 3674 3674 3675 3675 m_mainFrame = WebFrameProxy::create(*this, frameID); … … 3683 3683 PageClientProtector protector(pageClient()); 3684 3684 3685 MESSAGE_CHECK(m_process .get(), m_mainFrame);3685 MESSAGE_CHECK(m_process, m_mainFrame); 3686 3686 3687 3687 // The DecidePolicyForNavigationActionSync IPC is synchronous and may therefore get processed before the DidCreateSubframe one. … … 3691 3691 return; 3692 3692 3693 MESSAGE_CHECK(m_process .get(), m_process->canCreateFrame(frameID));3693 MESSAGE_CHECK(m_process, m_process->canCreateFrame(frameID)); 3694 3694 3695 3695 auto subFrame = WebFrameProxy::create(*this, frameID); … … 3763 3763 void WebPageProxy::didStartProvisionalLoadForFrame(uint64_t frameID, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) 3764 3764 { 3765 didStartProvisionalLoadForFrameShared(m_process , frameID, navigationID, WTFMove(url), WTFMove(unreachableURL), userData);3766 } 3767 3768 void WebPageProxy::didStartProvisionalLoadForFrameShared( WebProcessProxy& process, uint64_t frameID, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData)3765 didStartProvisionalLoadForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(url), WTFMove(unreachableURL), userData); 3766 } 3767 3768 void WebPageProxy::didStartProvisionalLoadForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, uint64_t navigationID, URL&& url, URL&& unreachableURL, const UserData& userData) 3769 3769 { 3770 3770 PageClientProtector protector(pageClient()); 3771 3771 3772 WebFrameProxy* frame = process .webFrame(frameID);3772 WebFrameProxy* frame = process->webFrame(frameID); 3773 3773 MESSAGE_CHECK(process, frame); 3774 3774 MESSAGE_CHECK_URL(process, url); … … 3779 3779 navigation = navigationState().navigation(navigationID); 3780 3780 3781 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());3782 RELEASE_LOG_IF_ALLOWED(Loading, "didStartProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process .processIdentifier(), m_pageID, frameID);3781 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()); 3782 RELEASE_LOG_IF_ALLOWED(Loading, "didStartProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process->processIdentifier(), m_pageID, frameID); 3783 3783 3784 3784 auto transaction = m_pageLoadState.transaction(); … … 3799 3799 m_pageLoadState.commitChanges(); 3800 3800 if (m_loaderClient) 3801 m_loaderClient->didStartProvisionalLoadForFrame(*this, *frame, navigation.get(), process .transformHandlesToObjects(userData.object()).get());3801 m_loaderClient->didStartProvisionalLoadForFrame(*this, *frame, navigation.get(), process->transformHandlesToObjects(userData.object()).get()); 3802 3802 else if (frame->isMainFrame()) 3803 m_navigationClient->didStartProvisionalNavigation(*this, navigation.get(), process .transformHandlesToObjects(userData.object()).get());3803 m_navigationClient->didStartProvisionalNavigation(*this, navigation.get(), process->transformHandlesToObjects(userData.object()).get()); 3804 3804 } 3805 3805 3806 3806 void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(uint64_t frameID, uint64_t navigationID, ResourceRequest&& request, const UserData& userData) 3807 3807 { 3808 didReceiveServerRedirectForProvisionalLoadForFrameShared(m_process , frameID, navigationID, WTFMove(request), userData);3809 } 3810 3811 void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared( WebProcessProxy& process, uint64_t frameID, uint64_t navigationID, ResourceRequest&& request, const UserData& userData)3808 didReceiveServerRedirectForProvisionalLoadForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(request), userData); 3809 } 3810 3811 void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, uint64_t navigationID, ResourceRequest&& request, const UserData& userData) 3812 3812 { 3813 3813 LOG(Loading, "WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame to frameID %" PRIu64 ", navigationID %" PRIu64 ", url %s", frameID, navigationID, request.url().string().utf8().data()); 3814 RELEASE_LOG_IF_ALLOWED(Loading, "didReceiveServerRedirectForProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process .processIdentifier(), m_pageID, frameID);3814 RELEASE_LOG_IF_ALLOWED(Loading, "didReceiveServerRedirectForProvisionalLoadForFrame: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process->processIdentifier(), m_pageID, frameID); 3815 3815 3816 3816 PageClientProtector protector(pageClient()); 3817 3817 3818 WebFrameProxy* frame = process .webFrame(frameID);3818 WebFrameProxy* frame = process->webFrame(frameID); 3819 3819 MESSAGE_CHECK(process, frame); 3820 3820 MESSAGE_CHECK_URL(process, request.url()); … … 3834 3834 m_pageLoadState.commitChanges(); 3835 3835 if (m_loaderClient) 3836 m_loaderClient->didReceiveServerRedirectForProvisionalLoadForFrame(*this, *frame, frame->isMainFrame() ? navigation.get() : nullptr, process .transformHandlesToObjects(userData.object()).get());3836 m_loaderClient->didReceiveServerRedirectForProvisionalLoadForFrame(*this, *frame, frame->isMainFrame() ? navigation.get() : nullptr, process->transformHandlesToObjects(userData.object()).get()); 3837 3837 else if (frame->isMainFrame()) 3838 m_navigationClient->didReceiveServerRedirectForProvisionalNavigation(*this, navigation.get(), process .transformHandlesToObjects(userData.object()).get());3838 m_navigationClient->didReceiveServerRedirectForProvisionalNavigation(*this, navigation.get(), process->transformHandlesToObjects(userData.object()).get()); 3839 3839 } 3840 3840 … … 3846 3846 3847 3847 WebFrameProxy* frame = m_process->webFrame(frameID); 3848 MESSAGE_CHECK(m_process .get(), frame);3848 MESSAGE_CHECK(m_process, frame); 3849 3849 3850 3850 if (frame->isMainFrame()) … … 3859 3859 3860 3860 WebFrameProxy* frame = m_process->webFrame(frameID); 3861 MESSAGE_CHECK(m_process .get(), frame);3861 MESSAGE_CHECK(m_process, frame); 3862 3862 3863 3863 if (frame->isMainFrame()) … … 3867 3867 void WebPageProxy::didChangeProvisionalURLForFrame(uint64_t frameID, uint64_t navigationID, URL&& url) 3868 3868 { 3869 didChangeProvisionalURLForFrameShared(m_process , frameID, navigationID, WTFMove(url));3870 } 3871 3872 void WebPageProxy::didChangeProvisionalURLForFrameShared( WebProcessProxy& process, uint64_t frameID, uint64_t, URL&& url)3869 didChangeProvisionalURLForFrameShared(m_process.copyRef(), frameID, navigationID, WTFMove(url)); 3870 } 3871 3872 void WebPageProxy::didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, uint64_t, URL&& url) 3873 3873 { 3874 3874 PageClientProtector protector(pageClient()); 3875 3875 3876 WebFrameProxy* frame = process .webFrame(frameID);3876 WebFrameProxy* frame = process->webFrame(frameID); 3877 3877 MESSAGE_CHECK(process, frame); 3878 3878 MESSAGE_CHECK(process, frame->frameLoadState().state() == FrameLoadState::State::Provisional); … … 3896 3896 } 3897 3897 3898 didFailProvisionalLoadForFrameShared(m_process , frameID, frameSecurityOrigin, navigationID, provisionalURL, error, userData);3899 } 3900 3901 void WebPageProxy::didFailProvisionalLoadForFrameShared( WebProcessProxy& process, uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const ResourceError& error, const UserData& userData)3902 { 3903 LOG(Loading, "(Loading) WebPageProxy %" PRIu64 " in web process pid %i didFailProvisionalLoadForFrame to provisionalURL %s", m_pageID, process .processIdentifier(), provisionalURL.utf8().data());3904 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());3898 didFailProvisionalLoadForFrameShared(m_process.copyRef(), frameID, frameSecurityOrigin, navigationID, provisionalURL, error, userData); 3899 } 3900 3901 void WebPageProxy::didFailProvisionalLoadForFrameShared(Ref<WebProcessProxy>&& process, uint64_t frameID, const SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const ResourceError& error, const UserData& userData) 3902 { 3903 LOG(Loading, "(Loading) WebPageProxy %" PRIu64 " in web process pid %i didFailProvisionalLoadForFrame to provisionalURL %s", m_pageID, process->processIdentifier(), provisionalURL.utf8().data()); 3904 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()); 3905 3905 3906 3906 PageClientProtector protector(pageClient()); 3907 3907 3908 WebFrameProxy* frame = process .webFrame(frameID);3909 MESSAGE_CHECK(m_process .get(), frame);3908 WebFrameProxy* frame = process->webFrame(frameID); 3909 MESSAGE_CHECK(m_process, frame); 3910 3910 3911 3911 if (m_controlledByAutomation) { 3912 if (auto* automationSession = process .processPool().automationSession())3912 if (auto* automationSession = process->processPool().automationSession()) 3913 3913 automationSession->navigationOccurredForFrame(*frame); 3914 3914 } … … 3935 3935 3936 3936 if (m_loaderClient) 3937 m_loaderClient->didFailProvisionalLoadWithErrorForFrame(*this, *frame, navigation.get(), error, process .transformHandlesToObjects(userData.object()).get());3937 m_loaderClient->didFailProvisionalLoadWithErrorForFrame(*this, *frame, navigation.get(), error, process->transformHandlesToObjects(userData.object()).get()); 3938 3938 else if (frame->isMainFrame()) 3939 m_navigationClient->didFailProvisionalNavigationWithError(*this, *frame, navigation.get(), error, process .transformHandlesToObjects(userData.object()).get());3939 m_navigationClient->didFailProvisionalNavigationWithError(*this, *frame, navigation.get(), error, process->transformHandlesToObjects(userData.object()).get()); 3940 3940 else { 3941 3941 // FIXME: Get the main frame's current navigation. 3942 m_navigationClient->didFailProvisionalLoadInSubframeWithError(*this, *frame, frameSecurityOrigin, nullptr, error, process .transformHandlesToObjects(userData.object()).get());3942 m_navigationClient->didFailProvisionalLoadInSubframeWithError(*this, *frame, frameSecurityOrigin, nullptr, error, process->transformHandlesToObjects(userData.object()).get()); 3943 3943 } 3944 3944 … … 3968 3968 3969 3969 WebFrameProxy* frame = m_process->webFrame(frameID); 3970 MESSAGE_CHECK(m_process .get(), frame);3970 MESSAGE_CHECK(m_process, frame); 3971 3971 3972 3972 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4062 4062 4063 4063 WebFrameProxy* frame = m_process->webFrame(frameID); 4064 MESSAGE_CHECK(m_process .get(), frame);4064 MESSAGE_CHECK(m_process, frame); 4065 4065 4066 4066 if (m_controlledByAutomation) { … … 4086 4086 4087 4087 WebFrameProxy* frame = m_process->webFrame(frameID); 4088 MESSAGE_CHECK(m_process .get(), frame);4088 MESSAGE_CHECK(m_process, frame); 4089 4089 4090 4090 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4131 4131 4132 4132 WebFrameProxy* frame = m_process->webFrame(frameID); 4133 MESSAGE_CHECK(m_process .get(), frame);4133 MESSAGE_CHECK(m_process, frame); 4134 4134 4135 4135 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4173 4173 4174 4174 WebFrameProxy* frame = m_process->webFrame(frameID); 4175 MESSAGE_CHECK(m_process .get(), frame);4176 MESSAGE_CHECK_URL( process(), url);4175 MESSAGE_CHECK(m_process, frame); 4176 MESSAGE_CHECK_URL(m_process, url); 4177 4177 4178 4178 // FIXME: We should message check that navigationID is not zero here, but it's currently zero for some navigations through the page cache. … … 4226 4226 4227 4227 WebFrameProxy* frame = m_process->webFrame(frameID); 4228 MESSAGE_CHECK(m_process .get(), frame);4228 MESSAGE_CHECK(m_process, frame); 4229 4229 4230 4230 auto transaction = m_pageLoadState.transaction(); … … 4252 4252 4253 4253 WebFrameProxy* frame = m_process->webFrame(frameID); 4254 MESSAGE_CHECK(m_process .get(), frame);4254 MESSAGE_CHECK(m_process, frame); 4255 4255 4256 4256 if (m_loaderClient) … … 4283 4283 4284 4284 WebFrameProxy* frame = m_process->webFrame(frameID); 4285 MESSAGE_CHECK(m_process .get(), frame);4285 MESSAGE_CHECK(m_process, frame); 4286 4286 4287 4287 auto transaction = m_pageLoadState.transaction(); … … 4297 4297 4298 4298 WebFrameProxy* frame = m_process->webFrame(frameID); 4299 MESSAGE_CHECK(m_process .get(), frame);4299 MESSAGE_CHECK(m_process, frame); 4300 4300 4301 4301 auto transaction = m_pageLoadState.transaction(); … … 4320 4320 4321 4321 WebFrameProxy* frame = m_process->webFrame(frameID); 4322 MESSAGE_CHECK(m_process .get(), frame);4322 MESSAGE_CHECK(m_process, frame); 4323 4323 4324 4324 frame->setIsFrameSet(value); … … 4336 4336 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) 4337 4337 { 4338 decidePolicyForNavigationActionAsyncShared(m_process , frameID, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID);4339 } 4340 4341 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)4342 { 4343 auto* frame = process .webFrame(frameID);4338 decidePolicyForNavigationActionAsyncShared(m_process.copyRef(), frameID, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, listenerID); 4339 } 4340 4341 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) 4342 { 4343 auto* frame = process->webFrame(frameID); 4344 4344 MESSAGE_CHECK(process, frame); 4345 4345 4346 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) {4346 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) { 4347 4347 process->send(Messages::WebPage::DidReceivePolicyDecision(frameID, listenerID, args...), m_pageID); 4348 4348 })); 4349 4349 } 4350 4350 4351 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)4351 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) 4352 4352 { 4353 4353 LOG(Loading, "WebPageProxy::decidePolicyForNavigationAction - Original URL %s, current target URL %s", originalRequest.url().string().utf8().data(), request.url().string().utf8().data()); … … 4391 4391 4392 4392 uint64_t newNavigationID = navigation->navigationID(); 4393 navigation->setCurrentRequest(ResourceRequest(request), process .coreProcessIdentifier());4393 navigation->setCurrentRequest(ResourceRequest(request), process->coreProcessIdentifier()); 4394 4394 navigation->setLastNavigationAction(navigationActionData); 4395 4395 navigation->setOriginatingFrameInfo(originatingFrameInfoData); … … 4450 4450 4451 4451 API::Navigation* mainFrameNavigation = frame.isMainFrame() ? navigation.get() : nullptr; 4452 WebFrameProxy* originatingFrame = process .webFrame(originatingFrameInfoData.frameID);4452 WebFrameProxy* originatingFrame = process->webFrame(originatingFrameInfoData.frameID); 4453 4453 4454 4454 if (auto* resourceLoadStatisticsStore = websiteDataStore().resourceLoadStatistics()) … … 4456 4456 4457 4457 if (m_policyClient) 4458 m_policyClient->decidePolicyForNavigationAction(*this, &frame, WTFMove(navigationActionData), originatingFrame, originalRequest, WTFMove(request), WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4458 m_policyClient->decidePolicyForNavigationAction(*this, &frame, WTFMove(navigationActionData), originatingFrame, originalRequest, WTFMove(request), WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4459 4459 else { 4460 4460 auto destinationFrameInfo = API::FrameInfo::create(frame, frameSecurityOrigin.securityOrigin()); … … 4463 4463 sourceFrameInfo = destinationFrameInfo.copyRef(); 4464 4464 else if (!fromAPI) 4465 sourceFrameInfo = API::FrameInfo::create(originatingFrameInfoData, originatingPageID ? process .webPage(originatingPageID) : nullptr);4466 4467 auto userInitiatedActivity = process .userInitiatedActivity(navigationActionData.userGestureTokenIdentifier);4465 sourceFrameInfo = API::FrameInfo::create(originatingFrameInfoData, originatingPageID ? process->webPage(originatingPageID) : nullptr); 4466 4467 auto userInitiatedActivity = process->userInitiatedActivity(navigationActionData.userGestureTokenIdentifier); 4468 4468 bool shouldOpenAppLinks = !m_shouldSuppressAppLinksInNextNavigationPolicyDecision && destinationFrameInfo->isMainFrame() && !hostsAreEqual(URL({ }, m_mainFrame->url()), request.url()) && navigationActionData.navigationType != WebCore::NavigationType::BackForward; 4469 4469 4470 4470 auto navigationAction = API::NavigationAction::create(WTFMove(navigationActionData), sourceFrameInfo.get(), destinationFrameInfo.ptr(), WTF::nullopt, WTFMove(request), originalRequest.url(), shouldOpenAppLinks, WTFMove(userInitiatedActivity), mainFrameNavigation); 4471 4471 4472 m_navigationClient->decidePolicyForNavigationAction(*this, WTFMove(navigationAction), WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4472 m_navigationClient->decidePolicyForNavigationAction(*this, WTFMove(navigationAction), WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4473 4473 } 4474 4474 … … 4492 4492 } 4493 4493 4494 decidePolicyForNavigationAction(m_process , *frame, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, sender.copyRef());4494 decidePolicyForNavigationAction(m_process.copyRef(), *frame, WTFMove(frameSecurityOrigin), navigationID, WTFMove(navigationActionData), WTFMove(frameInfoData), originatingPageID, originalRequest, WTFMove(request), WTFMove(requestBody), WTFMove(redirectResponse), userData, sender.copyRef()); 4495 4495 4496 4496 // If the client did not respond synchronously, proceed with the load. … … 4503 4503 4504 4504 WebFrameProxy* frame = m_process->webFrame(frameID); 4505 MESSAGE_CHECK(m_process .get(), frame);4506 MESSAGE_CHECK_URL( process(), request.url());4505 MESSAGE_CHECK(m_process, frame); 4506 MESSAGE_CHECK_URL(m_process, request.url()); 4507 4507 4508 4508 auto listener = makeRef(frame->setUpPolicyListenerProxy([this, protectedThis = makeRef(*this), listenerID, frameID] (WebPolicyAction policyAction, API::WebsitePolicies*, ProcessSwapRequestedByClient processSwapRequestedByClient, RefPtr<SafeBrowsingWarning>&& safeBrowsingWarning) mutable { … … 4534 4534 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) 4535 4535 { 4536 decidePolicyForResponseShared(m_process , frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData);4537 } 4538 4539 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)4536 decidePolicyForResponseShared(m_process.copyRef(), frameID, frameSecurityOrigin, navigationID, response, request, canShowMIMEType, listenerID, userData); 4537 } 4538 4539 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) 4540 4540 { 4541 4541 PageClientProtector protector(pageClient()); … … 4543 4543 m_decidePolicyForResponseRequest = request; 4544 4544 4545 WebFrameProxy* frame = process .webFrame(frameID);4545 WebFrameProxy* frame = process->webFrame(frameID); 4546 4546 MESSAGE_CHECK(process, frame); 4547 4547 MESSAGE_CHECK_URL(process, request.url()); … … 4549 4549 4550 4550 RefPtr<API::Navigation> navigation = navigationID ? m_navigationState->navigation(navigationID) : nullptr; 4551 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 {4551 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 { 4552 4552 // FIXME: Assert the API::WebsitePolicies* is nullptr here once clients of WKFramePolicyListenerUseWithPolicies go away. 4553 4553 RELEASE_ASSERT(processSwapRequestedByClient == ProcessSwapRequestedByClient::No); … … 4559 4559 4560 4560 if (m_policyClient) 4561 m_policyClient->decidePolicyForResponse(*this, *frame, response, request, canShowMIMEType, WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4561 m_policyClient->decidePolicyForResponse(*this, *frame, response, request, canShowMIMEType, WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4562 4562 else { 4563 4563 auto navigationResponse = API::NavigationResponse::create(API::FrameInfo::create(*frame, frameSecurityOrigin.securityOrigin()).get(), request, response, canShowMIMEType); 4564 m_navigationClient->decidePolicyForNavigationResponse(*this, WTFMove(navigationResponse), WTFMove(listener), process .transformHandlesToObjects(userData.object()).get());4564 m_navigationClient->decidePolicyForNavigationResponse(*this, WTFMove(navigationResponse), WTFMove(listener), process->transformHandlesToObjects(userData.object()).get()); 4565 4565 } 4566 4566 } … … 4571 4571 4572 4572 WebFrameProxy* frame = m_process->webFrame(frameID); 4573 MESSAGE_CHECK(m_process .get(), frame);4573 MESSAGE_CHECK(m_process, frame); 4574 4574 4575 4575 if (!m_policyClient) … … 4583 4583 { 4584 4584 WebFrameProxy* frame = m_process->webFrame(frameID); 4585 MESSAGE_CHECK(m_process .get(), frame);4585 MESSAGE_CHECK(m_process, frame); 4586 4586 4587 4587 WebFrameProxy* sourceFrame = m_process->webFrame(sourceFrameID); 4588 MESSAGE_CHECK(m_process .get(), sourceFrame);4588 MESSAGE_CHECK(m_process, sourceFrame); 4589 4589 4590 4590 m_formClient->willSubmitForm(*this, *frame, *sourceFrame, textFieldValues, m_process->transformHandlesToObjects(userData.object()).get(), [this, protectedThis = makeRef(*this), frameID, listenerID]() { … … 4600 4600 void WebPageProxy::didNavigateWithNavigationData(const WebNavigationDataStore& store, uint64_t frameID) 4601 4601 { 4602 didNavigateWithNavigationDataShared(m_process , store, frameID);4603 } 4604 4605 void WebPageProxy::didNavigateWithNavigationDataShared( WebProcessProxy& process, const WebNavigationDataStore& store, uint64_t frameID)4606 { 4607 RELEASE_LOG_IF_ALLOWED(Loading, "didNavigateWithNavigationDataShared: webPID = %i, pageID = %" PRIu64, process .processIdentifier(), m_pageID);4602 didNavigateWithNavigationDataShared(m_process.copyRef(), store, frameID); 4603 } 4604 4605 void WebPageProxy::didNavigateWithNavigationDataShared(Ref<WebProcessProxy>&& process, const WebNavigationDataStore& store, uint64_t frameID) 4606 { 4607 RELEASE_LOG_IF_ALLOWED(Loading, "didNavigateWithNavigationDataShared: webPID = %i, pageID = %" PRIu64, process->processIdentifier(), m_pageID); 4608 4608 4609 4609 PageClientProtector protector(pageClient()); 4610 4610 4611 WebFrameProxy* frame = process .webFrame(frameID);4611 WebFrameProxy* frame = process->webFrame(frameID); 4612 4612 MESSAGE_CHECK(process, frame); 4613 4613 MESSAGE_CHECK(process, frame->page() == this); … … 4615 4615 if (frame->isMainFrame()) 4616 4616 m_historyClient->didNavigateWithNavigationData(*this, store); 4617 process .processPool().historyClient().didNavigateWithNavigationData(process.processPool(), *this, store, *frame);4617 process->processPool().historyClient().didNavigateWithNavigationData(process->processPool(), *this, store, *frame); 4618 4618 } 4619 4619 4620 4620 void WebPageProxy::didPerformClientRedirect(const String& sourceURLString, const String& destinationURLString, uint64_t frameID) 4621 4621 { 4622 didPerformClientRedirectShared(m_process , sourceURLString, destinationURLString, frameID);4623 } 4624 4625 void WebPageProxy::didPerformClientRedirectShared( WebProcessProxy& process, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)4626 { 4627 RELEASE_LOG_IF_ALLOWED(Loading, "didPerformClientRedirectShared: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process .processIdentifier(), m_pageID, frameID);4622 didPerformClientRedirectShared(m_process.copyRef(), sourceURLString, destinationURLString, frameID); 4623 } 4624 4625 void WebPageProxy::didPerformClientRedirectShared(Ref<WebProcessProxy>&& process, const String& sourceURLString, const String& destinationURLString, uint64_t frameID) 4626 { 4627 RELEASE_LOG_IF_ALLOWED(Loading, "didPerformClientRedirectShared: webPID = %i, pageID = %" PRIu64 ", frameID = %" PRIu64, process->processIdentifier(), m_pageID, frameID); 4628 4628 4629 4629 PageClientProtector protector(pageClient()); … … 4632 4632 return; 4633 4633 4634 WebFrameProxy* frame = process .webFrame(frameID);4634 WebFrameProxy* frame = process->webFrame(frameID); 4635 4635 MESSAGE_CHECK(process, frame); 4636 4636 MESSAGE_CHECK(process, frame->page() == this); … … 4642 4642 m_navigationClient->didPerformClientRedirect(*this, sourceURLString, destinationURLString); 4643 4643 } 4644 process .processPool().historyClient().didPerformClientRedirect(process.processPool(), *this, sourceURLString, destinationURLString, *frame);4644 process->processPool().historyClient().didPerformClientRedirect(process->processPool(), *this, sourceURLString, destinationURLString, *frame); 4645 4645 } 4646 4646 … … 4655 4655 4656 4656 WebFrameProxy* frame = m_process->webFrame(frameID); 4657 MESSAGE_CHECK(m_process .get(), frame);4658 MESSAGE_CHECK(m_process .get(), frame->page() == this);4659 4660 MESSAGE_CHECK_URL( process(), sourceURLString);4661 MESSAGE_CHECK_URL( process(), destinationURLString);4657 MESSAGE_CHECK(m_process, frame); 4658 MESSAGE_CHECK(m_process, frame->page() == this); 4659 4660 MESSAGE_CHECK_URL(m_process, sourceURLString); 4661 MESSAGE_CHECK_URL(m_process, destinationURLString); 4662 4662 4663 4663 if (frame->isMainFrame()) … … 4671 4671 4672 4672 WebFrameProxy* frame = m_process->webFrame(frameID); 4673 MESSAGE_CHECK(m_process .get(), frame);4674 MESSAGE_CHECK(m_process .get(), frame->page() == this);4675 4676 MESSAGE_CHECK_URL( process(), url);4673 MESSAGE_CHECK(m_process, frame); 4674 MESSAGE_CHECK(m_process, frame->page() == this); 4675 4676 MESSAGE_CHECK_URL(m_process, url); 4677 4677 4678 4678 if (frame->isMainFrame()) … … 4685 4685 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Messages::WebPageProxy::CreateNewPage::DelayedReply&& reply) 4686 4686 { 4687 MESSAGE_CHECK(m_process .get(), m_process->webFrame(originatingFrameInfoData.frameID));4687 MESSAGE_CHECK(m_process, m_process->webFrame(originatingFrameInfoData.frameID)); 4688 4688 auto originatingFrameInfo = API::FrameInfo::create(originatingFrameInfoData, m_process->webPage(originatingPageID)); 4689 4689 … … 4750 4750 { 4751 4751 WebFrameProxy* frame = m_process->webFrame(frameID); 4752 MESSAGE_CHECK(m_process .get(), frame);4752 MESSAGE_CHECK(m_process, frame); 4753 4753 4754 4754 #if PLATFORM(IOS_FAMILY) … … 4769 4769 { 4770 4770 WebFrameProxy* frame = m_process->webFrame(frameID); 4771 MESSAGE_CHECK(m_process .get(), frame);4771 MESSAGE_CHECK(m_process, frame); 4772 4772 4773 4773 #if PLATFORM(IOS_FAMILY) … … 4789 4789 { 4790 4790 WebFrameProxy* frame = m_process->webFrame(frameID); 4791 MESSAGE_CHECK(m_process .get(), frame);4791 MESSAGE_CHECK(m_process, frame); 4792 4792 4793 4793 #if PLATFORM(IOS_FAMILY) … … 4840 4840 void WebPageProxy::unavailablePluginButtonClicked(uint32_t opaquePluginUnavailabilityReason, const String& mimeType, const String& pluginURLString, const String& pluginspageAttributeURLString, const String& frameURLString, const String& pageURLString) 4841 4841 { 4842 MESSAGE_CHECK_URL( process(), pluginURLString);4843 MESSAGE_CHECK_URL( process(), pluginspageAttributeURLString);4844 MESSAGE_CHECK_URL( process(), frameURLString);4845 MESSAGE_CHECK_URL( process(), pageURLString);4842 MESSAGE_CHECK_URL(m_process, pluginURLString); 4843 MESSAGE_CHECK_URL(m_process, pluginspageAttributeURLString); 4844 MESSAGE_CHECK_URL(m_process, frameURLString); 4845 MESSAGE_CHECK_URL(m_process, pageURLString); 4846 4846 4847 4847 String newMimeType = mimeType; … … 4969 4969 { 4970 4970 WebFrameProxy* frame = m_process->webFrame(frameID); 4971 MESSAGE_CHECK(m_process .get(), frame);4971 MESSAGE_CHECK(m_process, frame); 4972 4972 4973 4973 // Per §18 User Prompts in the WebDriver spec, "User prompts that are spawned from beforeunload … … 5014 5014 5015 5015 WebFrameProxy* frame = m_process->webFrame(frameID); 5016 MESSAGE_CHECK(m_process .get(), frame);5016 MESSAGE_CHECK(m_process, frame); 5017 5017 5018 5018 Ref<API::OpenPanelParameters> parameters = API::OpenPanelParameters::create(settings); … … 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 m_uiClient->printFrame(*this, *frame); … … 5340 5340 void WebPageProxy::backForwardGoToItem(const BackForwardItemIdentifier& itemID, SandboxExtension::Handle& sandboxExtensionHandle) 5341 5341 { 5342 backForwardGoToItemShared(m_process , itemID, sandboxExtensionHandle);5343 } 5344 5345 void WebPageProxy::backForwardGoToItemShared( WebProcessProxy& process, const BackForwardItemIdentifier& itemID, SandboxExtension::Handle& sandboxExtensionHandle)5342 backForwardGoToItemShared(m_process.copyRef(), itemID, sandboxExtensionHandle); 5343 } 5344 5345 void WebPageProxy::backForwardGoToItemShared(Ref<WebProcessProxy>&& process, const BackForwardItemIdentifier& itemID, SandboxExtension::Handle& sandboxExtensionHandle) 5346 5346 { 5347 5347 WebBackForwardListItem* item = m_backForwardList->itemForID(itemID); … … 5830 5830 void WebPageProxy::learnWord(const String& word) 5831 5831 { 5832 MESSAGE_CHECK(m_process .get(), m_pendingLearnOrIgnoreWordMessageCount);5832 MESSAGE_CHECK(m_process, m_pendingLearnOrIgnoreWordMessageCount); 5833 5833 --m_pendingLearnOrIgnoreWordMessageCount; 5834 5834 … … 5838 5838 void WebPageProxy::ignoreWord(const String& word) 5839 5839 { 5840 MESSAGE_CHECK(m_process .get(), m_pendingLearnOrIgnoreWordMessageCount);5840 MESSAGE_CHECK(m_process, m_pendingLearnOrIgnoreWordMessageCount); 5841 5841 --m_pendingLearnOrIgnoreWordMessageCount; 5842 5842 … … 5936 5936 5937 5937 // Retire the last sent event now that WebProcess is done handling it. 5938 MESSAGE_CHECK(m_process .get(), !m_mouseEventQueue.isEmpty());5938 MESSAGE_CHECK(m_process, !m_mouseEventQueue.isEmpty()); 5939 5939 NativeWebMouseEvent event = m_mouseEventQueue.takeFirst(); 5940 MESSAGE_CHECK(m_process .get(), type == event.type());5940 MESSAGE_CHECK(m_process, type == event.type()); 5941 5941 5942 5942 if (!m_mouseEventQueue.isEmpty()) { … … 5953 5953 5954 5954 case WebEvent::Wheel: { 5955 MESSAGE_CHECK(m_process .get(), !m_currentlyProcessedWheelEvents.isEmpty());5955 MESSAGE_CHECK(m_process, !m_currentlyProcessedWheelEvents.isEmpty()); 5956 5956 5957 5957 std::unique_ptr<Vector<NativeWebWheelEvent>> oldestCoalescedEvent = m_currentlyProcessedWheelEvents.takeFirst(); … … 5974 5974 LOG(KeyHandling, "WebPageProxy::didReceiveEvent: %s (queue empty %d)", webKeyboardEventTypeString(type), m_keyEventQueue.isEmpty()); 5975 5975 5976 MESSAGE_CHECK(m_process .get(), !m_keyEventQueue.isEmpty());5976 MESSAGE_CHECK(m_process, !m_keyEventQueue.isEmpty()); 5977 5977 NativeWebKeyboardEvent event = m_keyEventQueue.takeFirst(); 5978 5978 5979 MESSAGE_CHECK(m_process .get(), type == event.type());5979 MESSAGE_CHECK(m_process, type == event.type()); 5980 5980 5981 5981 bool canProcessMoreKeyEvents = !m_keyEventQueue.isEmpty(); … … 6004 6004 case WebEvent::GestureChange: 6005 6005 case WebEvent::GestureEnd: { 6006 MESSAGE_CHECK(m_process .get(), !m_gestureEventQueue.isEmpty());6006 MESSAGE_CHECK(m_process, !m_gestureEventQueue.isEmpty()); 6007 6007 NativeWebGestureEvent event = m_gestureEventQueue.takeFirst(); 6008 6008 6009 MESSAGE_CHECK(m_process .get(), type == event.type());6009 MESSAGE_CHECK(m_process, type == event.type()); 6010 6010 6011 6011 if (!handled) … … 6026 6026 case WebEvent::TouchEnd: 6027 6027 case WebEvent::TouchCancel: { 6028 MESSAGE_CHECK(m_process .get(), !m_touchEventQueue.isEmpty());6028 MESSAGE_CHECK(m_process, !m_touchEventQueue.isEmpty()); 6029 6029 QueuedTouchEvents queuedEvents = m_touchEventQueue.takeFirst(); 6030 6030 6031 MESSAGE_CHECK(m_process .get(), type == queuedEvents.forwardedEvent.type());6031 MESSAGE_CHECK(m_process, type == queuedEvents.forwardedEvent.type()); 6032 6032 6033 6033 pageClient().doneWithTouchEvent(queuedEvents.forwardedEvent, handled); … … 6157 6157 void WebPageProxy::editingRangeCallback(const EditingRange& range, CallbackID callbackID) 6158 6158 { 6159 MESSAGE_CHECK(m_process .get(), range.isValid());6159 MESSAGE_CHECK(m_process, range.isValid()); 6160 6160 6161 6161 auto callback = m_callbacks.take<EditingRangeCallback>(callbackID); … … 6258 6258 void WebPageProxy::rectForCharacterRangeCallback(const IntRect& rect, const EditingRange& actualRange, CallbackID callbackID) 6259 6259 { 6260 MESSAGE_CHECK(m_process .get(), actualRange.isValid());6260 MESSAGE_CHECK(m_process, actualRange.isValid()); 6261 6261 6262 6262 auto callback = m_callbacks.take<RectForCharacterRangeCallback>(callbackID); … … 6291 6291 6292 6292 WebFrameProxy* frame = m_process->webFrame(frameID); 6293 MESSAGE_CHECK(m_process .get(), frame);6293 MESSAGE_CHECK(m_process, frame); 6294 6294 6295 6295 m_focusedFrame = frame; … … 6304 6304 6305 6305 WebFrameProxy* frame = m_process->webFrame(frameID); 6306 MESSAGE_CHECK(m_process .get(), frame);6306 MESSAGE_CHECK(m_process, frame); 6307 6307 6308 6308 m_frameSetLargestFrame = frame; … … 6850 6850 while (record) { 6851 6851 WebFrameProxy* frame = m_process->webFrame(record->frameID); 6852 MESSAGE_CHECK(m_process .get(), frame);6852 MESSAGE_CHECK(m_process, frame); 6853 6853 6854 6854 auto origin = API::SecurityOrigin::create(SecurityOriginData::fromDatabaseIdentifier(record->originIdentifier)->securityOrigin()); … … 6867 6867 { 6868 6868 WebFrameProxy* frame = m_process->webFrame(frameID); 6869 MESSAGE_CHECK(m_process .get(), frame);6869 MESSAGE_CHECK(m_process, frame); 6870 6870 6871 6871 // FIXME: Geolocation should probably be using toString() as its string representation instead of databaseIdentifier(). … … 6906 6906 { 6907 6907 #if ENABLE(MEDIA_STREAM) 6908 MESSAGE_CHECK(m_process .get(), m_process->webFrame(frameID));6908 MESSAGE_CHECK(m_process, m_process->webFrame(frameID)); 6909 6909 6910 6910 userMediaPermissionRequestManager().requestUserMediaPermissionForFrame(userMediaID, frameID, userMediaDocumentOriginData.securityOrigin(), topLevelDocumentOriginData.securityOrigin(), request); … … 6922 6922 #if ENABLE(MEDIA_STREAM) 6923 6923 WebFrameProxy* frame = m_process->webFrame(frameID); 6924 MESSAGE_CHECK(m_process .get(), frame);6924 MESSAGE_CHECK(m_process, frame); 6925 6925 6926 6926 userMediaPermissionRequestManager().enumerateMediaDevicesForFrame(userMediaID, frameID, userMediaDocumentOriginData.securityOrigin(), topLevelDocumentOriginData.securityOrigin()); … … 8139 8139 void WebPageProxy::startURLSchemeTask(URLSchemeTaskParameters&& parameters) 8140 8140 { 8141 startURLSchemeTaskShared(m_process , WTFMove(parameters));8142 } 8143 8144 void WebPageProxy::startURLSchemeTaskShared( WebProcessProxy& process, URLSchemeTaskParameters&& parameters)8141 startURLSchemeTaskShared(m_process.copyRef(), WTFMove(parameters)); 8142 } 8143 8144 void WebPageProxy::startURLSchemeTaskShared(Ref<WebProcessProxy>&& process, URLSchemeTaskParameters&& parameters) 8145 8145 { 8146 8146 auto iterator = m_urlSchemeHandlersByIdentifier.find(parameters.handlerIdentifier); 8147 MESSAGE_CHECK( m_process.get(), iterator != m_urlSchemeHandlersByIdentifier.end());8147 MESSAGE_CHECK(process, iterator != m_urlSchemeHandlersByIdentifier.end()); 8148 8148 8149 8149 iterator->value->startTask(*this, process, parameters.taskIdentifier, WTFMove(parameters.request), nullptr); … … 8153 8153 { 8154 8154 auto iterator = m_urlSchemeHandlersByIdentifier.find(handlerIdentifier); 8155 MESSAGE_CHECK(m_process .get(), iterator != m_urlSchemeHandlersByIdentifier.end());8155 MESSAGE_CHECK(m_process, iterator != m_urlSchemeHandlersByIdentifier.end()); 8156 8156 8157 8157 iterator->value->stopTask(*this, taskIdentifier); … … 8161 8161 { 8162 8162 auto iterator = m_urlSchemeHandlersByIdentifier.find(parameters.handlerIdentifier); 8163 MESSAGE_CHECK(m_process .get(), iterator != m_urlSchemeHandlersByIdentifier.end());8163 MESSAGE_CHECK(m_process, iterator != m_urlSchemeHandlersByIdentifier.end()); 8164 8164 8165 8165 iterator->value->startTask(*this, m_process, parameters.taskIdentifier, WTFMove(parameters.request), WTFMove(reply)); -
branches/safari-607-branch/Source/WebKit/UIProcess/WebPageProxy.h
r240263 r240264 1423 1423 1424 1424 // Logic shared between the WebPageProxy and the ProvisionalPageProxy. 1425 void didStartProvisionalLoadForFrameShared( WebProcessProxy&, uint64_t frameID, uint64_t navigationID, URL&&, URL&& unreachableURL, const UserData&);1426 void didFailProvisionalLoadForFrameShared( WebProcessProxy&, uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const WebCore::ResourceError&, const UserData&);1427 void didReceiveServerRedirectForProvisionalLoadForFrameShared( WebProcessProxy&, uint64_t frameID, uint64_t navigationID, WebCore::ResourceRequest&&, const UserData&);1428 void didPerformClientRedirectShared( WebProcessProxy&, const String& sourceURLString, const String& destinationURLString, uint64_t frameID);1429 void didNavigateWithNavigationDataShared( WebProcessProxy&, const WebNavigationDataStore&, uint64_t frameID);1430 void didChangeProvisionalURLForFrameShared( WebProcessProxy&, uint64_t frameID, uint64_t navigationID, URL&&);1431 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);1432 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&);1433 void startURLSchemeTaskShared( WebProcessProxy&, URLSchemeTaskParameters&&);1434 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);1435 void loadRequestWithNavigationShared( WebProcessProxy&, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& = WTF::nullopt);1436 void backForwardGoToItemShared( WebProcessProxy&, const WebCore::BackForwardItemIdentifier&, SandboxExtension::Handle&);1425 void didStartProvisionalLoadForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, uint64_t navigationID, URL&&, URL&& unreachableURL, const UserData&); 1426 void didFailProvisionalLoadForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const String& provisionalURL, const WebCore::ResourceError&, const UserData&); 1427 void didReceiveServerRedirectForProvisionalLoadForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, uint64_t navigationID, WebCore::ResourceRequest&&, const UserData&); 1428 void didPerformClientRedirectShared(Ref<WebProcessProxy>&&, const String& sourceURLString, const String& destinationURLString, uint64_t frameID); 1429 void didNavigateWithNavigationDataShared(Ref<WebProcessProxy>&&, const WebNavigationDataStore&, uint64_t frameID); 1430 void didChangeProvisionalURLForFrameShared(Ref<WebProcessProxy>&&, uint64_t frameID, uint64_t navigationID, URL&&); 1431 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); 1432 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&); 1433 void startURLSchemeTaskShared(Ref<WebProcessProxy>&&, URLSchemeTaskParameters&&); 1434 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); 1435 void loadRequestWithNavigationShared(Ref<WebProcessProxy>&&, API::Navigation&, WebCore::ResourceRequest&&, WebCore::ShouldOpenExternalURLsPolicy, API::Object* userData, WebCore::ShouldTreatAsContinuingLoad, Optional<WebsitePoliciesData>&& = WTF::nullopt); 1436 void backForwardGoToItemShared(Ref<WebProcessProxy>&&, const WebCore::BackForwardItemIdentifier&, SandboxExtension::Handle&); 1437 1437 1438 1438 // IPC::MessageReceiver … … 1516 1516 void didDestroyNavigation(uint64_t navigationID); 1517 1517 1518 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>&&);1518 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>&&); 1519 1519 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); 1520 1520 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.