OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef COMPONENTS_VARIATIONS_NET_VARIATIONS_HTTP_HEADERS_H_ | 5 #ifndef COMPONENTS_VARIATIONS_NET_VARIATIONS_HTTP_HEADERS_H_ |
6 #define COMPONENTS_VARIATIONS_NET_VARIATIONS_HTTP_HEADERS_H_ | 6 #define COMPONENTS_VARIATIONS_NET_VARIATIONS_HTTP_HEADERS_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 namespace net { | 11 namespace net { |
12 class HttpRequestHeaders; | 12 class HttpRequestHeaders; |
13 } | 13 } |
14 | 14 |
15 class GURL; | 15 class GURL; |
16 | 16 |
17 namespace variations { | 17 namespace variations { |
18 | 18 |
19 // Adds Chrome experiment and metrics state as custom headers to |headers|. | 19 // Adds Chrome experiment and metrics state as custom headers to |headers|. |
20 // Some headers may not be set given the |incognito| mode or whether | 20 // The content of the headers will depend on |incognito|, |uma_enabled| and |
21 // the user has |uma_enabled|. Also, we never transmit headers to non-Google | 21 // |is_signed_in| parameters. Also, we never transmit headers to non-Google |
22 // sites, which is checked based on the destination |url|. | 22 // sites, which is checked based on the destination |url|. |
23 void AppendVariationHeaders(const GURL& url, | 23 void AppendVariationHeaders(const GURL& url, |
24 bool incognito, | 24 bool incognito, |
25 bool uma_enabled, | 25 bool uma_enabled, |
| 26 bool is_signed_in, |
26 net::HttpRequestHeaders* headers); | 27 net::HttpRequestHeaders* headers); |
27 | 28 |
28 // Returns the HTTP header names which are added by AppendVariationHeaders(). | 29 // Returns the HTTP header names which are added by AppendVariationHeaders(). |
29 std::set<std::string> GetVariationHeaderNames(); | 30 std::set<std::string> GetVariationHeaderNames(); |
30 | 31 |
31 namespace internal { | 32 namespace internal { |
32 | 33 |
33 // Checks whether variation headers should be appended to requests to the | 34 // Checks whether variation headers should be appended to requests to the |
34 // specified |url|. Returns true for google.<TLD> and youtube.<TLD> URLs. | 35 // specified |url|. Returns true for google.<TLD> and youtube.<TLD> URLs. |
35 bool ShouldAppendVariationHeaders(const GURL& url); | 36 bool ShouldAppendVariationHeaders(const GURL& url); |
36 | 37 |
37 } // namespace internal | 38 } // namespace internal |
38 | 39 |
39 } // namespace variations | 40 } // namespace variations |
40 | 41 |
41 #endif // COMPONENTS_VARIATIONS_NET_VARIATIONS_HTTP_HEADERS_H_ | 42 #endif // COMPONENTS_VARIATIONS_NET_VARIATIONS_HTTP_HEADERS_H_ |
OLD | NEW |