summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host')
-rw-r--r--content/browser/renderer_host/gpu_message_filter.cc2
-rw-r--r--content/browser/renderer_host/gpu_message_filter.h2
-rw-r--r--content/browser/renderer_host/render_view_host.cc1
-rw-r--r--content/browser/renderer_host/render_widget_host.cc9
-rw-r--r--content/browser/renderer_host/render_widget_host.h4
-rw-r--r--content/browser/renderer_host/render_widget_host_view.h3
-rw-r--r--content/browser/renderer_host/test_render_view_host.cc2
-rw-r--r--content/browser/renderer_host/test_render_view_host.h3
8 files changed, 20 insertions, 6 deletions
diff --git a/content/browser/renderer_host/gpu_message_filter.cc b/content/browser/renderer_host/gpu_message_filter.cc
index 9902a96..5fa10ad 100644
--- a/content/browser/renderer_host/gpu_message_filter.cc
+++ b/content/browser/renderer_host/gpu_message_filter.cc
@@ -205,6 +205,7 @@ void GpuMessageFilter::OnSynchronizeGpu(IPC::Message* reply) {
}
void GpuMessageFilter::OnCreateViewCommandBuffer(
+ gfx::PluginWindowHandle compositing_surface,
int32 render_view_id,
const GPUCreateCommandBufferConfig& init_params,
IPC::Message* reply) {
@@ -219,6 +220,7 @@ void GpuMessageFilter::OnCreateViewCommandBuffer(
}
ui_shim->CreateViewCommandBuffer(
+ compositing_surface,
render_view_id,
render_process_id_,
init_params,
diff --git a/content/browser/renderer_host/gpu_message_filter.h b/content/browser/renderer_host/gpu_message_filter.h
index 34e75f1..c8e8ada 100644
--- a/content/browser/renderer_host/gpu_message_filter.h
+++ b/content/browser/renderer_host/gpu_message_filter.h
@@ -8,6 +8,7 @@
#include "content/browser/browser_message_filter.h"
#include "content/common/gpu_process_launch_causes.h"
+#include "ui/gfx/native_widget_types.h"
class GpuProcessHost;
class GpuProcessHostUIShim;
@@ -42,6 +43,7 @@ class GpuMessageFilter : public BrowserMessageFilter,
void OnEstablishGpuChannel(content::CauseForGpuLaunch);
void OnSynchronizeGpu(IPC::Message* reply);
void OnCreateViewCommandBuffer(
+ gfx::PluginWindowHandle compositing_surface,
int32 render_view_id,
const GPUCreateCommandBufferConfig& init_params,
IPC::Message* reply);
diff --git a/content/browser/renderer_host/render_view_host.cc b/content/browser/renderer_host/render_view_host.cc
index d5eb8c9..5f11584 100644
--- a/content/browser/renderer_host/render_view_host.cc
+++ b/content/browser/renderer_host/render_view_host.cc
@@ -168,6 +168,7 @@ bool RenderViewHost::CreateRenderView(const string16& frame_name) {
ViewMsg_New_Params params;
params.parent_window = GetNativeViewId();
+ params.compositing_surface = GetCompositingSurface();
params.renderer_preferences =
delegate_->GetRendererPrefs(process()->profile());
params.web_preferences = delegate_->GetWebkitPrefs();
diff --git a/content/browser/renderer_host/render_widget_host.cc b/content/browser/renderer_host/render_widget_host.cc
index 57004c9..d7ad0b5 100644
--- a/content/browser/renderer_host/render_widget_host.cc
+++ b/content/browser/renderer_host/render_widget_host.cc
@@ -122,6 +122,12 @@ gfx::NativeViewId RenderWidgetHost::GetNativeViewId() {
return 0;
}
+gfx::PluginWindowHandle RenderWidgetHost::GetCompositingSurface() {
+ if (view_)
+ return view_->GetCompositingSurface();
+ return gfx::kNullPluginWindow;
+}
+
bool RenderWidgetHost::PreHandleKeyboardEvent(
const NativeWebKeyboardEvent& event,
bool* is_keyboard_shortcut) {
@@ -134,7 +140,8 @@ void RenderWidgetHost::Init() {
renderer_initialized_ = true;
// Send the ack along with the information on placement.
- Send(new ViewMsg_CreatingNew_ACK(routing_id_, GetNativeViewId()));
+ Send(new ViewMsg_CreatingNew_ACK(
+ routing_id_, GetNativeViewId(), GetCompositingSurface()));
WasResized();
}
diff --git a/content/browser/renderer_host/render_widget_host.h b/content/browser/renderer_host/render_widget_host.h
index 9ed7ccd..ab5aa91 100644
--- a/content/browser/renderer_host/render_widget_host.h
+++ b/content/browser/renderer_host/render_widget_host.h
@@ -413,6 +413,10 @@ class RenderWidgetHost : public IPC::Channel::Listener,
// This is used for various IPC messages, including plugins.
gfx::NativeViewId GetNativeViewId();
+ // Retrieves an id for the surface that the renderer can draw to
+ // when accelerated compositing is enabled.
+ gfx::PluginWindowHandle GetCompositingSurface();
+
// Called to handled a keyboard event before sending it to the renderer.
// This is overridden by RenderView to send upwards to its delegate.
// Returns true if the event was handled, and then the keyboard event will
diff --git a/content/browser/renderer_host/render_widget_host_view.h b/content/browser/renderer_host/render_widget_host_view.h
index 5d4cf69..76c1db4 100644
--- a/content/browser/renderer_host/render_widget_host_view.h
+++ b/content/browser/renderer_host/render_widget_host_view.h
@@ -270,8 +270,7 @@ class RenderWidgetHostView {
virtual void ShowCompositorHostWindow(bool show) = 0;
#endif
- virtual gfx::PluginWindowHandle AcquireCompositingSurface() = 0;
- virtual void ReleaseCompositingSurface(gfx::PluginWindowHandle surface) = 0;
+ virtual gfx::PluginWindowHandle GetCompositingSurface() = 0;
// Toggles visual muting of the render view area. This is on when a
// constrained window is showing, for example. |color| is the shade of
diff --git a/content/browser/renderer_host/test_render_view_host.cc b/content/browser/renderer_host/test_render_view_host.cc
index 6eba441..394d447 100644
--- a/content/browser/renderer_host/test_render_view_host.cc
+++ b/content/browser/renderer_host/test_render_view_host.cc
@@ -242,7 +242,7 @@ void TestRenderWidgetHostView::ShowCompositorHostWindow(bool show) {
}
#endif
-gfx::PluginWindowHandle TestRenderWidgetHostView::AcquireCompositingSurface() {
+gfx::PluginWindowHandle TestRenderWidgetHostView::GetCompositingSurface() {
return gfx::kNullPluginWindow;
}
diff --git a/content/browser/renderer_host/test_render_view_host.h b/content/browser/renderer_host/test_render_view_host.h
index 4326529..a860806 100644
--- a/content/browser/renderer_host/test_render_view_host.h
+++ b/content/browser/renderer_host/test_render_view_host.h
@@ -141,8 +141,7 @@ class TestRenderWidgetHostView : public RenderWidgetHostView {
virtual void AcceleratedCompositingActivated(bool activated) { }
#endif
- virtual gfx::PluginWindowHandle AcquireCompositingSurface();
- virtual void ReleaseCompositingSurface(gfx::PluginWindowHandle surface) { }
+ virtual gfx::PluginWindowHandle GetCompositingSurface();
virtual bool ContainsNativeView(gfx::NativeView native_view) const;