summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-27 17:18:35 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-27 17:18:35 +0000
commit2d268b537e9f420f952c22a0faeb6c52d047f463 (patch)
treea3d542ad6d7c7e6f0a7c2a45c13b39af47d2946d
parent617a4b8687e74835039ed774ccd15c5966247071 (diff)
downloadchromium_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.cc6
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() {