Index: chrome/browser/prerender/prerender_tracker.cc |
diff --git a/chrome/browser/prerender/prerender_tracker.cc b/chrome/browser/prerender/prerender_tracker.cc |
index 185e9678042d149ff0167dfd9fd1679fd7174bf5..bcd95e69993d9079d90278e15d1daba87739aba8 100644 |
--- a/chrome/browser/prerender/prerender_tracker.cc |
+++ b/chrome/browser/prerender/prerender_tracker.cc |
@@ -20,36 +20,6 @@ namespace prerender { |
namespace { |
-bool ShouldCancelRequest( |
- int child_id, |
- int route_id) { |
- // Check if the RenderViewHost associated with (child_id, route_id) no |
- // longer exists, or has already been swapped out for a prerendered page. |
- // If that happens, then we do not want to issue the request which originated |
- // from it. Otherwise, keep it going. |
- // The RenderViewHost may exist for a couple of different reasons: such as |
- // being an XHR from the originating page, being included as an iframe, |
- // being requested as a favicon or stylesheet, and many other corner cases. |
- RenderViewHost* render_view_host = |
- RenderViewHost::FromID(child_id, route_id); |
- if (!render_view_host) |
- return true; |
- PrerenderManager* prerender_manager = |
- FindPrerenderManagerUsingRenderProcessId(child_id); |
- return (prerender_manager && |
- prerender_manager->IsOldRenderViewHost(render_view_host)); |
-} |
- |
-void HandleDelayedRequestOnUIThread( |
- int child_id, |
- int route_id, |
- const PrerenderTracker::CheckURLCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- bool should_cancel = ShouldCancelRequest(child_id, route_id); |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, base::Bind(callback, !should_cancel)); |
-} |
- |
void DestroyPrerenderForRenderViewOnUI( |
const base::WeakPtr<PrerenderManager>& prerender_manager_weak_ptr, |
int render_process_id, |
@@ -64,63 +34,8 @@ void DestroyPrerenderForRenderViewOnUI( |
render_process_id, render_view_id, final_status); |
} |
- |
-void AddURL(const GURL& url, URLCounter* counter) { |
- DCHECK(counter); |
- counter->AddURL(url); |
-} |
- |
-void RemoveURLs(const std::vector<GURL>& urls, URLCounter* counter) { |
- DCHECK(counter); |
- counter->RemoveURLs(urls); |
-} |
- |
} // namespace |
-URLCounter::URLCounter() { |
- // URLCounter is currently constructed on the UI thread but |
- // accessed on the IO thread. |
- DetachFromThread(); |
-} |
- |
-URLCounter::~URLCounter() { |
- // URLCounter is currently destructed on the UI thread but |
- // accessed on the IO thread. |
- DetachFromThread(); |
-} |
- |
-bool URLCounter::MatchesURL(const GURL& url) const { |
- DCHECK(CalledOnValidThread()); |
- URLCountMap::const_iterator it = url_count_map_.find(url); |
- if (it == url_count_map_.end()) |
- return false; |
- DCHECK(it->second > 0); |
- return true; |
-} |
- |
-void URLCounter::AddURL(const GURL& url) { |
- DCHECK(CalledOnValidThread()); |
- URLCountMap::iterator it = url_count_map_.find(url); |
- if (it == url_count_map_.end()) |
- url_count_map_[url] = 1; |
- else |
- it->second++; |
-} |
- |
-void URLCounter::RemoveURLs(const std::vector<GURL>& urls) { |
- DCHECK(CalledOnValidThread()); |
- for (std::vector<GURL>::const_iterator it = urls.begin(); |
- it != urls.end(); |
- ++it) { |
- URLCountMap::iterator map_entry = url_count_map_.find(*it); |
- DCHECK(url_count_map_.end() != map_entry); |
- DCHECK(map_entry->second > 0); |
- --map_entry->second; |
- if (map_entry->second == 0) |
- url_count_map_.erase(map_entry); |
- } |
-} |
- |
struct RenderViewInfo { |
explicit RenderViewInfo(PrerenderManager* prerender_manager) |
: final_status(FINAL_STATUS_MAX), |
@@ -169,34 +84,6 @@ bool PrerenderTracker::TryCancelOnIOThread( |
return TryCancel(child_id, route_id, final_status); |
} |
-bool PrerenderTracker::PotentiallyDelayRequestOnIOThread( |
- const GURL& gurl, |
- int process_id, |
- int route_id, |
- const CheckURLCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
- if (!url_counter_.MatchesURL(gurl)) |
- return false; |
- BrowserThread::PostTask( |
- BrowserThread::UI, |
- FROM_HERE, |
- base::Bind(&HandleDelayedRequestOnUIThread, process_id, route_id, |
- callback)); |
- return true; |
-} |
- |
-void PrerenderTracker::AddPrerenderURLOnUIThread(const GURL& url) { |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, base::Bind(&AddURL, url, &url_counter_)); |
-} |
- |
-void PrerenderTracker::RemovePrerenderURLsOnUIThread( |
- const std::vector<GURL>& urls) { |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&RemoveURLs, urls, &url_counter_)); |
-} |
- |
bool PrerenderTracker::GetFinalStatus(int child_id, int route_id, |
FinalStatus* final_status) const { |
ChildRouteIdPair child_route_id_pair(child_id, route_id); |