summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-10 07:33:27 +0000
committerjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-10 07:33:27 +0000
commit2541d1ac91e59dc5eb26addb44e9d9496e10f9f7 (patch)
tree307abbdb543b9d89050c2382e56c0cdee3fca383 /content
parent43d9663e465af59f73efed267228a909d1832fc4 (diff)
downloadchromium_src-2541d1ac91e59dc5eb26addb44e9d9496e10f9f7.zip
chromium_src-2541d1ac91e59dc5eb26addb44e9d9496e10f9f7.tar.gz
chromium_src-2541d1ac91e59dc5eb26addb44e9d9496e10f9f7.tar.bz2
Allow WebExternalTextureLayers to receive a bitmap along with a mailbox
When using the software renderer, texture layers can't be drawn from directly. Instead allow the WebExternalTextureLayer to request a bitmap that will be used to draw. BUG=151713 Review URL: https://chromiumcodereview.appspot.com/17859002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210773 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.cc3
-rw-r--r--content/browser/renderer_host/render_widget_host_view_android.h3
-rw-r--r--content/renderer/render_thread_impl.cc7
3 files changed, 11 insertions, 2 deletions
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 2d50108..33c0958 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -1088,7 +1088,8 @@ WebKit::WebGraphicsContext3D* RenderWidgetHostViewAndroid::Context3d() {
}
bool RenderWidgetHostViewAndroid::PrepareTextureMailbox(
- cc::TextureMailbox* mailbox) {
+ cc::TextureMailbox* mailbox,
+ bool use_shared_memory) {
return false;
}
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 51df8ed..c3ecbeb 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -179,7 +179,8 @@ class RenderWidgetHostViewAndroid
// cc::TextureLayerClient implementation.
virtual unsigned PrepareTexture(cc::ResourceUpdateQueue* queue) OVERRIDE;
virtual WebKit::WebGraphicsContext3D* Context3d() OVERRIDE;
- virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox) OVERRIDE;
+ virtual bool PrepareTextureMailbox(cc::TextureMailbox* mailbox,
+ bool use_shared_memory) OVERRIDE;
// cc::DelegatedRendererLayerClient implementation.
virtual void DidCommitFrameData() OVERRIDE;
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 617902b..fdc6a8b 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -106,6 +106,7 @@
#include "webkit/glue/webkit_glue.h"
#include "webkit/child/worker_task_runner.h"
#include "webkit/renderer/appcache/appcache_frontend_impl.h"
+#include "webkit/renderer/compositor_bindings/web_external_bitmap_impl.h"
#if defined(OS_WIN)
#include <windows.h>
@@ -217,6 +218,10 @@ void AddHistogramSample(void* hist, int sample) {
histogram->Add(sample);
}
+scoped_ptr<base::SharedMemory> AllocateSharedMemoryFunction(size_t size) {
+ return RenderThreadImpl::Get()->HostAllocateSharedMemoryBuffer(size);
+}
+
} // namespace
class RenderThreadImpl::GpuVDAContextLostCallback
@@ -731,6 +736,8 @@ void RenderThreadImpl::EnsureWebKitInitialized() {
if (GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden())
ScheduleIdleHandler(kLongIdleHandlerDelayMs);
+
+ webkit::SetSharedMemoryAllocationFunction(AllocateSharedMemoryFunction);
}
void RenderThreadImpl::RegisterSchemes() {