| 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 4b970c4ce4eba576d87d20cad3449d3e62a4e9f4..70f8cf5df6c234481ad354c86dba097ed96b5a50 100644
|
| --- a/chrome/browser/android/offline_pages/prerendering_offliner.h
|
| +++ b/chrome/browser/android/offline_pages/prerendering_offliner.h
|
| @@ -11,6 +11,7 @@
|
| #include "chrome/browser/android/offline_pages/prerendering_loader.h"
|
| #include "components/offline_pages/background/offliner.h"
|
| #include "components/offline_pages/offline_page_model.h"
|
| +#include "components/offline_pages/offline_page_types.h"
|
|
|
| namespace content {
|
| class BrowserContext;
|
| @@ -40,11 +41,36 @@ class PrerenderingOffliner : public Offliner {
|
| // and must be called before any of the Offliner interface methods are called.
|
| void SetLoaderForTesting(std::unique_ptr<PrerenderingLoader> loader);
|
|
|
| + protected:
|
| + // Internal method for OfflinePageModel's check if url can be saved.
|
| + // Exposed for unit testing.
|
| + // TODO(dougarnett): Consider making OfflinePageModel mockable instead.
|
| + virtual bool CanSavePage(const GURL& url);
|
| +
|
| + // Internal method for requesting OfflinePageModel to save page.
|
| + // Exposed for unit testing.
|
| + // TODO(dougarnett): Consider making OfflinePageModel mockable instead.
|
| + virtual void SavePage(const GURL& url,
|
| + const ClientId& client_id,
|
| + std::unique_ptr<OfflinePageArchiver> archiver,
|
| + const SavePageCallback& callback);
|
| +
|
| private:
|
| - void OnLoadPageDone(const Offliner::RequestStatus load_status,
|
| - content::WebContents* contents);
|
| + // Callback logic for PrerenderingLoader::LoadPage().
|
| + void OnLoadPageDone(const SavePageRequest& request,
|
| + const CompletionCallback& completion_callback,
|
| + Offliner::RequestStatus load_status,
|
| + content::WebContents* web_contents);
|
| +
|
| + // Callback logic for OfflinePageModel::SavePage().
|
| + void OnSavePageDone(const SavePageRequest& request,
|
| + const CompletionCallback& completion_callback,
|
| + SavePageResult save_result,
|
| + int64_t offline_id);
|
|
|
| PrerenderingLoader* GetOrCreateLoader();
|
| + void SetPendingRequest(int64_t request_id);
|
| + void ClearPendingRequest();
|
|
|
| // Not owned.
|
| content::BrowserContext* browser_context_;
|
| @@ -53,6 +79,7 @@ class PrerenderingOffliner : public Offliner {
|
| // Lazily created.
|
| std::unique_ptr<PrerenderingLoader> loader_;
|
| base::WeakPtrFactory<PrerenderingOffliner> weak_ptr_factory_;
|
| + int64_t pending_request_id_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PrerenderingOffliner);
|
| };
|
|
|