Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2764)

Unified Diff: chrome/browser/prerender/prerender_tracker.cc

Issue 6966017: Remove a chrome dependency by removing Prerender from ResourceDispatcherHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added generic resource_dispatcher_host_observer Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_tracker.cc
diff --git a/chrome/browser/prerender/prerender_tracker.cc b/chrome/browser/prerender/prerender_tracker.cc
index c82acd339abb56742fb77c8bdfc4d9682b7dc20b..dec8f05f3629311299b762768d9a101a52281e5c 100644
--- a/chrome/browser/prerender/prerender_tracker.cc
+++ b/chrome/browser/prerender/prerender_tracker.cc
@@ -3,44 +3,29 @@
// found in the LICENSE file.
#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)
+PrerenderTracker::RenderViewInfo::RenderViewInfo(
+ PrerenderManager* prerender_manager)
: final_status(FINAL_STATUS_MAX),
prerender_manager(prerender_manager->AsWeakPtr()) {
- }
+}
- FinalStatus final_status;
- base::WeakPtr<PrerenderManager> prerender_manager;
-};
+PrerenderTracker::RenderViewInfo::~RenderViewInfo() {
+}
-// static
-PrerenderTracker* PrerenderTracker::GetInstance() {
- return Singleton<PrerenderTracker>::get();
+PrerenderTracker::PrerenderTracker() {
+}
+
+PrerenderTracker::~PrerenderTracker() {
}
bool PrerenderTracker::TryUse(int child_id, int route_id) {
@@ -74,15 +59,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);
@@ -134,12 +110,6 @@ void PrerenderTracker::OnPrerenderingFinished(int child_id, int route_id) {
DCHECK_EQ(1u, num_erased);
}
-PrerenderTracker::PrerenderTracker() {
-}
-
-PrerenderTracker::~PrerenderTracker() {
-}
-
FinalStatus PrerenderTracker::SetFinalStatus(int child_id, int route_id,
FinalStatus final_status) {
DCHECK(final_status >= FINAL_STATUS_USED && final_status < FINAL_STATUS_MAX);
@@ -169,6 +139,15 @@ FinalStatus PrerenderTracker::SetFinalStatus(int child_id, int route_id,
return final_status_it->second.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);
+}
+
void PrerenderTracker::AddPrerenderOnIOThread(
const ChildRouteIdPair& child_route_id_pair) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
@@ -190,13 +169,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

Powered by Google App Engine
This is Rietveld 408576698