diff options
author | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 19:03:27 +0000 |
---|---|---|
committer | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 19:03:27 +0000 |
commit | 1459fb6d13c6e8da1fd72a569e9410a1d038bd59 (patch) | |
tree | 869478ccf95444e29cffb9e5e70acc0015379057 /chrome/browser/prerender/prerender_tracker.cc | |
parent | 8b001f3e36a29f590e57d46e8e1b357685eb38c1 (diff) | |
download | chromium_src-1459fb6d13c6e8da1fd72a569e9410a1d038bd59.zip chromium_src-1459fb6d13c6e8da1fd72a569e9410a1d038bd59.tar.gz chromium_src-1459fb6d13c6e8da1fd72a569e9410a1d038bd59.tar.bz2 |
Remove a chrome dependency by removing Prerender from ResourceDispatcherHost.
BUG=82590,77090
TEST=Prerender*
Review URL: http://codereview.chromium.org/6966017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86667 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender/prerender_tracker.cc')
-rw-r--r-- | chrome/browser/prerender/prerender_tracker.cc | 64 |
1 files changed, 24 insertions, 40 deletions
diff --git a/chrome/browser/prerender/prerender_tracker.cc b/chrome/browser/prerender/prerender_tracker.cc index f191e8c..19de266 100644 --- a/chrome/browser/prerender/prerender_tracker.cc +++ b/chrome/browser/prerender/prerender_tracker.cc @@ -2,45 +2,33 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "chrome/browser/prerender/prerender_tracker.h" + #include "base/logging.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/prerender/prerender_manager.h" -#include "chrome/browser/prerender/prerender_tracker.h" #include "content/browser/browser_thread.h" +#include "content/browser/resource_context.h" +#include "content/common/resource_messages.h" +#include "net/base/load_flags.h" namespace prerender { -namespace { - -void DestroyPreloadForRenderView( - const base::WeakPtr<PrerenderManager>& prerender_manager_weak_ptr, - int child_id, - int route_id, - FinalStatus final_status) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); - PrerenderManager* prerender_manager = prerender_manager_weak_ptr.get(); - if (!prerender_manager) - return; - - prerender_manager->DestroyPreloadForChildRouteIdPair( - std::make_pair(child_id, route_id), - final_status); -} - -} // namespace - struct RenderViewInfo { explicit RenderViewInfo(PrerenderManager* prerender_manager) : final_status(FINAL_STATUS_MAX), prerender_manager(prerender_manager->AsWeakPtr()) { } + ~RenderViewInfo() {} FinalStatus final_status; base::WeakPtr<PrerenderManager> prerender_manager; }; -// static -PrerenderTracker* PrerenderTracker::GetInstance() { - return Singleton<PrerenderTracker>::get(); +PrerenderTracker::PrerenderTracker() { +} + +PrerenderTracker::~PrerenderTracker() { } bool PrerenderTracker::TryUse(int child_id, int route_id) { @@ -74,15 +62,6 @@ bool PrerenderTracker::TryCancelOnIOThread( return TryCancel(child_id, route_id, final_status); } -bool PrerenderTracker::IsPrerenderingOnIOThread(int child_id, - int route_id) const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - - ChildRouteIdPair child_route_id_pair(child_id, route_id); - return possibly_prerendering_io_thread_set_.end() != - possibly_prerendering_io_thread_set_.find(child_route_id_pair); -} - bool PrerenderTracker::GetFinalStatus(int child_id, int route_id, FinalStatus* final_status) const { ChildRouteIdPair child_route_id_pair(child_id, route_id); @@ -118,12 +97,6 @@ void PrerenderTracker::OnPrerenderingStarted( std::make_pair(child_route_id_pair, RenderViewInfo(prerender_manager))); } -PrerenderTracker::PrerenderTracker() { -} - -PrerenderTracker::~PrerenderTracker() { -} - void PrerenderTracker::OnPrerenderingFinished(int child_id, int route_id) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); DCHECK_GE(child_id, 0); @@ -180,6 +153,15 @@ bool PrerenderTracker::SetFinalStatus(int child_id, int route_id, return false; } +bool PrerenderTracker::IsPrerenderingOnIOThread(int child_id, + int route_id) const { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); + + ChildRouteIdPair child_route_id_pair(child_id, route_id); + return possibly_prerendering_io_thread_set_.end() != + possibly_prerendering_io_thread_set_.find(child_route_id_pair); +} + void PrerenderTracker::AddPrerenderOnIOThread( const ChildRouteIdPair& child_route_id_pair) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); @@ -201,13 +183,15 @@ void PrerenderTracker::RemovePrerenderOnIOThread( // static void PrerenderTracker::AddPrerenderOnIOThreadTask( const ChildRouteIdPair& child_route_id_pair) { - GetInstance()->AddPrerenderOnIOThread(child_route_id_pair); + g_browser_process->prerender_tracker()->AddPrerenderOnIOThread( + child_route_id_pair); } // static void PrerenderTracker::RemovePrerenderOnIOThreadTask( const ChildRouteIdPair& child_route_id_pair) { - GetInstance()->RemovePrerenderOnIOThread(child_route_id_pair); + g_browser_process->prerender_tracker()->RemovePrerenderOnIOThread( + child_route_id_pair); } } // namespace prerender |