Index: chrome/browser/prerender/prerender_contents.cc |
diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc |
index be2cfe2d67b7f105afc28f5ce71668a0f457aaba..ca9b9c345e372579d469d5a2b8e2356bf1e2bc43 100644 |
--- a/chrome/browser/prerender/prerender_contents.cc |
+++ b/chrome/browser/prerender/prerender_contents.cc |
@@ -31,6 +31,7 @@ |
#include "content/browser/renderer_host/render_view_host.h" |
#include "content/browser/renderer_host/resource_dispatcher_host.h" |
#include "content/browser/renderer_host/resource_request_details.h" |
+#include "content/browser/resource_context.h" |
#include "content/browser/site_instance.h" |
#include "content/browser/tab_contents/tab_contents_delegate.h" |
#include "content/browser/tab_contents/tab_contents_view.h" |
@@ -68,9 +69,12 @@ struct PrerenderUrlPredicate { |
class PrerenderContentsFactoryImpl : public PrerenderContents::Factory { |
public: |
virtual PrerenderContents* CreatePrerenderContents( |
- PrerenderManager* prerender_manager, Profile* profile, const GURL& url, |
+ PrerenderManager* prerender_manager, Profile* profile, |
+ PrerenderTracker* prerender_tracker, |
+ const GURL& url, |
const GURL& referrer) OVERRIDE { |
- return new PrerenderContents(prerender_manager, profile, url, referrer); |
+ return new PrerenderContents(prerender_manager, profile, prerender_tracker, |
+ url, referrer); |
} |
}; |
@@ -125,6 +129,7 @@ class PrerenderContents::TabContentsDelegateImpl |
PrerenderContents::PrerenderContents(PrerenderManager* prerender_manager, |
Profile* profile, |
+ PrerenderTracker* prerender_tracker, |
const GURL& url, |
const GURL& referrer) |
: prerender_manager_(prerender_manager), |
@@ -132,6 +137,7 @@ PrerenderContents::PrerenderContents(PrerenderManager* prerender_manager, |
prerender_url_(url), |
referrer_(referrer), |
profile_(profile), |
+ prerender_tracker_(prerender_tracker), |
page_id_(0), |
ALLOW_THIS_IN_INITIALIZER_LIST(tab_contents_observer_registrar_(this)), |
has_stopped_loading_(false), |
@@ -187,8 +193,10 @@ void PrerenderContents::StartPrerenderingOld( |
// Register this with the PrerenderTracker as a prerendering RenderViewHost. |
// This must be done before the Navigate message to catch all resource |
// requests. |
- PrerenderTracker::GetInstance()->OnPrerenderingStarted(child_id_, route_id_, |
- prerender_manager_); |
+ prerender_tracker_->OnPrerenderingStarted( |
+ child_id_, |
+ route_id_, |
+ prerender_manager_); |
// Close ourselves when the application is shutting down. |
notification_registrar_.Add(this, NotificationType::APP_TERMINATING, |
@@ -291,8 +299,10 @@ void PrerenderContents::StartPrerendering( |
// RenderViewHost. This must be done before the Navigate message to catch all |
// resource requests, but as it is on the same thread as the Navigate message |
// (IO) there is no race condition. |
- PrerenderTracker::GetInstance()->OnPrerenderingStarted(child_id_, route_id_, |
- prerender_manager_); |
+ prerender_tracker_->OnPrerenderingStarted( |
+ child_id_, |
+ route_id_, |
+ prerender_manager_); |
// Close ourselves when the application is shutting down. |
notification_registrar_.Add(this, NotificationType::APP_TERMINATING, |
@@ -381,7 +391,7 @@ PrerenderContents::~PrerenderContents() { |
render_view_host_->Shutdown(); |
if (child_id_ != -1 && route_id_ != -1) { |
- PrerenderTracker::GetInstance()->OnPrerenderingFinished( |
+ prerender_tracker_->OnPrerenderingFinished( |
mmenke
2011/05/24 17:56:22
nit: This now fits on a single line.
dominich
2011/05/24 18:01:47
Done.
|
child_id_, route_id_); |
} |
@@ -727,15 +737,14 @@ void PrerenderContents::Destroy(FinalStatus final_status) { |
// because destroy may be called directly from the UI thread without calling |
// TryCancel(). This is difficult to completely avoid, since prerendering |
// can be cancelled before a RenderView is created. |
- bool is_cancelled = |
- PrerenderTracker::GetInstance()->TryCancel(child_id_, route_id_, |
- final_status); |
+ bool is_cancelled = prerender_tracker_->TryCancel( |
+ child_id_, route_id_, final_status); |
CHECK(is_cancelled); |
// A different final status may have been set already from another thread. |
// If so, use it instead. |
- if (!PrerenderTracker::GetInstance()->GetFinalStatus(child_id_, route_id_, |
- &final_status)) { |
+ if (!prerender_tracker_->GetFinalStatus(child_id_, route_id_, |
+ &final_status)) { |
NOTREACHED(); |
} |
} |