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

Side by Side Diff: chrome/browser/android/offline_pages/prerendering_offliner.cc

Issue 2011913002: Revert of PrerenderingLoader initial integration with PrerenderManager/PrerenderHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/offline_pages/prerendering_offliner.h" 5 #include "chrome/browser/android/offline_pages/prerendering_offliner.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "components/offline_pages/background/save_page_request.h" 8 #include "components/offline_pages/background/save_page_request.h"
9 #include "content/public/browser/browser_context.h" 9 #include "content/public/browser/browser_context.h"
10 10
11 namespace offline_pages { 11 namespace offline_pages {
12 12
13 PrerenderingOffliner::PrerenderingOffliner( 13 PrerenderingOffliner::PrerenderingOffliner(
14 content::BrowserContext* browser_context, 14 content::BrowserContext* browser_context,
15 const OfflinerPolicy* policy, 15 const OfflinerPolicy* policy,
16 OfflinePageModel* offline_page_model) 16 OfflinePageModel* offline_page_model)
17 : browser_context_(browser_context), 17 : browser_context_(browser_context),
18 offline_page_model_(offline_page_model), 18 offline_page_model_(offline_page_model),
19 weak_ptr_factory_(this) {} 19 weak_ptr_factory_(this) {}
20 20
21 PrerenderingOffliner::~PrerenderingOffliner() {} 21 PrerenderingOffliner::~PrerenderingOffliner() {}
22 22
23 void PrerenderingOffliner::OnLoadPageDone(Offliner::RequestStatus load_status, 23 void PrerenderingOffliner::OnLoadPageDone(
24 content::WebContents* contents) { 24 const Offliner::CompletionStatus load_status,
25 content::WebContents* contents) {
25 // TODO(dougarnett): Implement save attempt and running CompletionCallback. 26 // TODO(dougarnett): Implement save attempt and running CompletionCallback.
26 } 27 }
27 28
28 bool PrerenderingOffliner::LoadAndSave(const SavePageRequest& request, 29 bool PrerenderingOffliner::LoadAndSave(const SavePageRequest& request,
29 const CompletionCallback& callback) { 30 const CompletionCallback& callback) {
30 if (!offline_page_model_->CanSavePage(request.url())) 31 if (!offline_page_model_->CanSavePage(request.url()))
31 return false; 32 return false;
32 33
33 // Kick off load page attempt. 34 // Kick off load page attempt.
34 return GetOrCreateLoader()->LoadPage( 35 return GetOrCreateLoader()->LoadPage(
35 request.url(), base::Bind(&PrerenderingOffliner::OnLoadPageDone, 36 request.url(), base::Bind(&PrerenderingOffliner::OnLoadPageDone,
36 weak_ptr_factory_.GetWeakPtr())); 37 weak_ptr_factory_.GetWeakPtr()));
37 } 38 }
38 39
39 void PrerenderingOffliner::Cancel() { 40 void PrerenderingOffliner::Cancel() {
40 GetOrCreateLoader()->StopLoading(); 41 GetOrCreateLoader()->StopLoading();
41 } 42 }
42 43
43 void PrerenderingOffliner::SetLoaderForTesting(
44 std::unique_ptr<PrerenderingLoader> loader) {
45 DCHECK(!loader_);
46 loader_ = std::move(loader);
47 }
48
49 PrerenderingLoader* PrerenderingOffliner::GetOrCreateLoader() { 44 PrerenderingLoader* PrerenderingOffliner::GetOrCreateLoader() {
50 if (!loader_) { 45 if (!loader_) {
51 loader_.reset(new PrerenderingLoader(browser_context_)); 46 loader_.reset(new PrerenderingLoader(browser_context_));
52 } 47 }
53 return loader_.get(); 48 return loader_.get();
54 } 49 }
55 50
51 void PrerenderingOffliner::SetLoaderForTesting(
52 std::unique_ptr<PrerenderingLoader> loader) {
53 DCHECK(!loader_);
54 loader_ = std::move(loader);
55 }
56
56 } // namespace offline_pages 57 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698