OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/search/thumbnail_source.h" | 5 #include "chrome/browser/search/thumbnail_source.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/memory/ref_counted_memory.h" | 8 #include "base/memory/ref_counted_memory.h" |
9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
10 #include "chrome/browser/search/instant_io_context.h" | 10 #include "chrome/browser/search/instant_io_context.h" |
11 #include "chrome/browser/thumbnails/thumbnail_service.h" | 11 #include "chrome/browser/thumbnails/thumbnail_service.h" |
12 #include "chrome/browser/thumbnails/thumbnail_service_factory.h" | 12 #include "chrome/browser/thumbnails/thumbnail_service_factory.h" |
13 #include "chrome/common/url_constants.h" | 13 #include "chrome/common/url_constants.h" |
14 #include "net/traffic_annotation/network_traffic_annotation.h" | |
14 #include "net/url_request/url_request.h" | 15 #include "net/url_request/url_request.h" |
15 #include "url/gurl.h" | 16 #include "url/gurl.h" |
16 | 17 |
18 namespace { | |
19 | |
20 constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation = | |
21 net::DefineNetworkTrafficAnnotation("...", R"( | |
Marc Treib
2017/05/09 09:43:47
thumbnail_source
Ramin Halavati
2017/05/09 11:08:24
Done.
| |
22 semantics { | |
23 sender: "..." | |
Marc Treib
2017/05/09 09:43:47
ThumbnailSource
Ramin Halavati
2017/05/09 11:08:24
Done.
| |
24 description: "..." | |
Marc Treib
2017/05/09 09:43:47
Retrieves thumbnails for site suggestions based on
Ramin Halavati
2017/05/09 11:08:24
Done.
| |
25 trigger: "..." | |
Marc Treib
2017/05/09 09:43:47
Triggered when a thumbnail for a suggestion is req
Ramin Halavati
2017/05/09 11:08:24
Done.
| |
26 data: "..." | |
Marc Treib
2017/05/09 09:43:47
None.
Ramin Halavati
2017/05/09 11:08:24
Doesn't it sent the URL to that thumbnail? Isn't i
Marc Treib
2017/05/09 11:38:34
Right, the request URL includes the URL of the pag
Ramin Halavati
2017/05/09 13:16:47
Done.
| |
27 destination: WEBSITE/GOOGLE_OWNED_SERVICE/OTHER/LOCAL | |
Ramin Halavati
2017/05/09 11:08:24
GOOGLE_OWNED_SERVICE?
Marc Treib
2017/05/09 11:38:34
Yes. Sorry, missed that one.
Ramin Halavati
2017/05/09 13:16:47
Done.
| |
28 } | |
29 policy { | |
30 cookies_allowed: false/true | |
Marc Treib
2017/05/09 09:43:47
false
Ramin Halavati
2017/05/09 11:08:24
Done.
| |
31 cookies_store: "..." | |
32 setting: "..." | |
Marc Treib
2017/05/09 09:43:47
Same here: Cannot be disabled individually, but us
Ramin Halavati
2017/05/09 13:16:47
Done.
| |
33 chrome_policy { | |
34 [POLICY_NAME] { | |
35 policy_options {mode: MANDATORY/RECOMMENDED/UNSET} | |
36 [POLICY_NAME]: ... //(value to disable it) | |
37 } | |
38 } | |
39 policy_exception_justification: "..." | |
40 })"); | |
41 | |
42 } // namespace | |
43 | |
17 // The delimiter between the first url and the fallback url passed to | 44 // The delimiter between the first url and the fallback url passed to |
18 // StartDataRequest. | 45 // StartDataRequest. |
19 const char kUrlDelimiter[] = "?fb="; | 46 const char kUrlDelimiter[] = "?fb="; |
20 | 47 |
21 // Set ThumbnailService now as Profile isn't thread safe. | 48 // Set ThumbnailService now as Profile isn't thread safe. |
22 ThumbnailSource::ThumbnailSource(Profile* profile, bool capture_thumbnails) | 49 ThumbnailSource::ThumbnailSource(Profile* profile, bool capture_thumbnails) |
23 : thumbnail_service_(ThumbnailServiceFactory::GetForProfile(profile)), | 50 : thumbnail_service_(ThumbnailServiceFactory::GetForProfile(profile)), |
24 capture_thumbnails_(capture_thumbnails), | 51 capture_thumbnails_(capture_thumbnails), |
25 image_data_fetcher_(profile->GetRequestContext()), | 52 image_data_fetcher_(profile->GetRequestContext(), kTrafficAnnotation), |
26 weak_ptr_factory_(this) {} | 53 weak_ptr_factory_(this) {} |
27 | 54 |
28 ThumbnailSource::~ThumbnailSource() = default; | 55 ThumbnailSource::~ThumbnailSource() = default; |
29 | 56 |
30 std::string ThumbnailSource::GetSource() const { | 57 std::string ThumbnailSource::GetSource() const { |
31 return capture_thumbnails_ ? | 58 return capture_thumbnails_ ? |
32 chrome::kChromeUIThumbnailHost2 : chrome::kChromeUIThumbnailHost; | 59 chrome::kChromeUIThumbnailHost2 : chrome::kChromeUIThumbnailHost; |
33 } | 60 } |
34 | 61 |
35 void ThumbnailSource::StartDataRequest( | 62 void ThumbnailSource::StartDataRequest( |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
116 const content::URLDataSource::GotDataCallback& callback, | 143 const content::URLDataSource::GotDataCallback& callback, |
117 const std::string& image_data, | 144 const std::string& image_data, |
118 const image_fetcher::RequestMetadata& metadata) { | 145 const image_fetcher::RequestMetadata& metadata) { |
119 if (image_data.empty()) { | 146 if (image_data.empty()) { |
120 callback.Run(nullptr); | 147 callback.Run(nullptr); |
121 return; | 148 return; |
122 } | 149 } |
123 std::string image_data_copy = image_data; | 150 std::string image_data_copy = image_data; |
124 callback.Run(base::RefCountedString::TakeString(&image_data_copy)); | 151 callback.Run(base::RefCountedString::TakeString(&image_data_copy)); |
125 } | 152 } |
OLD | NEW |