Index: Source/web/FrameLoaderClientImpl.cpp |
diff --git a/Source/web/FrameLoaderClientImpl.cpp b/Source/web/FrameLoaderClientImpl.cpp |
index 6c140aa0bd0ff00c4c91ee7bdf67d1302037428f..c757f3dd2726bf3466980c8a6d3cb593838c82fd 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,24 @@ NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(const Resource |
return static_cast<NavigationPolicy>(webPolicy); |
} |
-void FrameLoaderClientImpl::dispatchAddNavigationTransitionData(const String& allowedDestinationOrigin, const String& selector, const String& markup) |
+void FrameLoaderClientImpl::dispatchAddNavigationTransitionData(const Document::TransitionElementData& data) |
{ |
- if (m_webFrame->client()) |
- m_webFrame->client()->addNavigationTransitionData(allowedDestinationOrigin, selector, markup); |
+ if (!m_webFrame->client()) |
+ return; |
+ |
+ // FIXME: change to use WebTransitionElementData after the chrome side is done. |
+ Vector<String> ids; |
+ Vector<IntRect> rects; |
+ for (size_t i = 0; i < data.elements.size(); ++i) { |
+ ids.append(data.elements[i].id); |
+ rects.append(data.elements[i].rect); |
+ } |
+ m_webFrame->client()->addNavigationTransitionData( |
+ WebString(data.scope), |
+ WebString(data.selector), |
+ WebString(data.markup), |
+ WebVector<WebString>(ids), |
+ WebVector<WebRect>(rects)); |
} |
void FrameLoaderClientImpl::dispatchWillRequestResource(FetchRequest* request) |