summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavidben <davidben@chromium.org>2015-02-12 17:13:23 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-13 01:13:48 +0000
commitfc7de7c781e8043b08d58a9e6596c4fb73040c8a (patch)
tree5bc30beb348dcddd9ede6b3793295388ea80aeb2
parentc31cf2f1666adf09676ccc85e0840f7170ec59f5 (diff)
downloadchromium_src-fc7de7c781e8043b08d58a9e6596c4fb73040c8a.zip
chromium_src-fc7de7c781e8043b08d58a9e6596c4fb73040c8a.tar.gz
chromium_src-fc7de7c781e8043b08d58a9e6596c4fb73040c8a.tar.bz2
Missing RemoveObserver call in prerender RPH tracking logic.
BUG=none Review URL: https://codereview.chromium.org/920233002 Cr-Commit-Position: refs/heads/master@{#316115}
-rw-r--r--chrome/browser/prerender/prerender_manager.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc
index 1824a8b..b63430a 100644
--- a/chrome/browser/prerender/prerender_manager.cc
+++ b/chrome/browser/prerender/prerender_manager.cc
@@ -535,6 +535,7 @@ WebContents* PrerenderManager::SwapInternal(
// At this point, we've determined that we will use the prerender.
content::RenderProcessHost* process_host =
prerender_data->contents()->GetRenderViewHost()->GetProcess();
+ process_host->RemoveObserver(this);
prerender_process_hosts_.erase(process_host);
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
@@ -1624,7 +1625,8 @@ bool PrerenderManager::MayReuseProcessHost(
void PrerenderManager::RenderProcessHostDestroyed(
content::RenderProcessHost* host) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- prerender_process_hosts_.erase(host);
+ size_t erased = prerender_process_hosts_.erase(host);
+ DCHECK_EQ(1u, erased);
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(&PrerenderTracker::RemovePrerenderCookieStoreOnIOThread,