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

Unified Diff: Source/web/FrameLoaderClientImpl.cpp

Issue 319573008: Navigation transitions: Initiate navigation transition and send serialized markup to Chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@transitions_editing
Patch Set: Rebase Created 6 years, 5 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
« no previous file with comments | « Source/web/FrameLoaderClientImpl.h ('k') | Source/web/tests/WebFrameTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/FrameLoaderClientImpl.cpp
diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp
index bf1b6dc947707590a69c653f202b72808e544096..81749d7807548222d50026463c981e26da97a660 100644
--- a/Source/web/FrameLoaderClientImpl.cpp
+++ b/Source/web/FrameLoaderClientImpl.cpp
@@ -391,10 +391,10 @@ void FrameLoaderClientImpl::dispatchWillClose()
m_webFrame->client()->willClose(m_webFrame);
}
-void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad()
+void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad(bool isTransitionNavigation)
{
if (m_webFrame->client())
- m_webFrame->client()->didStartProvisionalLoad(m_webFrame);
+ m_webFrame->client()->didStartProvisionalLoad(m_webFrame, isTransitionNavigation);
}
void FrameLoaderClientImpl::dispatchDidReceiveTitle(const String& title)
@@ -464,16 +464,31 @@ void FrameLoaderClientImpl::dispatchDidChangeThemeColor()
m_webFrame->client()->didChangeThemeColor();
}
-NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const ResourceRequest& request, DocumentLoader* loader, NavigationPolicy policy)
+NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const ResourceRequest& request, DocumentLoader* loader, NavigationPolicy policy, bool isTransitionNavigation)
{
if (!m_webFrame->client())
return NavigationPolicyIgnore;
WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader(loader);
- WebNavigationPolicy webPolicy = m_webFrame->client()->decidePolicyForNavigation(m_webFrame, ds->extraData(), WrappedResourceRequest(request),
- ds->navigationType(), static_cast<WebNavigationPolicy>(policy), ds->isRedirect());
+
+ WrappedResourceRequest wrappedResourceRequest(request);
+ WebFrameClient::NavigationPolicyInfo navigationInfo(wrappedResourceRequest);
+ navigationInfo.frame = m_webFrame;
+ navigationInfo.extraData = ds->extraData();
+ navigationInfo.navigationType = ds->navigationType();
+ navigationInfo.defaultPolicy = static_cast<WebNavigationPolicy>(policy);
+ navigationInfo.isRedirect = ds->isRedirect();
+ navigationInfo.isTransitionNavigation = isTransitionNavigation;
+
+ WebNavigationPolicy webPolicy = m_webFrame->client()->decidePolicyForNavigation(navigationInfo);
return static_cast<NavigationPolicy>(webPolicy);
}
+void FrameLoaderClientImpl::dispatchAddNavigationTransitionData(const String& allowedDestinationOrigin, const String& selector, const String& markup)
+{
+ if (m_webFrame->client())
+ m_webFrame->client()->addNavigationTransitionData(allowedDestinationOrigin, selector, markup);
+}
+
void FrameLoaderClientImpl::dispatchWillRequestResource(FetchRequest* request)
{
if (m_webFrame->client()) {
« no previous file with comments | « Source/web/FrameLoaderClientImpl.h ('k') | Source/web/tests/WebFrameTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698