diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-06 23:02:04 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-06 23:02:04 +0000 |
commit | 26865477e028ccee54a243467693e7cc25bf6783 (patch) | |
tree | fd95553207f2740d77b9c2129646cc198af4c046 /chrome/renderer/render_widget.cc | |
parent | 79d09750c0a1abab73836b80ddbe49c64a3e8ad9 (diff) | |
download | chromium_src-26865477e028ccee54a243467693e7cc25bf6783.zip chromium_src-26865477e028ccee54a243467693e7cc25bf6783.tar.gz chromium_src-26865477e028ccee54a243467693e7cc25bf6783.tar.bz2 |
When the plugin crashes, cleanup references to its window in the renderer.
This avoids spurious messages when the plugin crashes, and potential issues (plugin crashes, the HWND/XID gets destroyed, a new one gets created by a new instance and gets the same HWND/XID, the browser operates on the new one instead of the old one).
Review URL: http://codereview.chromium.org/160614
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22688 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_widget.cc')
-rw-r--r-- | chrome/renderer/render_widget.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc index e6ac408..6f2d5fc 100644 --- a/chrome/renderer/render_widget.cc +++ b/chrome/renderer/render_widget.cc @@ -845,3 +845,13 @@ void RenderWidget::SchedulePluginMove(const WebPluginGeometry& move) { if (i == plugin_window_moves_.size()) plugin_window_moves_.push_back(move); } + +void RenderWidget::CleanupWindowInPluginMoves(gfx::PluginWindowHandle window) { + for (WebPluginGeometryVector::iterator i = plugin_window_moves_.begin(); + i != plugin_window_moves_.end(); ++i) { + if (i->window == window) { + plugin_window_moves_.erase(i); + break; + } + } +} |