| Index: content/renderer/render_widget.cc
 | 
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
 | 
| index 8ecb0b3952e3cd6a1cff6d9a0119d1192bad8d66..442329cb6ee3f90f58d2c77aaf194910825a8799 100644
 | 
| --- a/content/renderer/render_widget.cc
 | 
| +++ b/content/renderer/render_widget.cc
 | 
| @@ -580,6 +580,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
 | 
| @@ -591,7 +594,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* dib = NULL;
 | 
|    std::vector<gfx::Rect> copy_rects;
 | 
|    gfx::Rect optimized_copy_rect, optimized_copy_location;
 | 
| @@ -643,7 +646,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();
 | 
| @@ -901,8 +904,8 @@ void RenderWidget::OnMsgPaintAtSize(const TransportDIB::Handle& dib_handle,
 | 
|                                      int tag,
 | 
|                                      const gfx::Size& page_size,
 | 
|                                      const gfx::Size& desired_size) {
 | 
| -  if (!webwidget_ || !TransportDIB::is_valid(dib_handle)) {
 | 
| -    if (TransportDIB::is_valid(dib_handle)) {
 | 
| +  if (!webwidget_ || !TransportDIB::is_valid_handle(dib_handle)) {
 | 
| +    if (TransportDIB::is_valid_handle(dib_handle)) {
 | 
|        // Close our unused handle.
 | 
|  #if defined(OS_WIN)
 | 
|        ::CloseHandle(dib_handle);
 | 
| 
 |