| OLD | NEW | 
|    1 // Copyright 2012 The Chromium Authors. All rights reserved. |    1 // Copyright 2012 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "chrome/browser/android/tab_android.h" |    5 #include "chrome/browser/android/tab_android.h" | 
|    6  |    6  | 
|    7 #include <stddef.h> |    7 #include <stddef.h> | 
|    8  |    8  | 
|    9 #include "base/android/jni_android.h" |    9 #include "base/android/jni_android.h" | 
|   10 #include "base/android/jni_string.h" |   10 #include "base/android/jni_string.h" | 
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   80 #include "content/public/browser/render_view_host.h" |   80 #include "content/public/browser/render_view_host.h" | 
|   81 #include "content/public/browser/user_metrics.h" |   81 #include "content/public/browser/user_metrics.h" | 
|   82 #include "content/public/browser/web_contents.h" |   82 #include "content/public/browser/web_contents.h" | 
|   83 #include "content/public/common/resource_request_body.h" |   83 #include "content/public/common/resource_request_body.h" | 
|   84 #include "content/public/common/top_controls_state.h" |   84 #include "content/public/common/top_controls_state.h" | 
|   85 #include "jni/Tab_jni.h" |   85 #include "jni/Tab_jni.h" | 
|   86 #include "net/base/escape.h" |   86 #include "net/base/escape.h" | 
|   87 #include "skia/ext/image_operations.h" |   87 #include "skia/ext/image_operations.h" | 
|   88 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" |   88 #include "third_party/WebKit/public/platform/WebReferrerPolicy.h" | 
|   89 #include "ui/android/view_android.h" |   89 #include "ui/android/view_android.h" | 
 |   90 #include "ui/android/window_android.h" | 
|   90 #include "ui/base/resource/resource_bundle.h" |   91 #include "ui/base/resource/resource_bundle.h" | 
|   91 #include "ui/base/window_open_disposition.h" |   92 #include "ui/base/window_open_disposition.h" | 
|   92 #include "ui/display/display.h" |   93 #include "ui/display/display.h" | 
|   93 #include "ui/display/screen.h" |   94 #include "ui/display/screen.h" | 
|   94 #include "ui/gfx/android/java_bitmap.h" |   95 #include "ui/gfx/android/java_bitmap.h" | 
|   95 #include "ui/gfx/favicon_size.h" |   96 #include "ui/gfx/favicon_size.h" | 
|   96 #include "ui/gfx/image/image_skia.h" |   97 #include "ui/gfx/image/image_skia.h" | 
|   97  |   98  | 
|   98 using base::android::AttachCurrentThread; |   99 using base::android::AttachCurrentThread; | 
|   99 using base::android::ConvertUTF8ToJavaString; |  100 using base::android::ConvertUTF8ToJavaString; | 
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  416   if (instant_service) |  417   if (instant_service) | 
|  417     instant_service->AddObserver(this); |  418     instant_service->AddObserver(this); | 
|  418  |  419  | 
|  419   if (!blimp_contents_) |  420   if (!blimp_contents_) | 
|  420     content_layer_->InsertChild(web_contents_->GetNativeView()->GetLayer(), 0); |  421     content_layer_->InsertChild(web_contents_->GetNativeView()->GetLayer(), 0); | 
|  421 } |  422 } | 
|  422  |  423  | 
|  423 base::android::ScopedJavaLocalRef<jobject> TabAndroid::InitBlimpContents( |  424 base::android::ScopedJavaLocalRef<jobject> TabAndroid::InitBlimpContents( | 
|  424     JNIEnv* env, |  425     JNIEnv* env, | 
|  425     const JavaParamRef<jobject>& obj, |  426     const JavaParamRef<jobject>& obj, | 
|  426     const JavaParamRef<jobject>& j_profile) { |  427     const JavaParamRef<jobject>& j_profile, | 
 |  428     jlong window_android_ptr) { | 
|  427   Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile.obj()); |  429   Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile.obj()); | 
|  428   DCHECK(!profile->IsOffTheRecord()); |  430   DCHECK(!profile->IsOffTheRecord()); | 
|  429   blimp::client::BlimpClientContext* context = |  431   blimp::client::BlimpClientContext* context = | 
|  430       BlimpClientContextFactory::GetForBrowserContext(profile); |  432       BlimpClientContextFactory::GetForBrowserContext(profile); | 
|  431   DCHECK(context); |  433   DCHECK(context); | 
|  432   blimp_contents_ = context->CreateBlimpContents(); |  434   ui::WindowAndroid* window = | 
 |  435       reinterpret_cast<ui::WindowAndroid*>(window_android_ptr); | 
 |  436   blimp_contents_ = context->CreateBlimpContents(window); | 
|  433   DCHECK(blimp_contents_); |  437   DCHECK(blimp_contents_); | 
|  434  |  438  | 
|  435   // Let's detach the layer from WebContents first, just to be sure. |  439   // Let's detach the layer from WebContents first, just to be sure. | 
|  436   if (web_contents_ && web_contents_->GetNativeView() && |  440   if (web_contents_ && web_contents_->GetNativeView() && | 
|  437       web_contents_->GetNativeView()->GetLayer()) { |  441       web_contents_->GetNativeView()->GetLayer()) { | 
|  438     cc::Layer* web_contents_layer = web_contents_->GetNativeView()->GetLayer(); |  442     cc::Layer* web_contents_layer = web_contents_->GetNativeView()->GetLayer(); | 
|  439     if (web_contents_layer->parent() == content_layer_.get()) |  443     if (web_contents_layer->parent() == content_layer_.get()) | 
|  440       web_contents_layer->RemoveFromParent(); |  444       web_contents_layer->RemoveFromParent(); | 
|  441   } |  445   } | 
|  442  |  446  | 
| (...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  911 static void Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { |  915 static void Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { | 
|  912   TRACE_EVENT0("native", "TabAndroid::Init"); |  916   TRACE_EVENT0("native", "TabAndroid::Init"); | 
|  913   // This will automatically bind to the Java object and pass ownership there. |  917   // This will automatically bind to the Java object and pass ownership there. | 
|  914   new TabAndroid(env, obj); |  918   new TabAndroid(env, obj); | 
|  915 } |  919 } | 
|  916  |  920  | 
|  917 // static |  921 // static | 
|  918 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { |  922 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { | 
|  919   return RegisterNativesImpl(env); |  923   return RegisterNativesImpl(env); | 
|  920 } |  924 } | 
| OLD | NEW |