diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 2c82082ae675..2a04357e421c 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,21 @@ +2017-08-26 Alex Christensen + + Remove PolicyChecker::cancelCheck + https://bugs.webkit.org/show_bug.cgi?id=176002 + + Reviewed by Darin Adler. + + cancelCheck is conceptually equivalent to not calling a completion handler. + stopCheck is conceptually equivalent to calling a completion handler with PolicyIgnore just before cleaning up everything, + which is semantically cleaner and necessary when I replace the last use of PolicyCallback with a CompletionHandler. + Before this change, we were probably causing some loading objects to hang right before deleting them, and this cleans them up better. + + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::cancelPolicyCheckIfNeeded): + * loader/PolicyChecker.cpp: + (WebCore::PolicyChecker::cancelCheck): Deleted. + * loader/PolicyChecker.h: + 2017-08-25 Daniel Bates InlineTextBox::paintDocumentMarker() does not need to special case painting of grammar and diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp index b14b9f272ba7..fedc70deeee9 100644 --- a/Source/WebCore/loader/DocumentLoader.cpp +++ b/Source/WebCore/loader/DocumentLoader.cpp @@ -1538,7 +1538,7 @@ void DocumentLoader::cancelPolicyCheckIfNeeded() RELEASE_ASSERT(frameLoader()); if (m_waitingForContentPolicy || m_waitingForNavigationPolicy) { - frameLoader()->policyChecker().cancelCheck(); + frameLoader()->policyChecker().stopCheck(); m_waitingForContentPolicy = false; m_waitingForNavigationPolicy = false; } diff --git a/Source/WebCore/loader/PolicyChecker.cpp b/Source/WebCore/loader/PolicyChecker.cpp index b4eae67cb021..a2b7a9414bf2 100644 --- a/Source/WebCore/loader/PolicyChecker.cpp +++ b/Source/WebCore/loader/PolicyChecker.cpp @@ -177,12 +177,6 @@ void PolicyChecker::checkNewWindowPolicy(NavigationAction&& navigationAction, co }); } -void PolicyChecker::cancelCheck() -{ - m_frame.loader().client().cancelPolicyCheck(); - m_callback = { }; -} - void PolicyChecker::stopCheck() { m_frame.loader().client().cancelPolicyCheck(); diff --git a/Source/WebCore/loader/PolicyChecker.h b/Source/WebCore/loader/PolicyChecker.h index 31dced54f538..27417a12961f 100644 --- a/Source/WebCore/loader/PolicyChecker.h +++ b/Source/WebCore/loader/PolicyChecker.h @@ -59,8 +59,6 @@ class PolicyChecker { void checkNavigationPolicy(const ResourceRequest&, bool didReceiveRedirectResponse, NavigationPolicyDecisionFunction); void checkNewWindowPolicy(NavigationAction&&, const ResourceRequest&, FormState*, const String& frameName, NewWindowPolicyDecisionFunction); - // FIXME: These are different. They could use better names. - void cancelCheck(); void stopCheck(); void cannotShowMIMEType(const ResourceResponse&);