Chromium Code Reviews| 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(); |
| } |
| } |