summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/browser/android/content_view_core_impl.cc5
-rw-r--r--content/browser/android/content_view_core_impl.h1
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.cc5
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.h1
-rw-r--r--content/public/browser/android/content_view_core.h6
5 files changed, 17 insertions, 1 deletions
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 661af5b..9151608 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -495,6 +495,11 @@ unsigned int ContentViewCoreImpl::GetScaledContentTexture(
return view->GetScaledContentTexture(size);
}
+WebKit::WebLayer* ContentViewCoreImpl::GetWebLayer() {
+ RenderWidgetHostViewAndroid* view = GetRenderWidgetHostViewAndroid();
+ return view ? view->GetWebLayer() : NULL;
+}
+
void ContentViewCoreImpl::StartContentIntent(const GURL& content_url) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env);
diff --git a/content/browser/android/content_view_core_impl.h b/content/browser/android/content_view_core_impl.h
index 070d542..6157f70 100644
--- a/content/browser/android/content_view_core_impl.h
+++ b/content/browser/android/content_view_core_impl.h
@@ -53,6 +53,7 @@ class ContentViewCoreImpl : public ContentViewCore,
virtual jint GetCurrentRenderProcessId(JNIEnv* env, jobject obj) OVERRIDE;
virtual void ShowPastePopup(int x, int y) OVERRIDE;
virtual unsigned int GetScaledContentTexture(const gfx::Size& size) OVERRIDE;
+ virtual WebKit::WebLayer* GetWebLayer() OVERRIDE;
// --------------------------------------------------------------------------
// Methods called from Java via JNI
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index d609f1b..1d50e3d 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -54,6 +54,7 @@ RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid(
is_hidden_(!content_view_core),
content_view_core_(content_view_core),
ime_adapter_android_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
+ cached_background_color_(SK_ColorWHITE),
texture_layer_(WebKit::WebExternalTextureLayer::create()),
texture_id_in_layer_(0) {
host_->SetView(this);
@@ -177,6 +178,10 @@ bool RenderWidgetHostViewAndroid::PopulateBitmapWithContents(jobject jbitmap) {
return true;
}
+WebKit::WebLayer* RenderWidgetHostViewAndroid::GetWebLayer() {
+ return texture_layer_->layer();
+}
+
gfx::NativeView RenderWidgetHostViewAndroid::GetNativeView() const {
return content_view_core_;
}
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index 0f075cd..3606eb9 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -140,6 +140,7 @@ class RenderWidgetHostViewAndroid : public RenderWidgetHostViewBase {
WebKit::WebGLId GetScaledContentTexture(const gfx::Size& size);
bool PopulateBitmapWithContents(jobject jbitmap);
+ WebKit::WebLayer* GetWebLayer();
// Select all text between the given coordinates.
void SelectRange(const gfx::Point& start, const gfx::Point& end);
diff --git a/content/public/browser/android/content_view_core.h b/content/public/browser/android/content_view_core.h
index 7be47e9..5a97fdf 100644
--- a/content/public/browser/android/content_view_core.h
+++ b/content/public/browser/android/content_view_core.h
@@ -18,6 +18,10 @@ namespace ui {
class WindowAndroid;
}
+namespace WebKit {
+class WebLayer;
+}
+
namespace content {
class WebContents;
@@ -40,7 +44,7 @@ class ContentViewCore {
virtual jint GetCurrentRenderProcessId(JNIEnv* env, jobject obj) = 0;
virtual void ShowPastePopup(int x, int y) = 0;
virtual unsigned int GetScaledContentTexture(const gfx::Size& size) = 0;
-
+ virtual WebKit::WebLayer* GetWebLayer() = 0;
protected:
virtual ~ContentViewCore() {};
};