Index: chrome/renderer/render_widget.cc |
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc |
index b19a87ca16cc626ee1e95bf02906b8b55f6987ff..28b1658ed800b973795b0d8d50eb82828f66b14a 100644 |
--- a/chrome/renderer/render_widget.cc |
+++ b/chrome/renderer/render_widget.cc |
@@ -576,6 +576,9 @@ void RenderWidget::DoDeferredUpdate() { |
gfx::Rect scroll_damage = update.GetScrollDamage(); |
gfx::Rect bounds = update.GetPaintBounds().Union(scroll_damage); |
+ // Compositing the page may disable accelerated compositing. |
+ bool accelerated_compositing_was_active = is_accelerated_compositing_active_; |
+ |
// A plugin may be able to do an optimized paint. First check this, in which |
// case we can skip all of the bitmap generation and regular paint code. |
// This optimization allows PPAPI plugins that declare themselves on top of |
@@ -587,7 +590,7 @@ void RenderWidget::DoDeferredUpdate() { |
// This optimization only works when the entire invalid region is contained |
// within the plugin. There is a related optimization in PaintRect for the |
// case where there may be multiple invalid regions. |
- TransportDIB::Id dib_id = TransportDIB::Id(); |
+ TransportDIB::Id dib_id = TransportDIB::InvalidId(); |
TransportDIB* dib = NULL; |
std::vector<gfx::Rect> copy_rects; |
gfx::Rect optimized_copy_rect, optimized_copy_location; |
@@ -639,7 +642,7 @@ void RenderWidget::DoDeferredUpdate() { |
params.bitmap_rect = bounds; |
params.dx = update.scroll_delta.x(); |
params.dy = update.scroll_delta.y(); |
- if (is_accelerated_compositing_active_) { |
+ if (accelerated_compositing_was_active) { |
// If painting is done via the gpu process then we clear out all damage |
// rects to save the browser process from doing unecessary work. |
params.scroll_rect = gfx::Rect(); |