Title: [228355] branches/safari-605-branch/Source/WebKit
- Revision
- 228355
- Author
- jmarc...@apple.com
- Date
- 2018-02-09 21:43:38 -0800 (Fri, 09 Feb 2018)
Log Message
Cherry-pick r228257. rdar://problem/37408882
Modified Paths
Diff
Modified: branches/safari-605-branch/Source/WebKit/ChangeLog (228354 => 228355)
--- branches/safari-605-branch/Source/WebKit/ChangeLog 2018-02-10 05:43:36 UTC (rev 228354)
+++ branches/safari-605-branch/Source/WebKit/ChangeLog 2018-02-10 05:43:38 UTC (rev 228355)
@@ -1,5 +1,23 @@
2018-02-09 Jason Marcell <jmarc...@apple.com>
+ Cherry-pick r228257. rdar://problem/37408882
+
+ 2018-02-07 Antti Koivisto <an...@apple.com> and Youenn Fablet <you...@apple.com>
+
+ REGRESSION(r227758): Webpage fails to load due to crash in com.apple.WebKit: WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse + 267
+ https://bugs.webkit.org/show_bug.cgi?id=182532
+ <rdar://problem/36414017>
+
+ Reviewed by Chris Dumez.
+
+ No test case, don't know how to make one. The repro involves multipart HTTP streaming and details are hazy.
+ We were calling a function that was WTFMoved away just a few lines above.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
+
+2018-02-09 Jason Marcell <jmarc...@apple.com>
+
Cherry-pick r228253. rdar://problem/37408874
2018-02-07 Tim Horton <timothy_hor...@apple.com>
Modified: branches/safari-605-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (228354 => 228355)
--- branches/safari-605-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2018-02-10 05:43:36 UTC (rev 228354)
+++ branches/safari-605-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2018-02-10 05:43:38 UTC (rev 228355)
@@ -746,18 +746,19 @@
bool canShowMIMEType = webPage->canShowMIMEType(response.mimeType());
+ WebCore::Frame* coreFrame = m_frame->coreFrame();
+ auto* policyDocumentLoader = coreFrame ? coreFrame->loader().provisionalDocumentLoader() : nullptr;
+ if (!policyDocumentLoader) {
+ function(PolicyAction::Ignore);
+ return;
+ }
+
+ Ref<WebFrame> protector(*m_frame);
uint64_t listenerID = m_frame->setUpPolicyListener(WTFMove(function), WebFrame::ForNavigationAction::No);
bool receivedPolicyAction;
PolicyAction policyAction;
DownloadID downloadID;
- Ref<WebFrame> protect(*m_frame);
- WebCore::Frame* coreFrame = m_frame->coreFrame();
- if (!coreFrame)
- return function(PolicyAction::Ignore);
- auto* policyDocumentLoader = coreFrame->loader().provisionalDocumentLoader();
- if (!policyDocumentLoader)
- return function(PolicyAction::Ignore);
auto navigationID = static_cast<WebDocumentLoader&>(*policyDocumentLoader).navigationID();
if (!webPage->sendSync(Messages::WebPageProxy::DecidePolicyForResponseSync(m_frame->frameID(), SecurityOriginData::fromFrame(coreFrame), navigationID, response, request, canShowMIMEType, listenerID, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())), Messages::WebPageProxy::DecidePolicyForResponseSync::Reply(receivedPolicyAction, policyAction, downloadID), Seconds::infinity(), IPC::SendSyncOption::InformPlatformProcessWillSuspend)) {
m_frame->didReceivePolicyDecision(listenerID, PolicyAction::Ignore, 0, { }, { });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes