Index: Source/web/FrameLoaderClientImpl.cpp |
diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp |
index f76882975b9aa0a6081406973539e328c9e50581..f4ca4dee4ae79652ad212d00550222a743f9cbbf 100644 |
--- a/Source/web/FrameLoaderClientImpl.cpp |
+++ b/Source/web/FrameLoaderClientImpl.cpp |
@@ -83,6 +83,7 @@ |
#include "public/web/WebPluginParams.h" |
#include "public/web/WebPluginPlaceholder.h" |
#include "public/web/WebSecurityOrigin.h" |
+#include "public/web/WebTransitionElementData.h" |
#include "public/web/WebViewClient.h" |
#include "web/PluginPlaceholderImpl.h" |
#include "web/SharedWorkerRepositoryClientImpl.h" |
@@ -478,10 +479,33 @@ NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const Resource |
return static_cast<NavigationPolicy>(webPolicy); |
} |
-void FrameLoaderClientImpl::dispatchAddNavigationTransitionData(const String& allowedDestinationOrigin, const String& selector, const String& markup) |
+ |
+struct TransitionElementData { |
+ String scope; |
+ String selector; |
+ String markup; |
+ Vector<String> names; |
+ Vector<IntRect> rects; |
+}; |
+ |
+void FrameLoaderClientImpl::dispatchAddNavigationTransitionData(const Document::TransitionElementData& data) |
{ |
- if (m_webFrame->client()) |
- m_webFrame->client()->addNavigationTransitionData(allowedDestinationOrigin, selector, markup); |
+ if (!m_webFrame->client()) |
+ return; |
+ |
+ // FIXME(zhenw): change to use WebTransitionElementData after the chrome side is done. |
Nate Chapin
2014/11/11 00:28:17
Nit: typically we don't include a specific name on
Zhen Wang
2014/11/11 15:12:20
Done.
|
+ Vector<String> names; |
+ Vector<IntRect> rects; |
+ for (size_t i = 0; i < data.elements.size(); ++i) { |
+ names.append(data.elements[i].name); |
+ rects.append(data.elements[i].rect); |
+ } |
+ m_webFrame->client()->addNavigationTransitionData( |
+ WebString(data.scope), |
+ WebString(data.selector), |
+ WebString(data.markup), |
+ WebVector<WebString>(names), |
+ WebVector<WebRect>(rects)); |
} |
void FrameLoaderClientImpl::dispatchWillRequestResource(FetchRequest* request) |