Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 6527b3b24ecc692ae14d19a6869f707f9737494b..cd6c7df6166184c16cb21fb7fa33b05031a8e7bc 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -175,6 +175,8 @@ void RenderWidget::CompleteInit(gfx::NativeViewId parent_hwnd) { |
host_window_ = parent_hwnd; |
+ DoDeferredUpdate(); |
+ |
Send(new ViewHostMsg_RenderViewReady(routing_id_)); |
} |
@@ -737,6 +739,11 @@ void RenderWidget::DoDeferredUpdate() { |
if (!webwidget_) |
return; |
+ |
+ if (!host_window_) { |
+ TRACE_EVENT0("renderer", "EarlyOut_NoHostWindow"); |
+ return; |
+ } |
if (update_reply_pending_) { |
TRACE_EVENT0("renderer", "EarlyOut_UpdateReplyPending"); |
return; |
@@ -755,6 +762,9 @@ void RenderWidget::DoDeferredUpdate() { |
return; |
} |
+ if (is_accelerated_compositing_active_) |
piman
2012/01/30 18:10:23
is_accelerated_compositing_active_ can change valu
|
+ using_asynchronous_swapbuffers_ = SupportsAsynchronousSwapBuffers(); |
+ |
// Tracking of frame rate jitter |
base::TimeTicks frame_begin_ticks = base::TimeTicks::Now(); |
AnimateIfNeeded(); |
@@ -1010,10 +1020,6 @@ void RenderWidget::didActivateCompositor(int compositor_identifier) { |
is_accelerated_compositing_active_ = true; |
Send(new ViewHostMsg_DidActivateAcceleratedCompositing( |
routing_id_, is_accelerated_compositing_active_)); |
- |
- // Note: asynchronous swapbuffer support currently only matters if |
- // compositing scheduling happens on the RenderWidget. |
- using_asynchronous_swapbuffers_ = SupportsAsynchronousSwapBuffers(); |
} |
void RenderWidget::didDeactivateCompositor() { |