Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 94d484f72ed7a922a2fe850a9a5bd2611ff70e1c..7dc659cfa5c34eed5f81b1bfe6bcae16c2969041 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -567,7 +567,8 @@ RenderWidget* RenderWidget::CreateForFrame( |
if (widget->DoInit(MSG_ROUTING_NONE, compositor_deps, |
RenderWidget::CreateWebFrameWidget(widget.get(), frame), |
nullptr)) { |
- widget->CompleteInit(); |
+ // TODO(kenrb): Child frames need support for Surface IDs. |
+ widget->CompleteInit(0); |
return widget.get(); |
} |
return nullptr; |
@@ -637,13 +638,15 @@ bool RenderWidget::DoInit(int32 opener_id, |
} |
// This is used to complete pending inits and non-pending inits. |
-void RenderWidget::CompleteInit() { |
+void RenderWidget::CompleteInit(uint32_t surface_id_namespace) { |
DCHECK(routing_id_ != MSG_ROUTING_NONE); |
init_complete_ = true; |
- if (compositor_) |
+ if (compositor_) { |
StartCompositor(); |
+ compositor_->SetSurfaceIdNamespace(surface_id_namespace); |
+ } |
Send(new ViewHostMsg_RenderViewReady(routing_id_)); |
} |
@@ -749,6 +752,8 @@ bool RenderWidget::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(ViewMsg_SetTextDirection, OnSetTextDirection) |
IPC_MESSAGE_HANDLER(ViewMsg_Move_ACK, OnRequestMoveAck) |
IPC_MESSAGE_HANDLER(ViewMsg_UpdateScreenRects, OnUpdateScreenRects) |
+ IPC_MESSAGE_HANDLER(ViewMsg_UpdateSurfaceIdNamespace, |
+ OnUpdateSurfaceIdNamespace) |
#if defined(OS_ANDROID) |
IPC_MESSAGE_HANDLER(ViewMsg_ShowImeIfNeeded, OnShowImeIfNeeded) |
IPC_MESSAGE_HANDLER(ViewMsg_ImeEventAck, OnImeEventAck) |
@@ -890,10 +895,10 @@ void RenderWidget::OnClose() { |
// Got a response from the browser after the renderer decided to create a new |
// view. |
-void RenderWidget::OnCreatingNewAck() { |
+void RenderWidget::OnCreatingNewAck(uint32_t surface_id_namespace) { |
DCHECK(routing_id_ != MSG_ROUTING_NONE); |
- CompleteInit(); |
+ CompleteInit(surface_id_namespace); |
} |
void RenderWidget::OnResize(const ViewMsg_Resize_Params& params) { |
@@ -1749,6 +1754,11 @@ void RenderWidget::OnUpdateScreenRects(const gfx::Rect& view_screen_rect, |
Send(new ViewHostMsg_UpdateScreenRects_ACK(routing_id())); |
} |
+void RenderWidget::OnUpdateSurfaceIdNamespace(uint32 surface_id_namespace) { |
+ if (compositor_) |
+ compositor_->SetSurfaceIdNamespace(surface_id_namespace); |
+} |
+ |
void RenderWidget::showImeIfNeeded() { |
OnShowImeIfNeeded(); |
} |