summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget.cc
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-06 23:02:04 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-06 23:02:04 +0000
commit26865477e028ccee54a243467693e7cc25bf6783 (patch)
treefd95553207f2740d77b9c2129646cc198af4c046 /chrome/renderer/render_widget.cc
parent79d09750c0a1abab73836b80ddbe49c64a3e8ad9 (diff)
downloadchromium_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.cc10
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;
+ }
+ }
+}