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

Side by Side Diff: components/doodle/doodle_service.cc

Issue 2794343002: Network traffic annotation added to image_data_fetcher. (Closed)
Patch Set: Comments addressed. Created 3 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/search/thumbnail_source.cc ('k') | components/doodle/doodle_service_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "components/doodle/doodle_service.h" 5 #include "components/doodle/doodle_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/metrics/histogram_macros.h" 11 #include "base/metrics/histogram_macros.h"
12 #include "base/values.h" 12 #include "base/values.h"
13 #include "components/data_use_measurement/core/data_use_user_data.h" 13 #include "components/data_use_measurement/core/data_use_user_data.h"
14 #include "components/doodle/pref_names.h" 14 #include "components/doodle/pref_names.h"
15 #include "components/image_fetcher/core/image_fetcher.h" 15 #include "components/image_fetcher/core/image_fetcher.h"
16 #include "components/image_fetcher/core/request_metadata.h" 16 #include "components/image_fetcher/core/request_metadata.h"
17 #include "components/prefs/pref_registry.h" 17 #include "components/prefs/pref_registry.h"
18 #include "components/prefs/pref_registry_simple.h" 18 #include "components/prefs/pref_registry_simple.h"
19 #include "components/prefs/pref_service.h" 19 #include "components/prefs/pref_service.h"
20 #include "net/traffic_annotation/network_traffic_annotation.h"
20 #include "ui/gfx/image/image.h" 21 #include "ui/gfx/image/image.h"
21 22
22 namespace doodle { 23 namespace doodle {
23 24
24 namespace { 25 namespace {
25 26
26 // The maximum time-to-live we'll accept; any larger values will be clamped to 27 // The maximum time-to-live we'll accept; any larger values will be clamped to
27 // this one. This is a last resort in case the server sends bad data. 28 // this one. This is a last resort in case the server sends bad data.
28 const int64_t kMaxTimeToLiveSecs = 30 * 24 * 60 * 60; // 30 days 29 const int64_t kMaxTimeToLiveSecs = 30 * 24 * 60 * 60; // 30 days
29 30
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 callback.Run(gfx::Image()); 100 callback.Run(gfx::Image());
100 return; 101 return;
101 } 102 }
102 103
103 // If there is a CTA image, that means the main image is animated. Show the 104 // If there is a CTA image, that means the main image is animated. Show the
104 // non-animated CTA image first, and load the animated one only when the 105 // non-animated CTA image first, and load the animated one only when the
105 // user requests it. 106 // user requests it.
106 bool has_cta = cached_config_->large_cta_image.has_value(); 107 bool has_cta = cached_config_->large_cta_image.has_value();
107 const GURL& image_url = has_cta ? cached_config_->large_cta_image->url 108 const GURL& image_url = has_cta ? cached_config_->large_cta_image->url
108 : cached_config_->large_image.url; 109 : cached_config_->large_image.url;
110 net::NetworkTrafficAnnotationTag traffic_annotation =
111 net::DefineNetworkTrafficAnnotation("doodle_service", R"(
112 semantics {
113 sender: "Doodle Service"
114 description:
115 "Downloads the Doodle image if Google is the configured search "
116 "provider."
117 trigger: "Displaying the new tab page on Android."
118 data: "None."
119 destination: GOOGLE_OWNED_SERVICE
120 }
121 policy {
122 cookies_allowed: false
123 setting:
124 "Choosing a non-Google search engine in Chromium settings under "
125 "'Search Engine' disables this feature."
126 chrome_policy {
127 DefaultSearchProviderEnabled {
128 policy_options {mode: MANDATORY}
129 DefaultSearchProviderEnabled: false
130 }
131 }
132 })");
109 image_fetcher_->StartOrQueueNetworkRequest( 133 image_fetcher_->StartOrQueueNetworkRequest(
110 image_url.spec(), image_url, 134 image_url.spec(), image_url,
111 base::Bind(&DoodleService::ImageFetched, base::Unretained(this), 135 base::Bind(&DoodleService::ImageFetched, base::Unretained(this),
112 callback)); 136 callback),
137 traffic_annotation);
113 } 138 }
114 139
115 void DoodleService::AddObserver(Observer* observer) { 140 void DoodleService::AddObserver(Observer* observer) {
116 observers_.AddObserver(observer); 141 observers_.AddObserver(observer);
117 } 142 }
118 143
119 void DoodleService::RemoveObserver(Observer* observer) { 144 void DoodleService::RemoveObserver(Observer* observer) {
120 observers_.RemoveObserver(observer); 145 observers_.RemoveObserver(observer);
121 } 146 }
122 147
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 // TODO(treib): Rename this to "Doodle.*" after we've decided what to do 328 // TODO(treib): Rename this to "Doodle.*" after we've decided what to do
304 // about crbug.com/719513. 329 // about crbug.com/719513.
305 UMA_HISTOGRAM_BOOLEAN("NewTabPage.LogoImageDownloaded", 330 UMA_HISTOGRAM_BOOLEAN("NewTabPage.LogoImageDownloaded",
306 metadata.from_http_cache); 331 metadata.from_http_cache);
307 } 332 }
308 333
309 callback.Run(image); 334 callback.Run(image);
310 } 335 }
311 336
312 } // namespace doodle 337 } // namespace doodle
OLDNEW
« no previous file with comments | « chrome/browser/search/thumbnail_source.cc ('k') | components/doodle/doodle_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698