Chromium Code Reviews| 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) |