summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget.h
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.h
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.h')
-rw-r--r--chrome/renderer/render_widget.h7
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_;