Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1138)

Unified Diff: third_party/WebKit/Source/web/LocalFrameClientImpl.cpp

Issue 2781723007: Plumb initiator out of Blink. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/LocalFrameClientImpl.cpp
diff --git a/third_party/WebKit/Source/web/LocalFrameClientImpl.cpp b/third_party/WebKit/Source/web/LocalFrameClientImpl.cpp
index 6d41c4722aaa74a90af2d742fd2a925c88fa42b0..37de5421228b5e03a3cf8d884f1cad51eabbd9ca 100644
--- a/third_party/WebKit/Source/web/LocalFrameClientImpl.cpp
+++ b/third_party/WebKit/Source/web/LocalFrameClientImpl.cpp
@@ -427,8 +427,13 @@ void LocalFrameClientImpl::dispatchDidStartProvisionalLoad(
ResourceRequest& request) {
if (m_webFrame->client()) {
WrappedResourceRequest wrappedRequest(request);
+ DCHECK(!loader->originDocument() || loader->originDocument()->frame());
+ WebLocalFrame* initiatorFrame =
+ loader->originDocument()
+ ? WebLocalFrameImpl::fromFrame(loader->originDocument()->frame())
+ : nullptr;
m_webFrame->client()->didStartProvisionalLoad(
- WebDataSourceImpl::fromDocumentLoader(loader),
+ initiatorFrame, WebDataSourceImpl::fromDocumentLoader(loader),
wrappedRequest);
}
if (WebDevToolsAgentImpl* devTools = devToolsAgent())
@@ -528,6 +533,7 @@ static bool allowCreatingBackgroundTabs() {
}
NavigationPolicy LocalFrameClientImpl::decidePolicyForNavigation(
+ Document* originDocument,
const ResourceRequest& request,
DocumentLoader* loader,
NavigationType type,
@@ -727,11 +733,12 @@ DocumentLoader* LocalFrameClientImpl::createDocumentLoader(
LocalFrame* frame,
const ResourceRequest& request,
const SubstituteData& data,
- ClientRedirectPolicy clientRedirectPolicy) {
+ ClientRedirectPolicy clientRedirectPolicy,
+ Document* originDocument) {
DCHECK(frame);
- WebDataSourceImpl* ds =
- WebDataSourceImpl::create(frame, request, data, clientRedirectPolicy);
+ WebDataSourceImpl* ds = WebDataSourceImpl::create(
+ frame, request, data, clientRedirectPolicy, originDocument);
if (m_webFrame->client())
m_webFrame->client()->didCreateDataSource(m_webFrame, ds);
return ds;
« no previous file with comments | « third_party/WebKit/Source/web/LocalFrameClientImpl.h ('k') | third_party/WebKit/Source/web/RemoteFrameClientImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698