diff options
Diffstat (limited to 'chrome/browser/prerender/prerender_manager.h')
-rw-r--r-- | chrome/browser/prerender/prerender_manager.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/chrome/browser/prerender/prerender_manager.h b/chrome/browser/prerender/prerender_manager.h index c4a6375..d23cbe5e 100644 --- a/chrome/browser/prerender/prerender_manager.h +++ b/chrome/browser/prerender/prerender_manager.h @@ -11,18 +11,16 @@ #include "base/ref_counted.h" #include "base/scoped_ptr.h" -#include "base/threading/non_thread_safe.h" #include "base/time.h" +#include "chrome/browser/prerender/prerender_contents.h" #include "googleurl/src/gurl.h" -class PrerenderContents; class Profile; class TabContents; // PrerenderManager is responsible for initiating and keeping prerendered // views of webpages. -class PrerenderManager : public base::RefCounted<PrerenderManager>, - private base::NonThreadSafe { +class PrerenderManager : public base::RefCounted<PrerenderManager> { public: // Owned by a Profile object for the lifetime of the profile. explicit PrerenderManager(Profile* profile); @@ -55,7 +53,13 @@ class PrerenderManager : public base::RefCounted<PrerenderManager>, protected: virtual ~PrerenderManager(); + void SetPrerenderContentsFactory( + PrerenderContents::Factory* prerender_contents_factory); + private: + // Test that needs needs access to internal functions. + friend class PrerenderBrowserTest; + friend class base::RefCounted<PrerenderManager>; struct PrerenderContentsData; @@ -66,6 +70,11 @@ class PrerenderManager : public base::RefCounted<PrerenderManager>, const GURL& url, const std::vector<GURL>& alias_urls); + // Finds the specified PrerenderContents and returns it, if it exists. + // Returns NULL otherwise. Unlike GetEntry, the PrerenderManager maintains + // ownership of the PrerenderContents. + PrerenderContents* FindEntry(const GURL& url); + Profile* profile_; base::TimeDelta max_prerender_age_; @@ -80,6 +89,8 @@ class PrerenderManager : public base::RefCounted<PrerenderManager>, // Default maximum age a prerendered element may have, in seconds. static const int kDefaultMaxPrerenderAgeSeconds = 20; + scoped_ptr<PrerenderContents::Factory> prerender_contents_factory_; + DISALLOW_COPY_AND_ASSIGN(PrerenderManager); }; |