Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (252076 => 252077)
--- trunk/Source/WebCore/loader/DocumentLoader.cpp 2019-11-05 21:41:48 UTC (rev 252076)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp 2019-11-05 21:47:20 UTC (rev 252077)
@@ -223,8 +223,12 @@
ASSERT(!m_committed);
m_request = req;
- if (shouldNotifyAboutProvisionalURLChange)
+ if (shouldNotifyAboutProvisionalURLChange) {
+ // Logging for <rdar://problem/54830233>.
+ if (!frameLoader()->provisionalDocumentLoader())
+ RELEASE_LOG_IF_ALLOWED("DocumentLoader::setRequest: With no provisional document loader (frame = %p, main = %d)", m_frame, m_frame ? m_frame->isMainFrame() : false);
frameLoader()->client().dispatchDidChangeProvisionalURL();
+ }
}
void DocumentLoader::setMainDocumentError(const ResourceError& error)
@@ -570,6 +574,10 @@
// callbacks is meant to prevent.
ASSERT(!newRequest.isNull());
+ // Logging for <rdar://problem/54830233>.
+ if (!frameLoader() || !frameLoader()->provisionalDocumentLoader())
+ RELEASE_LOG_IF_ALLOWED("willSendRequest: With no provisional document loader (frame = %p, main = %d)", m_frame, m_frame ? m_frame->isMainFrame() : false);
+
bool didReceiveRedirectResponse = !redirectResponse.isNull();
if (!frameLoader()->checkIfFormActionAllowedByCSP(newRequest.url(), didReceiveRedirectResponse)) {
RELEASE_LOG_IF_ALLOWED("willSendRequest: canceling - form action not allowed by CSP (frame = %p, main = %d)", m_frame, m_frame->isMainFrame());
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (252076 => 252077)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2019-11-05 21:41:48 UTC (rev 252076)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2019-11-05 21:47:20 UTC (rev 252077)
@@ -1237,6 +1237,7 @@
m_client.revertToProvisionalState(m_documentLoader.get());
setState(FrameStateProvisional);
m_provisionalDocumentLoader = m_documentLoader;
+ RELEASE_LOG_IF_ALLOWED("setupForReplace: Setting provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
m_documentLoader = nullptr;
detachChildren();
}
@@ -1651,6 +1652,7 @@
SetForScope<bool> change(m_inClearProvisionalLoadForPolicyCheck, true);
m_provisionalDocumentLoader->stopLoading();
+ RELEASE_LOG_IF_ALLOWED("clearProvisionalLoadForPolicyCheck: Clearing provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(nullptr);
}
@@ -1839,6 +1841,7 @@
if (m_documentLoader)
m_documentLoader->stopLoading();
+ RELEASE_LOG_IF_ALLOWED("allAllLoaders: Clearing provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(nullptr);
m_inStopAllLoaders = false;
@@ -1850,6 +1853,7 @@
if (!m_frame.isMainFrame()) {
if (m_provisionalDocumentLoader)
m_provisionalDocumentLoader->stopLoading();
+ RELEASE_LOG_IF_ALLOWED("stopForBackForwardCache: Clearing provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(nullptr);
}
@@ -1996,6 +2000,7 @@
void FrameLoader::clearProvisionalLoad()
{
+ RELEASE_LOG_IF_ALLOWED("clearProvisionalLoad: Clearing provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(nullptr);
m_progressTracker->progressCompleted();
setState(FrameStateComplete);
@@ -2161,6 +2166,7 @@
setDocumentLoader(m_provisionalDocumentLoader.get());
if (pdl != m_provisionalDocumentLoader)
return;
+ RELEASE_LOG_IF_ALLOWED("transitionToCommitted: Clearing provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(nullptr);
// Nothing else can interrupt this commit - set the Provisional->Committed transition in stone
@@ -3205,6 +3211,7 @@
// If we have a provisional request for a different document, a fragment scroll should cancel it.
if (m_provisionalDocumentLoader && !equalIgnoringFragmentIdentifier(m_provisionalDocumentLoader->request().url(), request.url())) {
m_provisionalDocumentLoader->stopLoading();
+ RELEASE_LOG_IF_ALLOWED("continueFragmentScrollAfterNavigationPolicy: Clearing provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(nullptr);
}
@@ -3490,6 +3497,7 @@
}
setProvisionalDocumentLoader(m_policyDocumentLoader.get());
+ RELEASE_LOG_IF_ALLOWED("continueLoadAfterNavigationPolicy: Setting provisional document loader (frame = %p, main = %d m_provisionalDocumentLoader=%p)", &m_frame, m_frame.isMainFrame(), m_provisionalDocumentLoader.get());
m_loadType = type;
setState(FrameStateProvisional);