diff options
author | morrita <morrita@chromium.org> | 2014-10-31 11:26:59 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-31 18:27:24 +0000 |
commit | ffb8261db9491e5d1ce9b9eb76941f99f7df7011 (patch) | |
tree | bba5750b966f904d1b4cb904e88243e2e782e923 | |
parent | 892dfc786a995249bf695d69f1309db60026dbfd (diff) | |
download | chromium_src-ffb8261db9491e5d1ce9b9eb76941f99f7df7011.zip chromium_src-ffb8261db9491e5d1ce9b9eb76941f99f7df7011.tar.gz chromium_src-ffb8261db9491e5d1ce9b9eb76941f99f7df7011.tar.bz2 |
Revert of Navigation transitions (web to native app): Pass data after starting provisional load (Chrome side) (patchset #7 id:120001 of https://codereview.chromium.org/652953008/)
Reason for revert:
Crashing a LayoutTest
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#master=ChromiumWebkit&tests=fast/html/navigation-transition.html
Hitting an assertion:
10:15:12.016 3607 [10283:10283:1031/101511:5678803780814:FATAL:transition_request_manager.cc(161)] Check failed: ::content::BrowserThread::CurrentlyOn(BrowserThread::IO). Must be called on Chrome_IOThread; actually called on CrBrowserMain.
10:15:12.016 3607 #0 0x7f66666664ce base::debug::StackTrace::StackTrace()
10:15:12.016 3607 #1 0x7f6666700bf5 logging::LogMessage::~LogMessage()
10:15:12.016 3607 #2 0x7f66612dcafa content::TransitionRequestManager::GetPendingTransitionRequest()
10:15:12.016 3607 #3 0x7f6660bccdb1 content::NavigatorImpl::DidStartProvisionalLoad()
10:15:12.016 3607 #4 0x7f6660bdb821 content::RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame()
10:15:12.016 3607 #5 0x7f6660bf3554 DispatchToMethod<>()
10:15:12.016 3607 #6 0x7f6660be38b7 FrameHostMsg_DidStartProvisionalLoadForFrame::Dispatch<>()
10:15:12.016 3607 #7 0x7f6660bda57e content::RenderFrameHostImpl::OnMessageReceived()
10:15:12.016 3607 #8 0x7f666103ad0e content::RenderProcessHostImpl::OnMessageReceived()
10:15:12.016 3607 #9 0x7f666103b11f content::RenderProcessHostImpl::OnMessageReceived()
10:15:12.016 3607 #10 0x7f6664fe5e9d IPC::ChannelProxy::Context::OnDispatchMessage()
10:15:12.016 3607 #11 0x7f6664feea5a base::internal::RunnableAdapter<>::Run()
10:15:12.016 3607 #12 0x7f6664fee9b1 base::internal::InvokeHelper<>::MakeItSo()
10:15:12.016 3607 #13 0x7f6664fee94c base::internal::Invoker<>::Run()
10:15:12.016 3607 #14 0x7f666664eb3e base::Callback<>::Run()
10:15:12.016 3607 #15 0x7f666666cb89 base::debug::TaskAnnotator::RunTask()
10:15:12.016 3607 #16 0x7f6666729968 base::MessageLoop::RunTask()
10:15:12.016 3607 #17 0x7f6666729acb base::MessageLoop::DeferOrRunPendingTask()
10:15:12.016 3607 #18 0x7f6666729d05 base::MessageLoop::DoWork()
10:15:12.016 3607 #19 0x7f66666227bc base::MessagePumpGlib::HandleDispatch()
10:15:12.016 3607 #20 0x7f6666622fd1 base::(anonymous namespace)::WorkSourceDispatch()
10:15:12.016 3607 #21 0x7f6658588d13 g_main_context_dispatch
10:15:12.016 3607 #22 0x7f6658589060 <unknown>
10:15:12.016 3607 #23 0x7f6658589124 g_main_context_iteration
10:15:12.016 3607 #24 0x7f66666228c5 base::MessagePumpGlib::Run()
10:15:12.016 3607 #25 0x7f6666729432 base::MessageLoop::RunHandler()
10:15:12.016 3607 #26 0x7f66667920d4 base::RunLoop::Run()
10:15:12.016 3607 #27 0x7f66609ca164 content::BrowserMainLoop::MainMessageLoopRun()
10:15:12.016 3607 #28 0x7f66609c9fc1 content::BrowserMainLoop::RunMainMessageLoopParts()
10:15:12.016 3607 #29 0x7f66609d3075 content::BrowserMainRunnerImpl::Run()
10:15:12.016 3607 #30 0x000000452ef4 (anonymous namespace)::RunOneTest()
10:15:12.016 3607 #31 0x000000452b53 (anonymous namespace)::RunTests()
10:15:12.016 3607 #32 0x0000004529af LayoutTestBrowserMain()
10:15:12.016 3607 #33 0x00000044fcda content::ShellMainDelegate::RunProcess()
10:15:12.017 3607 #34 0x7f6660849f01 content::RunNamedProcessTypeMain()
10:15:12.017 3607 #35 0x7f666084e232 content::ContentMainRunnerImpl::Run()
10:15:12.017 3607 #36 0x7f66608493f5 content::ContentMain()
10:15:12.017 3607 #37 0x00000044ee5c main
10:15:12.017 3607 #38 0x7f665785676d __libc_start_main
10:15:12.017 3607 #39 0x00000044ed49 <unknown>
Original issue's description:
> Navigation transitions (web to native app): Pass data after starting provisional load (Chrome side)
>
> Pass transitional elements' CSS selector, names and rects to TransitionPageHelper after starting provisional load. Those data are needed when overriding the URL navigation to jump to a native Android app.
>
> The is the Chrome side of the CL. The Clank side is here: https://chrome-internal-review.googlesource.com/#/c/180668/
>
> BUG=370696
>
> Committed: https://crrev.com/5b846f579d3dd1a0f4d0b8c26ff274117bfba0bc
> Cr-Commit-Position: refs/heads/master@{#302279}
TBR=nasko@chromium.org,sievers@chromium.org,oysteine@chromium.org,zhenw@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=370696
Review URL: https://codereview.chromium.org/689123003
Cr-Commit-Position: refs/heads/master@{#302284}
18 files changed, 60 insertions, 139 deletions
diff --git a/content/browser/frame_host/navigator_delegate.h b/content/browser/frame_host/navigator_delegate.h index 24ed5b3..80ed213 100644 --- a/content/browser/frame_host/navigator_delegate.h +++ b/content/browser/frame_host/navigator_delegate.h @@ -6,7 +6,6 @@ #define CONTENT_BROWSER_FRAME_HOST_NAVIGATOR_DELEGATE_H_ #include "base/strings/string16.h" -#include "content/browser/transition_request_manager.h" #include "content/public/browser/invalidate_type.h" #include "content/public/browser/navigation_controller.h" #include "ui/base/page_transition_types.h" @@ -36,8 +35,7 @@ class CONTENT_EXPORT NavigatorDelegate { // The |render_frame_host| started a transition-flagged navigation. virtual void DidStartNavigationTransition( - RenderFrameHostImpl* render_frame_host, - const TransitionLayerData& transition_data) {} + RenderFrameHostImpl* render_frame_host) {} // A provisional load in |render_frame_host| failed. virtual void DidFailProvisionalLoadWithError( diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc index 127301c..bae6224 100644 --- a/content/browser/frame_host/navigator_impl.cc +++ b/content/browser/frame_host/navigator_impl.cc @@ -255,16 +255,8 @@ void NavigatorImpl::DidStartProvisionalLoad( delegate_->NotifyChangedNavigationState(content::INVALIDATE_TYPE_URL); } - if (delegate_ && is_transition_navigation) { - TransitionLayerData transition_data; - TransitionRequestManager::GetInstance()->GetPendingTransitionRequest( - render_frame_host->GetProcess()->GetID(), - render_frame_host->GetRoutingID(), - validated_url, - &transition_data); - delegate_->DidStartNavigationTransition(render_frame_host, - transition_data); - } + if (delegate_ && is_transition_navigation) + delegate_->DidStartNavigationTransition(render_frame_host); } if (delegate_) { diff --git a/content/browser/loader/cross_site_resource_handler.cc b/content/browser/loader/cross_site_resource_handler.cc index 2ec5ee5..596cf62 100644 --- a/content/browser/loader/cross_site_resource_handler.cc +++ b/content/browser/loader/cross_site_resource_handler.cc @@ -150,7 +150,7 @@ bool CrossSiteResourceHandler::OnResponseStarted( TransitionLayerData transition_data; bool is_navigation_transition = - TransitionRequestManager::GetInstance()->GetPendingTransitionRequest( + TransitionRequestManager::GetInstance()->HasPendingTransitionRequest( info->GetChildID(), info->GetRenderFrameID(), request()->url(), &transition_data); diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc index 86960ce..1c982f0 100644 --- a/content/browser/renderer_host/render_message_filter.cc +++ b/content/browser/renderer_host/render_message_filter.cc @@ -1227,15 +1227,14 @@ void RenderMessageFilter::OnWebAudioMediaCodec( void RenderMessageFilter::OnAddNavigationTransitionData( FrameHostMsg_AddNavigationTransitionData_Params params) { - if (params.elements.size() > TransitionRequestManager::kMaxNumOfElements) - return; TransitionRequestManager::GetInstance()->AddPendingTransitionRequestData( render_process_id_, params.render_frame_id, params.allowed_destination_host_pattern, params.selector, params.markup, - params.elements); + params.names, + params.rects); } void RenderMessageFilter::OnAllocateGpuMemoryBuffer( diff --git a/content/browser/transition_browsertest.cc b/content/browser/transition_browsertest.cc index 1fba073..147e771 100644 --- a/content/browser/transition_browsertest.cc +++ b/content/browser/transition_browsertest.cc @@ -86,7 +86,7 @@ class TransitionBrowserTestObserver ResourceRequestInfoImpl::ForRequest(request_); TransitionLayerData transition_data; did_clear_data_ = !TransitionRequestManager::GetInstance( - )->GetPendingTransitionRequest(info->GetChildID(), + )->HasPendingTransitionRequest(info->GetChildID(), info->GetRenderFrameID(), request_->url(), &transition_data); diff --git a/content/browser/transition_request_manager.cc b/content/browser/transition_request_manager.cc index e3f4317..b863991 100644 --- a/content/browser/transition_request_manager.cc +++ b/content/browser/transition_request_manager.cc @@ -86,11 +86,13 @@ TransitionRequestManager::TransitionRequestData::AllowedEntry::AllowedEntry( const std::string& allowed_destination_host_pattern, const std::string& css_selector, const std::string& markup, - const std::vector<TransitionElement>& elements) + const std::vector<std::string>& names, + const std::vector<gfx::Rect>& rects) : allowed_destination_host_pattern(allowed_destination_host_pattern), css_selector(css_selector), markup(markup), - elements(elements) { + names(names), + rects(rects) { } TransitionRequestManager::TransitionRequestData::AllowedEntry::~AllowedEntry() { @@ -127,11 +129,13 @@ void TransitionRequestManager::TransitionRequestData::AddEntry( const std::string& allowed_destination_host_pattern, const std::string& css_selector, const std::string& markup, - const std::vector<TransitionElement>& elements) { + const std::vector<std::string>& names, + const std::vector<gfx::Rect>& rects) { allowed_entries_.push_back(AllowedEntry(allowed_destination_host_pattern, css_selector, markup, - elements)); + names, + rects)); } bool TransitionRequestManager::TransitionRequestData::FindEntry( @@ -149,11 +153,12 @@ bool TransitionRequestManager::TransitionRequestData::FindEntry( const AllowedEntry& allowed_entry = allowed_entries_[0]; transition_data->markup = allowed_entry.markup; transition_data->css_selector = allowed_entry.css_selector; - transition_data->elements = allowed_entry.elements; + transition_data->names = allowed_entry.names; + transition_data->rects = allowed_entry.rects; return true; } -bool TransitionRequestManager::GetPendingTransitionRequest( +bool TransitionRequestManager::HasPendingTransitionRequest( int render_process_id, int render_frame_id, const GURL& request_url, @@ -173,12 +178,13 @@ void TransitionRequestManager::AddPendingTransitionRequestData( const std::string& allowed_destination_host_pattern, const std::string& css_selector, const std::string& markup, - const std::vector<TransitionElement>& elements) { + const std::vector<std::string>& names, + const std::vector<gfx::Rect>& rects) { DCHECK_CURRENTLY_ON(BrowserThread::IO); std::pair<int, int> key(render_process_id, render_frame_id); pending_transition_frames_[key].AddEntry( - allowed_destination_host_pattern, css_selector, markup, elements); + allowed_destination_host_pattern, css_selector, markup, names, rects); } void TransitionRequestManager::AddPendingTransitionRequestDataForTesting( @@ -191,7 +197,8 @@ void TransitionRequestManager::AddPendingTransitionRequestDataForTesting( "*", /* allowed_destination_host_pattern */ "", /* css_selector */ "", /* markup */ - std::vector<TransitionElement>()); /* elements */ + std::vector<std::string>(), /* names */ + std::vector<gfx::Rect>()); /* rects */ } void TransitionRequestManager::ClearPendingTransitionRequestData( diff --git a/content/browser/transition_request_manager.h b/content/browser/transition_request_manager.h index 65b5792..3db4d87 100644 --- a/content/browser/transition_request_manager.h +++ b/content/browser/transition_request_manager.h @@ -13,7 +13,6 @@ #include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "content/common/content_export.h" -#include "content/public/common/transition_element.h" #include "ui/gfx/geometry/rect.h" #include "url/gurl.h" @@ -34,7 +33,8 @@ struct TransitionLayerData { std::string markup; std::string css_selector; - std::vector<TransitionElement> elements; + std::vector<std::string> names; + std::vector<gfx::Rect> rects; scoped_refptr<net::HttpResponseHeaders> response_headers; GURL request_url; }; @@ -57,11 +57,10 @@ class TransitionRequestManager { std::vector<GURL>& entering_stylesheets, const GURL& resolve_address); - // Get pending transition request data from RenderFrameHost specified by the - // given IDs and return true if the data exists. For web to web transition, we - // will have to delay the response until the embedder resumes the request if - // the data exists. - CONTENT_EXPORT bool GetPendingTransitionRequest( + // Returns whether the RenderFrameHost specified by the given IDs currently + // has any pending transition request data. If so, we will have to delay the + // response until the embedder resumes the request. + CONTENT_EXPORT bool HasPendingTransitionRequest( int render_process_id, int render_frame_id, const GURL& request_url, @@ -75,7 +74,8 @@ class TransitionRequestManager { const std::string& allowed_destination_host_pattern, const std::string& css_selector, const std::string& markup, - const std::vector<TransitionElement>& elements); + const std::vector<std::string>& names, + const std::vector<gfx::Rect>& rects); CONTENT_EXPORT void AddPendingTransitionRequestDataForTesting( int render_process_id, int render_frame_id); @@ -83,10 +83,6 @@ class TransitionRequestManager { CONTENT_EXPORT void ClearPendingTransitionRequestData(int render_process_id, int render_frame_id); - // The maximum number of elements is meant to avoid passing arbitrarily large - // amount of objects across the IPC boundary. - static const int kMaxNumOfElements = 1024; - private: class TransitionRequestData { public: @@ -95,7 +91,8 @@ class TransitionRequestManager { void AddEntry(const std::string& allowed_destination_host_pattern, const std::string& selector, const std::string& markup, - const std::vector<TransitionElement>& elements); + const std::vector<std::string>& names, + const std::vector<gfx::Rect>& rects); bool FindEntry(const GURL& request_url, TransitionLayerData* transition_data); @@ -107,12 +104,14 @@ class TransitionRequestManager { std::string allowed_destination_host_pattern; std::string css_selector; std::string markup; - std::vector<TransitionElement> elements; + std::vector<std::string> names; + std::vector<gfx::Rect> rects; AllowedEntry(const std::string& allowed_destination_host_pattern, const std::string& css_selector, const std::string& markup, - const std::vector<TransitionElement>& elements); + const std::vector<std::string>& names, + const std::vector<gfx::Rect>& rects); ~AllowedEntry(); }; std::vector<AllowedEntry> allowed_entries_; diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc index 52bca52..85490c1 100644 --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc @@ -338,26 +338,10 @@ void WebContentsAndroid::DidDeferAfterResponseStarted( } } -void WebContentsAndroid::DidStartNavigationTransitionForFrame( - int64 frame_id, - const TransitionLayerData& transition_data) { +void WebContentsAndroid::DidStartNavigationTransitionForFrame(int64 frame_id) { JNIEnv* env = AttachCurrentThread(); - - ScopedJavaLocalRef<jstring> jstring_css_selector( - ConvertUTF8ToJavaString(env, transition_data.css_selector)); - Java_WebContentsImpl_didStartNavigationTransitionForFrame( - env, obj_.obj(), frame_id, jstring_css_selector.obj()); - - std::vector<TransitionElement>::const_iterator it = - transition_data.elements.begin(); - for (; it != transition_data.elements.end(); ++it) { - ScopedJavaLocalRef<jstring> jstring_name(ConvertUTF8ToJavaString(env, - it->name)); - Java_WebContentsImpl_addNavigationTransitionElements( - env, obj_.obj(), jstring_name.obj(), - it->rect.x(), it->rect.y(), it->rect.width(), it->rect.height()); - } + env, obj_.obj(), frame_id); } void WebContentsAndroid::EvaluateJavaScript(JNIEnv* env, diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h index 4928e8e..4b79231 100644 --- a/content/browser/web_contents/web_contents_android.h +++ b/content/browser/web_contents/web_contents_android.h @@ -65,9 +65,7 @@ class CONTENT_EXPORT WebContentsAndroid bool WillHandleDeferAfterResponseStarted(); // This method is invoked when a navigation transition has started. - void DidStartNavigationTransitionForFrame( - int64 frame_id, - const TransitionLayerData& transition_data); + void DidStartNavigationTransitionForFrame(int64 frame_id); void OnHide(JNIEnv* env, jobject obj); void OnShow(JNIEnv* env, jobject obj); diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc index 6ea767f..c6baca6 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -2456,12 +2456,11 @@ void WebContentsImpl::DidStartProvisionalLoad( } void WebContentsImpl::DidStartNavigationTransition( - RenderFrameHostImpl* render_frame_host, - const TransitionLayerData& transition_data) { + RenderFrameHostImpl* render_frame_host) { #if defined(OS_ANDROID) int render_frame_id = render_frame_host->GetRoutingID(); GetWebContentsAndroid()->DidStartNavigationTransitionForFrame( - render_frame_id, transition_data); + render_frame_id); #endif } diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h index edf2a13..07142af 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h @@ -481,8 +481,7 @@ class CONTENT_EXPORT WebContentsImpl bool is_error_page, bool is_iframe_srcdoc) override; void DidStartNavigationTransition( - RenderFrameHostImpl* render_frame_host, - const TransitionLayerData& transition_data) override; + RenderFrameHostImpl* render_frame_host) override; void DidFailProvisionalLoadWithError( RenderFrameHostImpl* render_frame_host, const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h index 7532858..6c0a1dfe 100644 --- a/content/common/frame_messages.h +++ b/content/common/frame_messages.h @@ -19,7 +19,6 @@ #include "content/public/common/javascript_message_type.h" #include "content/public/common/page_state.h" #include "content/public/common/resource_response.h" -#include "content/public/common/transition_element.h" #include "ipc/ipc_message_macros.h" #include "ui/gfx/ipc/gfx_param_traits.h" #include "url/gurl.h" @@ -90,19 +89,6 @@ IPC_STRUCT_TRAITS_BEGIN(content::CustomContextMenuContext) IPC_STRUCT_TRAITS_MEMBER(link_followed) IPC_STRUCT_TRAITS_END() -IPC_STRUCT_TRAITS_BEGIN(content::TransitionElement) - IPC_STRUCT_TRAITS_MEMBER(name) - IPC_STRUCT_TRAITS_MEMBER(rect) -IPC_STRUCT_TRAITS_END() - -IPC_STRUCT_BEGIN(FrameHostMsg_AddNavigationTransitionData_Params) - IPC_STRUCT_MEMBER(int, render_frame_id) - IPC_STRUCT_MEMBER(std::string, allowed_destination_host_pattern) - IPC_STRUCT_MEMBER(std::string, selector) - IPC_STRUCT_MEMBER(std::string, markup) - IPC_STRUCT_MEMBER(std::vector<content::TransitionElement>, elements) -IPC_STRUCT_END() - IPC_STRUCT_BEGIN(FrameHostMsg_DidFailProvisionalLoadWithError_Params) // Error code as reported in the DidFailProvisionalLoad callback. IPC_STRUCT_MEMBER(int, error_code) @@ -276,6 +262,15 @@ IPC_STRUCT_BEGIN(FrameMsg_Navigate_Params) IPC_STRUCT_MEMBER(std::string, frame_to_navigate) IPC_STRUCT_END() +IPC_STRUCT_BEGIN(FrameHostMsg_AddNavigationTransitionData_Params) + IPC_STRUCT_MEMBER(int, render_frame_id) + IPC_STRUCT_MEMBER(std::string, allowed_destination_host_pattern) + IPC_STRUCT_MEMBER(std::string, selector) + IPC_STRUCT_MEMBER(std::string, markup) + IPC_STRUCT_MEMBER(std::vector<std::string>, names) + IPC_STRUCT_MEMBER(std::vector<gfx::Rect>, rects) +IPC_STRUCT_END() + IPC_STRUCT_BEGIN(FrameHostMsg_OpenURL_Params) IPC_STRUCT_MEMBER(GURL, url) IPC_STRUCT_MEMBER(content::Referrer, referrer) diff --git a/content/content_common.gypi b/content/content_common.gypi index 7284ce1..030d2f8 100644 --- a/content/content_common.gypi +++ b/content/content_common.gypi @@ -125,7 +125,6 @@ 'public/common/three_d_api_types.h', 'public/common/top_controls_state.h', 'public/common/top_controls_state_list.h', - 'public/common/transition_element.h', 'public/common/url_constants.cc', 'public/common/url_constants.h', 'public/common/url_fetcher.h', diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java index d1d884c..db7875b 100644 --- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java +++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java @@ -228,18 +228,9 @@ import org.chromium.content_public.browser.WebContents; } @CalledByNative - private void didStartNavigationTransitionForFrame(long frameId, String cssSelector) { + private void didStartNavigationTransitionForFrame(long frameId) { if (mNavigationTransitionDelegate != null) { - mNavigationTransitionDelegate.didStartNavigationTransitionForFrame( - frameId, cssSelector); - } - } - - @CalledByNative - private void addNavigationTransitionElements(String name, int x, int y, int width, int height) { - if (mNavigationTransitionDelegate != null) { - mNavigationTransitionDelegate.addNavigationTransitionElements( - name, x, y, width, height); + mNavigationTransitionDelegate.didStartNavigationTransitionForFrame(frameId); } } diff --git a/content/public/android/java/src/org/chromium/content_public/browser/NavigationTransitionDelegate.java b/content/public/android/java/src/org/chromium/content_public/browser/NavigationTransitionDelegate.java index 31fbfe1..d719b43 100644 --- a/content/public/android/java/src/org/chromium/content_public/browser/NavigationTransitionDelegate.java +++ b/content/public/android/java/src/org/chromium/content_public/browser/NavigationTransitionDelegate.java @@ -37,18 +37,6 @@ public interface NavigationTransitionDelegate { /** * Notifies that a navigation transition is started for a given frame. * @param frameId A positive, non-zero integer identifying the navigating frame. - * @param cssSelector The CSS selector, which is to be used by Activity Transitions - * or applied to the transition layer's markup later. */ - public void didStartNavigationTransitionForFrame(long frameId, String cssSelector); - - /** - * Add transition element's name, position and size. - * @param name The name of the transition element. - * @param x The x position of the transition element. - * @param y The y position of the transition element. - * @param width The width of the transition element. - * @param height The height of the transition element. - */ - public void addNavigationTransitionElements(String name, int x, int y, int width, int height); + public void didStartNavigationTransitionForFrame(long frameId); } diff --git a/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java b/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java index 04cc2e2..9d0c688 100644 --- a/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java +++ b/content/public/android/javatests/src/org/chromium/content/browser/TransitionTest.java @@ -67,12 +67,7 @@ public class TransitionTest extends ContentShellTestBase { } @Override - public void didStartNavigationTransitionForFrame(long frameId, String cssSelector) { - } - - @Override - public void addNavigationTransitionElements( - String name, int x, int y, int width, int height) { + public void didStartNavigationTransitionForFrame(long frameId) { } public boolean getDidCallDefer() { diff --git a/content/public/common/transition_element.h b/content/public/common/transition_element.h deleted file mode 100644 index d8168b8..0000000 --- a/content/public/common/transition_element.h +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_PUBLIC_COMMON_TRANSITION_ELEMENT_H_ -#define CONTENT_PUBLIC_COMMON_TRANSITION_ELEMENT_H_ - -#include <string> - -#include "content/common/content_export.h" -#include "ui/gfx/geometry/rect.h" - -namespace content { - -// This struct stores the information of one transition element. -struct CONTENT_EXPORT TransitionElement { - std::string name; - gfx::Rect rect; -}; - -} // namespace content - -#endif // CONTENT_PUBLIC_COMMON_TRANSITION_ELEMENT_H_ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 7bbdfdc..b99f8a0 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -2555,10 +2555,11 @@ void RenderFrameImpl::addNavigationTransitionData( allowed_destination_host_pattern.utf8(); params.selector = selector.utf8(); params.markup = markup.utf8(); - params.elements.resize(web_names.size()); for (size_t i = 0; i < web_names.size(); i++) { - params.elements[i].name = web_names[i].utf8(); - params.elements[i].rect = gfx::Rect(web_rects[i]); + params.names.push_back(web_names[i].utf8()); + } + for (size_t i = 0; i < web_rects.size(); i++) { + params.rects.push_back(gfx::Rect(web_rects[i])); } Send(new FrameHostMsg_AddNavigationTransitionData(params)); |