| Index: chrome/browser/renderer_host/accelerated_surface_container_manager_mac.cc | 
| diff --git a/chrome/browser/renderer_host/accelerated_surface_container_manager_mac.cc b/chrome/browser/renderer_host/accelerated_surface_container_manager_mac.cc | 
| index 96f09be6725e9a19cd8665542ef6440d38035038..9f1d9f3b642db4232522eb354fff373a4c77d5ee 100644 | 
| --- a/chrome/browser/renderer_host/accelerated_surface_container_manager_mac.cc | 
| +++ b/chrome/browser/renderer_host/accelerated_surface_container_manager_mac.cc | 
| @@ -38,8 +38,10 @@ void AcceleratedSurfaceContainerManagerMac::DestroyFakePluginWindowHandle( | 
| plugin_window_to_container_map_.erase(id); | 
| } | 
|  | 
| -bool AcceleratedSurfaceContainerManagerMac::HasRootContainer() { | 
| -  return root_container_ != NULL; | 
| +bool AcceleratedSurfaceContainerManagerMac::IsRootContainer( | 
| +    gfx::PluginWindowHandle id) { | 
| +  AcceleratedSurfaceContainerMac* container = MapIDToContainer(id); | 
| +  return root_container_ == container; | 
| } | 
|  | 
| void AcceleratedSurfaceContainerManagerMac::SetSizeAndIOSurface( | 
| @@ -50,17 +52,6 @@ void AcceleratedSurfaceContainerManagerMac::SetSizeAndIOSurface( | 
| AcceleratedSurfaceContainerMac* container = MapIDToContainer(id); | 
| if (container) { | 
| container->SetSizeAndIOSurface(width, height, io_surface_identifier); | 
| -    if (container == root_container_) { | 
| -      // Fake up a WebPluginGeometry for the root window to set the | 
| -      // container's size; we will never get a notification from the | 
| -      // browser about the root window, only plugins. | 
| -      webkit_glue::WebPluginGeometry geom; | 
| -      gfx::Rect rect(0, 0, width, height); | 
| -      geom.window_rect = rect; | 
| -      geom.clip_rect = rect; | 
| -      geom.visible = true; | 
| -      container->MoveTo(geom); | 
| -    } | 
| } | 
| } | 
|  | 
| @@ -82,6 +73,7 @@ void AcceleratedSurfaceContainerManagerMac::MovePluginContainer( | 
| } | 
|  | 
| void AcceleratedSurfaceContainerManagerMac::Draw(CGLContextObj context, | 
| +                                                 gfx::PluginWindowHandle id, | 
| bool draw_root_container) { | 
| // Clean up old texture objects. This is essentially a pre-emptive | 
| // cleanup, as the resources will be released when the OpenGL | 
| @@ -109,19 +101,9 @@ void AcceleratedSurfaceContainerManagerMac::Draw(CGLContextObj context, | 
|  | 
| glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); | 
|  | 
| -  // Draw the root container, if any, first. | 
| -  if (draw_root_container && root_container_) { | 
| -    root_container_->Draw(context); | 
| -  } | 
| - | 
| -  for (PluginWindowToContainerMap::const_iterator i = | 
| -          plugin_window_to_container_map_.begin(); | 
| -       i != plugin_window_to_container_map_.end(); ++i) { | 
| -    AcceleratedSurfaceContainerMac* container = i->second; | 
| -    if (container != root_container_) { | 
| -      container->Draw(context); | 
| -    } | 
| -  } | 
| +  AcceleratedSurfaceContainerMac* container = MapIDToContainer(id); | 
| +  CHECK(container); | 
| +  container->Draw(context); | 
|  | 
| // Unbind any texture from the texture target to ensure that the | 
| // next time through we will have to re-bind the texture and thereby | 
|  |