WebKit Bugzilla
Attachment 361895 Details for
Bug 194582
: Release assert in PolicyCheckIdentifier::isValidFor via WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Fixes the bug
bug-194582-20190212221257.patch (text/plain), 4.07 KB, created by
Ryosuke Niwa
on 2019-02-12 22:12:58 PST
(
hide
)
Description:
Fixes the bug
Filename:
MIME Type:
Creator:
Ryosuke Niwa
Created:
2019-02-12 22:12:58 PST
Size:
4.07 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 241322) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,16 @@ >+2019-02-12 Ryosuke Niwa <rniwa@webkit.org> >+ >+ Release assert in PolicyCheckIdentifier::isValidFor via WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction >+ https://bugs.webkit.org/show_bug.cgi?id=194582 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Check the zero-ness of m_policyCheck first so that we can differentiate process ID being wrong >+ from the non-generated identifier being sent to us as it was the case in this failure. >+ >+ * loader/PolicyChecker.cpp: >+ (WebCore::PolicyCheckIdentifier::isValidFor): >+ > 2019-02-12 Wenson Hsieh <wenson_hsieh@apple.com> > > Allow pages to trigger programmatic paste from script on iOS >Index: Source/WebCore/loader/PolicyChecker.cpp >=================================================================== >--- Source/WebCore/loader/PolicyChecker.cpp (revision 241322) >+++ Source/WebCore/loader/PolicyChecker.cpp (working copy) >@@ -80,8 +80,8 @@ PolicyCheckIdentifier PolicyCheckIdentif > > bool PolicyCheckIdentifier::isValidFor(PolicyCheckIdentifier expectedIdentifier) > { >- RELEASE_ASSERT_WITH_MESSAGE(m_process == expectedIdentifier.m_process, "Received a policy check response for a wrong process"); > RELEASE_ASSERT_WITH_MESSAGE(m_policyCheck, "Received 0 as the policy check identifier"); >+ RELEASE_ASSERT_WITH_MESSAGE(m_process == expectedIdentifier.m_process, "Received a policy check response for a wrong process"); > RELEASE_ASSERT_WITH_MESSAGE(m_policyCheck <= expectedIdentifier.m_policyCheck, "Received a policy check response from the future"); > return m_policyCheck == expectedIdentifier.m_policyCheck; > } >Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 241339) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,19 @@ >+2019-02-12 Ryosuke Niwa <rniwa@webkit.org> >+ >+ Release assert in PolicyCheckIdentifier::isValidFor via WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction >+ https://bugs.webkit.org/show_bug.cgi?id=194582 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The bug was caused by WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction invoking the callback >+ with responseIdentifier even when we had failed to send the policy check IPC. Clearly, responseIdentifier >+ is invalid in that case, and we should be using requestIdentifier instead. >+ >+ Unfortunately no new tests since I'm not aware of a way to make sendSync fail in this case. >+ >+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: >+ (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): >+ > 2019-02-12 Youenn Fablet <youenn@apple.com> > > WebServiceWorkerProvider::handleFetch no longer needs a CachedResource parameter >Index: Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp >=================================================================== >--- Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (revision 241322) >+++ Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (working copy) >@@ -911,7 +911,7 @@ void WebFrameLoaderClient::dispatchDecid > requestIdentifier, documentLoader->navigationID(), navigationActionData, originatingFrameInfoData, originatingPageID, navigationAction.resourceRequest(), request, > IPC::FormDataReference { request.httpBody() }, redirectResponse, UserData(WebProcess::singleton().transformObjectsToHandles(userData.get()).get())), > Messages::WebPageProxy::DecidePolicyForNavigationActionSync::Reply(responseIdentifier, policyAction, newNavigationID, downloadID, websitePolicies))) { >- m_frame->didReceivePolicyDecision(listenerID, responseIdentifier, PolicyAction::Ignore, 0, { }, { }); >+ m_frame->didReceivePolicyDecision(listenerID, requestIdentifier, PolicyAction::Ignore, 0, { }, { }); > return; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194582
: 361895