diff options
author | davidben <davidben@chromium.org> | 2015-02-12 17:13:23 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-13 01:13:48 +0000 |
commit | fc7de7c781e8043b08d58a9e6596c4fb73040c8a (patch) | |
tree | 5bc30beb348dcddd9ede6b3793295388ea80aeb2 | |
parent | c31cf2f1666adf09676ccc85e0840f7170ec59f5 (diff) | |
download | chromium_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.cc | 4 |
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, |