| Index: content/browser/android/content_view_core_impl.cc
|
| diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
|
| index 82d79ab8a83c013bb934cf89f4da2c6535d9f1cd..b11b9a28d9869cdeb49b7563d8bae099e7901df9 100644
|
| --- a/content/browser/android/content_view_core_impl.cc
|
| +++ b/content/browser/android/content_view_core_impl.cc
|
| @@ -1514,11 +1514,11 @@ void ContentViewCoreImpl::SetHasPendingNavigationTransitionForTesting(
|
| BrowserThread::IO,
|
| FROM_HERE,
|
| base::Bind(
|
| - &TransitionRequestManager::SetHasPendingTransitionRequest,
|
| + &TransitionRequestManager::AddPendingTransitionRequestData,
|
| base::Unretained(TransitionRequestManager::GetInstance()),
|
| frame->GetProcess()->GetID(),
|
| frame->GetRoutingID(),
|
| - true));
|
| + "*", "", ""));
|
| }
|
|
|
| jint ContentViewCoreImpl::GetCurrentRenderProcessId(JNIEnv* env, jobject obj) {
|
| @@ -1532,6 +1532,22 @@ void ContentViewCoreImpl::SetBackgroundOpaque(JNIEnv* env, jobject jobj,
|
| GetRenderWidgetHostViewAndroid()->SetBackgroundOpaque(opaque);
|
| }
|
|
|
| +void ContentViewCoreImpl::SetupTransitionView(
|
| + JNIEnv* env, jobject jobj, jstring markup) {
|
| + if (!GetWebContents()) return;
|
| + GetWebContents()->GetMainFrame()->Send(new FrameMsg_SetupTransitionView(
|
| + GetWebContents()->GetMainFrame()->GetRoutingID(),
|
| + ConvertJavaStringToUTF8(env, markup)));
|
| +}
|
| +
|
| +void ContentViewCoreImpl::BeginExitTransition(
|
| + JNIEnv* env, jobject jobj, jstring css_selector) {
|
| + if (!GetWebContents()) return;
|
| + GetWebContents()->GetMainFrame()->Send(new FrameMsg_BeginExitTransition(
|
| + GetWebContents()->GetMainFrame()->GetRoutingID(),
|
| + ConvertJavaStringToUTF8(env, css_selector)));
|
| +}
|
| +
|
| void ContentViewCoreImpl::RequestTextSurroundingSelection(
|
| int max_length,
|
| const base::Callback<
|
| @@ -1550,8 +1566,7 @@ void ContentViewCoreImpl::RequestTextSurroundingSelection(
|
| }
|
|
|
| void ContentViewCoreImpl::DidDeferAfterResponseStarted(
|
| - const scoped_refptr<net::HttpResponseHeaders>& headers,
|
| - const GURL& url) {
|
| + const TransitionLayerData& transition_data) {
|
| JNIEnv* env = AttachCurrentThread();
|
| ScopedJavaLocalRef<jobject> obj(java_ref_.get(env));
|
| if (obj.is_null())
|
| @@ -1559,19 +1574,27 @@ void ContentViewCoreImpl::DidDeferAfterResponseStarted(
|
|
|
| std::vector<GURL> entering_stylesheets;
|
| std::string transition_color;
|
| - if (headers) {
|
| + if (transition_data.response_headers) {
|
| TransitionRequestManager::ParseTransitionStylesheetsFromHeaders(
|
| - headers, entering_stylesheets, url);
|
| + transition_data.response_headers, entering_stylesheets,
|
| + transition_data.request_url);
|
|
|
| - headers->EnumerateHeader(
|
| + transition_data.response_headers->EnumerateHeader(
|
| NULL, "X-Transition-Entering-Color", &transition_color);
|
| }
|
|
|
| + ScopedJavaLocalRef<jstring> jstring_markup(ConvertUTF8ToJavaString(
|
| + env, transition_data.markup));
|
| +
|
| + ScopedJavaLocalRef<jstring> jstring_css_selector(ConvertUTF8ToJavaString(
|
| + env, transition_data.css_selector));
|
| +
|
| ScopedJavaLocalRef<jstring> jstring_transition_color(ConvertUTF8ToJavaString(
|
| env, transition_color));
|
|
|
| Java_ContentViewCore_didDeferAfterResponseStarted(
|
| - env, obj.obj(), jstring_transition_color.obj());
|
| + env, obj.obj(), jstring_markup.obj(), jstring_css_selector.obj(),
|
| + jstring_transition_color.obj());
|
|
|
| std::vector<GURL>::const_iterator iter = entering_stylesheets.begin();
|
| for (; iter != entering_stylesheets.end(); ++iter) {
|
|
|