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

Side by Side Diff: chrome/browser/bitmap_fetcher/bitmap_fetcher.cc

Issue 1097383005: Add possibility to define data callback to BitmapFetcher (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@r479598_extensions_content_verifier_directories_fail
Patch Set: Created 5 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/bitmap_fetcher/bitmap_fetcher.h" 5 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher.h"
6 6
7 #include "content/public/browser/browser_thread.h" 7 #include "content/public/browser/browser_thread.h"
8 #include "net/url_request/url_fetcher.h" 8 #include "net/url_request/url_fetcher.h"
9 #include "net/url_request/url_request_context_getter.h" 9 #include "net/url_request/url_request_context_getter.h"
10 #include "net/url_request/url_request_status.h" 10 #include "net/url_request/url_request_status.h"
(...skipping 10 matching lines...) Expand all
21 BitmapFetcher::~BitmapFetcher() { 21 BitmapFetcher::~BitmapFetcher() {
22 } 22 }
23 23
24 void BitmapFetcher::Start(net::URLRequestContextGetter* request_context, 24 void BitmapFetcher::Start(net::URLRequestContextGetter* request_context,
25 const std::string& referrer, 25 const std::string& referrer,
26 net::URLRequest::ReferrerPolicy referrer_policy, 26 net::URLRequest::ReferrerPolicy referrer_policy,
27 int load_flags) { 27 int load_flags) {
28 if (url_fetcher_ != NULL) 28 if (url_fetcher_ != NULL)
29 return; 29 return;
30 30
31 url_fetcher_.reset(net::URLFetcher::Create(url_, net::URLFetcher::GET, this)); 31 url_fetcher_ = CreateURLFetcher(request_context,
32 url_fetcher_->SetRequestContext(request_context); 32 referrer,
33 url_fetcher_->SetReferrer(referrer); 33 referrer_policy,
34 url_fetcher_->SetReferrerPolicy(referrer_policy); 34 load_flags);
35 url_fetcher_->SetLoadFlags(load_flags);
36 url_fetcher_->Start(); 35 url_fetcher_->Start();
37 } 36 }
38 37
38 void BitmapFetcher::Start(
Peter Kasting 2015/04/22 23:16:20 I'm not a fan of having these two methods which ha
39 net::URLRequestContextGetter* request_context,
40 const std::string& referrer,
41 net::URLRequest::ReferrerPolicy referrer_policy,
42 int load_flags,
43 const void* user_data_key,
44 const net::URLFetcher::CreateDataCallback& create_data_callback) {
45 if (url_fetcher_ != NULL)
46 return;
47
48 url_fetcher_ = CreateURLFetcher(request_context,
49 referrer,
50 referrer_policy,
51 load_flags);
52 url_fetcher_->SetURLRequestUserData(user_data_key, create_data_callback);
53 url_fetcher_->Start();
54 }
55
39 // Methods inherited from URLFetcherDelegate. 56 // Methods inherited from URLFetcherDelegate.
40 57
41 void BitmapFetcher::OnURLFetchComplete(const net::URLFetcher* source) { 58 void BitmapFetcher::OnURLFetchComplete(const net::URLFetcher* source) {
42 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 59 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
43 60
44 if (source->GetStatus().status() != net::URLRequestStatus::SUCCESS) { 61 if (source->GetStatus().status() != net::URLRequestStatus::SUCCESS) {
45 ReportFailure(); 62 ReportFailure();
46 return; 63 return;
47 } 64 }
48 65
(...skipping 19 matching lines...) Expand all
68 } 85 }
69 86
70 void BitmapFetcher::OnDecodeImageFailed() { 87 void BitmapFetcher::OnDecodeImageFailed() {
71 ReportFailure(); 88 ReportFailure();
72 } 89 }
73 90
74 void BitmapFetcher::ReportFailure() { 91 void BitmapFetcher::ReportFailure() {
75 delegate_->OnFetchComplete(url_, NULL); 92 delegate_->OnFetchComplete(url_, NULL);
76 } 93 }
77 94
95 scoped_ptr<net::URLFetcher> BitmapFetcher::CreateURLFetcher(
96 net::URLRequestContextGetter* request_context,
97 const std::string& referrer,
98 net::URLRequest::ReferrerPolicy referrer_policy,
99 int load_flags) {
100 scoped_ptr<net::URLFetcher> fetcher(
101 net::URLFetcher::Create(url_, net::URLFetcher::GET, this));
102 fetcher->SetRequestContext(request_context);
103 fetcher->SetReferrer(referrer);
104 fetcher->SetReferrerPolicy(referrer_policy);
105 fetcher->SetLoadFlags(load_flags);
106 return fetcher;
107 }
108
78 } // namespace chrome 109 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698