Index: ui/surface/accelerated_surface_win.cc |
diff --git a/ui/surface/accelerated_surface_win.cc b/ui/surface/accelerated_surface_win.cc |
index 1e72d9a5a17b34f98ae8ad8e8db2ab0ab82d3550..36e04d918c3dfe3b7d0a37743f7f45eda5a836f8 100644 |
--- a/ui/surface/accelerated_surface_win.cc |
+++ b/ui/surface/accelerated_surface_win.cc |
@@ -412,6 +412,11 @@ void AcceleratedPresenterMap::RemovePresenter( |
scoped_refptr<AcceleratedPresenter> AcceleratedPresenterMap::GetPresenter( |
gfx::PluginWindowHandle window) { |
base::AutoLock locked(lock_); |
+ |
+ if (!window) { |
+ return presenters_.begin()->second; |
+ } |
+ |
PresenterMap::iterator it = presenters_.find(window); |
if (it == presenters_.end()) |
return scoped_refptr<AcceleratedPresenter>(); |
@@ -661,6 +666,10 @@ void AcceleratedPresenter::Invalidate() { |
window_ = NULL; |
} |
+void AcceleratedPresenter::SetNewTargetWindow(gfx::PluginWindowHandle window) { |
+ window_ = window; |
+} |
+ |
AcceleratedPresenter::~AcceleratedPresenter() { |
} |