diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-27 17:18:35 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-02-27 17:18:35 +0000 |
commit | 2d268b537e9f420f952c22a0faeb6c52d047f463 (patch) | |
tree | a3d542ad6d7c7e6f0a7c2a45c13b39af47d2946d | |
parent | 617a4b8687e74835039ed774ccd15c5966247071 (diff) | |
download | chromium_src-2d268b537e9f420f952c22a0faeb6c52d047f463.zip chromium_src-2d268b537e9f420f952c22a0faeb6c52d047f463.tar.gz chromium_src-2d268b537e9f420f952c22a0faeb6c52d047f463.tar.bz2 |
Fix painting issue after a renderer crash
When a renderer crashes, the RenderProcessHost may be reused once the
user refreshes. Because of this, the TransportDIB cache, added in
r10071 was getting used while stale, causing painting issues.
This patch clears the TransportDIB cache after a renderer crash.
BUG=8065
Review URL: http://codereview.chromium.org/28238
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10610 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/renderer_host/browser_render_process_host.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/chrome/browser/renderer_host/browser_render_process_host.cc b/chrome/browser/renderer_host/browser_render_process_host.cc index 4d43423..88b50c9 100644 --- a/chrome/browser/renderer_host/browser_render_process_host.cc +++ b/chrome/browser/renderer_host/browser_render_process_host.cc @@ -795,7 +795,11 @@ void BrowserRenderProcessHost::OnChannelError() { i != local_listeners.end(); ++i) { i->second->OnMessageReceived(ViewHostMsg_RenderViewGone(i->first)); } - // at this point, this object should be deleted + + ClearTransportDIBCache(); + + // this object is not deleted at this point and may be reused later. + // TODO(darin): clean this up } void BrowserRenderProcessHost::Unregister() { |