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

Unified Diff: chrome/browser/android/offline_pages/prerendering_offliner.h

Issue 1961083002: Updates to PrerenderingOffliner and PrerenderingLoader interfaces to push PrerenderManager knowledge (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed fgosrki feedback wrt loader creation Created 4 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/android/offline_pages/prerendering_offliner.h
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner.h b/chrome/browser/android/offline_pages/prerendering_offliner.h
index a9851429bdd1a601cc2b4678b50159b0260e3e5b..b64c9b97de6870853b16fbe5fe9407ac556be0bf 100644
--- a/chrome/browser/android/offline_pages/prerendering_offliner.h
+++ b/chrome/browser/android/offline_pages/prerendering_offliner.h
@@ -5,13 +5,15 @@
#ifndef CHROME_BROWSER_ANDROID_OFFLINE_PAGES_PRERENDERING_OFFLINER_H_
#define CHROME_BROWSER_ANDROID_OFFLINE_PAGES_PRERENDERING_OFFLINER_H_
+#include <memory>
+
+#include "base/memory/weak_ptr.h"
#include "chrome/browser/android/offline_pages/prerendering_loader.h"
#include "components/offline_pages/background/offliner.h"
#include "components/offline_pages/offline_page_model.h"
-class PrerenderManager;
-
namespace content {
+class BrowserContext;
class WebContents;
} // namespace content
@@ -24,8 +26,8 @@ class OfflinerPolicy;
// the OfflinePageModel to save it.
class PrerenderingOffliner : public Offliner {
public:
- PrerenderingOffliner(const OfflinerPolicy* policy,
- PrerenderManager* prerender_manager,
+ PrerenderingOffliner(content::BrowserContext* browser_context,
+ const OfflinerPolicy* policy,
OfflinePageModel* offline_page_model);
~PrerenderingOffliner() override;
@@ -34,8 +36,23 @@ class PrerenderingOffliner : public Offliner {
void Cancel() override;
+ void SetLoaderForTesting(std::unique_ptr<PrerenderingLoader> loader);
fgorski 2016/05/10 03:52:43 add documentation to that one.
dougarnett 2016/05/10 15:30:19 Done.
+
private:
+ void OnLoadPageDone(const Offliner::CompletionStatus load_status,
+ content::WebContents* contents);
+
+ PrerenderingLoader* GetOrCreateLoader();
+
+ // Not owned.
+ content::BrowserContext* browser_context_;
+ // Not owned.
+ OfflinePageModel* offline_page_model_;
+ // Lazily created.
std::unique_ptr<PrerenderingLoader> loader_;
+ base::WeakPtrFactory<PrerenderingOffliner> weak_ptr_factory_;
+
+ DISALLOW_COPY_AND_ASSIGN(PrerenderingOffliner);
};
} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698