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.h | |
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.h')
-rw-r--r-- | chrome/renderer/render_widget.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/chrome/renderer/render_widget.h b/chrome/renderer/render_widget.h index 7c6e592..ea7ef5e 100644 --- a/chrome/renderer/render_widget.h +++ b/chrome/renderer/render_widget.h @@ -86,6 +86,10 @@ class RenderWidget : public IPC::Channel::Listener, // the next paint or scroll message to the host. void SchedulePluginMove(const WebPluginGeometry& move); + // Called when a plugin window has been destroyed, to make sure the currently + // pending moves don't try to reference it. + void CleanupWindowInPluginMoves(gfx::PluginWindowHandle window); + // Invalidates entire widget rect to generate a full repaint. void GenerateFullRepaint(); @@ -283,7 +287,8 @@ class RenderWidget : public IPC::Channel::Listener, bool activatable_; // Holds all the needed plugin window moves for a scroll. - std::vector<WebPluginGeometry> plugin_window_moves_; + typedef std::vector<WebPluginGeometry> WebPluginGeometryVector; + WebPluginGeometryVector plugin_window_moves_; // A custom background for the widget. SkBitmap background_; |