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

Unified Diff: chrome/browser/bitmap_fetcher.cc

Issue 263563003: Add referrer & load flag support to BitmapFetcher class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove temp comments Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/bitmap_fetcher.cc
diff --git a/chrome/browser/bitmap_fetcher.cc b/chrome/browser/bitmap_fetcher.cc
index c31b62aca2268e4b4f6b1cb212937588a2c6b5cb..771b2a9fb9212284741fb59a4dce81ac80d414de 100644
--- a/chrome/browser/bitmap_fetcher.cc
+++ b/chrome/browser/bitmap_fetcher.cc
@@ -4,7 +4,10 @@
#include "chrome/browser/bitmap_fetcher.h"
+#include "base/command_line.h"
#include "content/public/browser/browser_thread.h"
+#include "content/public/common/content_switches.h"
+#include "net/base/load_flags.h"
#include "net/url_request/url_fetcher.h"
#include "net/url_request/url_request_context_getter.h"
#include "net/url_request/url_request_status.h"
@@ -19,12 +22,42 @@ BitmapFetcher::BitmapFetcher(const GURL& url,
BitmapFetcher::~BitmapFetcher() {}
+
void BitmapFetcher::Start(net::URLRequestContextGetter* request_context) {
+ Start(request_context, content::Referrer(), net::LOAD_NORMAL);
+}
+
+void BitmapFetcher::Start(net::URLRequestContextGetter* request_context,
+ const content::Referrer& referrer,
+ int load_flags) {
if (url_fetcher_ != NULL)
return;
url_fetcher_.reset(net::URLFetcher::Create(url_, net::URLFetcher::GET, this));
url_fetcher_->SetRequestContext(request_context);
+ url_fetcher_->SetLoadFlags(load_flags);
Kibeom Kim (inactive) 2014/04/30 00:58:56 Similar to ImageFetcher::StartDownload https://ch
+
+ if (referrer.url.is_valid()) {
+ GURL referrer_url = referrer.ReferrerHeaderUrlForNavigation(url_);
+ if (!referrer_url.is_empty()) {
+ url_fetcher_->SetReferrer(referrer_url.spec());
+ net::URLRequest::ReferrerPolicy net_referrer_policy =
+ net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
+ switch (referrer.policy) {
+ case blink::WebReferrerPolicyDefault:
+ break;
+ case blink::WebReferrerPolicyAlways:
+ case blink::WebReferrerPolicyNever:
+ case blink::WebReferrerPolicyOrigin:
+ net_referrer_policy = net::URLRequest::NEVER_CLEAR_REFERRER;
+ break;
+ default:
+ NOTREACHED();
+ }
+ url_fetcher_->SetReferrerPolicy(net_referrer_policy);
+ }
+ }
+
url_fetcher_->Start();
}

Powered by Google App Engine
This is Rietveld 408576698