| Index: chrome/browser/prerender/prerender_manager.h
|
| diff --git a/chrome/browser/prerender/prerender_manager.h b/chrome/browser/prerender/prerender_manager.h
|
| index 2c49e6816f6c8b3410b66f6c977e0f1ed92596ce..0eff09a8b79f94edfc9749424ea0f10832515908 100644
|
| --- a/chrome/browser/prerender/prerender_manager.h
|
| +++ b/chrome/browser/prerender/prerender_manager.h
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -8,6 +8,7 @@
|
|
|
| #include <list>
|
|
|
| +#include "base/ref_counted.h"
|
| #include "base/scoped_ptr.h"
|
| #include "base/threading/non_thread_safe.h"
|
| #include "base/time.h"
|
| @@ -19,11 +20,11 @@ class TabContents;
|
|
|
| // PrerenderManager is responsible for initiating and keeping prerendered
|
| // views of webpages.
|
| -class PrerenderManager : base::NonThreadSafe {
|
| +class PrerenderManager : public base::RefCounted<PrerenderManager>,
|
| + private base::NonThreadSafe {
|
| public:
|
| // Owned by a Profile object for the lifetime of the profile.
|
| explicit PrerenderManager(Profile* profile);
|
| - virtual ~PrerenderManager();
|
|
|
| // Preloads the URL supplied.
|
| void AddPreload(const GURL& url);
|
| @@ -50,16 +51,16 @@ class PrerenderManager : base::NonThreadSafe {
|
| void set_max_elements(unsigned int num) { max_elements_ = num; }
|
|
|
| protected:
|
| - // The following methods exist explicitly rather than just inlined to
|
| - // facilitate testing.
|
| - virtual base::Time GetCurrentTime() const;
|
| - virtual PrerenderContents* CreatePrerenderContents(const GURL& url);
|
| + virtual ~PrerenderManager();
|
|
|
| private:
|
| + friend class base::RefCounted<PrerenderManager>;
|
| struct PrerenderContentsData;
|
|
|
| bool IsPrerenderElementFresh(const base::Time start) const;
|
| void DeleteOldEntries();
|
| + virtual base::Time GetCurrentTime() const;
|
| + virtual PrerenderContents* CreatePrerenderContents(const GURL& url);
|
|
|
| Profile* profile_;
|
|
|
|
|