OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/signin/core/browser/signin_header_helper.h" | 5 #include "components/signin/core/browser/signin_header_helper.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "base/strings/string_split.h" | 11 #include "base/strings/string_split.h" |
12 #include "components/content_settings/core/browser/cookie_settings.h" | 12 #include "components/content_settings/core/browser/cookie_settings.h" |
13 #include "components/google/core/browser/google_util.h" | 13 #include "components/google/core/browser/google_util.h" |
14 #include "components/signin/core/browser/chrome_connected_header_helper.h" | 14 #include "components/signin/core/browser/chrome_connected_header_helper.h" |
15 #include "components/signin/core/common/profile_management_switches.h" | 15 #include "components/signin/core/common/profile_management_switches.h" |
16 #include "google_apis/gaia/gaia_auth_util.h" | 16 #include "google_apis/gaia/gaia_auth_util.h" |
17 #include "google_apis/gaia/gaia_urls.h" | 17 #include "google_apis/gaia/gaia_urls.h" |
18 #include "net/base/escape.h" | 18 #include "net/base/escape.h" |
19 #include "net/url_request/url_request.h" | 19 #include "net/url_request/url_request.h" |
20 | 20 |
21 #if !defined(OS_IOS) && !defined(OS_ANDROID) | 21 #if BUILDFLAG(ENABLE_DICE_SUPPORT) |
22 #include "components/signin/core/browser/dice_header_helper.h" | 22 #include "components/signin/core/browser/dice_header_helper.h" |
23 #endif | 23 #endif |
24 | 24 |
25 namespace signin { | 25 namespace signin { |
26 | 26 |
27 extern const char kChromeConnectedHeader[] = "X-Chrome-Connected"; | 27 extern const char kChromeConnectedHeader[] = "X-Chrome-Connected"; |
28 extern const char kDiceRequestHeader[] = "X-Chrome-ID-Consistency-Request"; | 28 extern const char kDiceRequestHeader[] = "X-Chrome-ID-Consistency-Request"; |
29 | 29 |
30 ManageAccountsParams::ManageAccountsParams() | 30 ManageAccountsParams::ManageAccountsParams() |
31 : service_type(GAIA_SERVICE_TYPE_NONE), | 31 : service_type(GAIA_SERVICE_TYPE_NONE), |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 } | 120 } |
121 | 121 |
122 void AppendOrRemoveAccountConsistentyRequestHeader( | 122 void AppendOrRemoveAccountConsistentyRequestHeader( |
123 net::URLRequest* request, | 123 net::URLRequest* request, |
124 const GURL& redirect_url, | 124 const GURL& redirect_url, |
125 const std::string& account_id, | 125 const std::string& account_id, |
126 bool sync_enabled, | 126 bool sync_enabled, |
127 const content_settings::CookieSettings* cookie_settings, | 127 const content_settings::CookieSettings* cookie_settings, |
128 int profile_mode_mask) { | 128 int profile_mode_mask) { |
129 const GURL& url = redirect_url.is_empty() ? request->url() : redirect_url; | 129 const GURL& url = redirect_url.is_empty() ? request->url() : redirect_url; |
130 // Dice is not enabled on mobile. | 130 #if BUILDFLAG(ENABLE_DICE_SUPPORT) |
131 #if !defined(OS_IOS) && !defined(OS_ANDROID) | |
132 DiceHeaderHelper dice_helper; | 131 DiceHeaderHelper dice_helper; |
133 std::string dice_header_value; | 132 std::string dice_header_value; |
134 if (dice_helper.ShouldBuildRequestHeader(url, cookie_settings)) { | 133 if (dice_helper.ShouldBuildRequestHeader(url, cookie_settings)) { |
135 dice_header_value = | 134 dice_header_value = |
136 dice_helper.BuildRequestHeader(account_id, sync_enabled); | 135 dice_helper.BuildRequestHeader(account_id, sync_enabled); |
137 } | 136 } |
138 dice_helper.AppendOrRemoveRequestHeader( | 137 dice_helper.AppendOrRemoveRequestHeader( |
139 request, redirect_url, kDiceRequestHeader, dice_header_value); | 138 request, redirect_url, kDiceRequestHeader, dice_header_value); |
140 #endif | 139 #endif |
141 | 140 |
142 ChromeConnectedHeaderHelper chrome_connected_helper; | 141 ChromeConnectedHeaderHelper chrome_connected_helper; |
143 std::string chrome_connected_header_value; | 142 std::string chrome_connected_header_value; |
144 if (chrome_connected_helper.ShouldBuildRequestHeader(url, cookie_settings)) { | 143 if (chrome_connected_helper.ShouldBuildRequestHeader(url, cookie_settings)) { |
145 chrome_connected_header_value = chrome_connected_helper.BuildRequestHeader( | 144 chrome_connected_header_value = chrome_connected_helper.BuildRequestHeader( |
146 true /* is_header_request */, url, account_id, profile_mode_mask); | 145 true /* is_header_request */, url, account_id, profile_mode_mask); |
147 } | 146 } |
148 chrome_connected_helper.AppendOrRemoveRequestHeader( | 147 chrome_connected_helper.AppendOrRemoveRequestHeader( |
149 request, redirect_url, kChromeConnectedHeader, | 148 request, redirect_url, kChromeConnectedHeader, |
150 chrome_connected_header_value); | 149 chrome_connected_header_value); |
151 } | 150 } |
152 | 151 |
153 ManageAccountsParams BuildManageAccountsParams( | 152 ManageAccountsParams BuildManageAccountsParams( |
154 const std::string& header_value) { | 153 const std::string& header_value) { |
155 return ChromeConnectedHeaderHelper::BuildManageAccountsParams(header_value); | 154 return ChromeConnectedHeaderHelper::BuildManageAccountsParams(header_value); |
156 } | 155 } |
157 | 156 |
158 #if !defined(OS_IOS) && !defined(OS_ANDROID) | 157 #if BUILDFLAG(ENABLE_DICE_SUPPORT) |
159 DiceResponseParams BuildDiceResponseParams(const std::string& header_value) { | 158 DiceResponseParams BuildDiceResponseParams(const std::string& header_value) { |
160 return DiceHeaderHelper::BuildDiceResponseParams(header_value); | 159 return DiceHeaderHelper::BuildDiceResponseParams(header_value); |
161 } | 160 } |
162 #endif | 161 #endif |
163 | 162 |
164 } // namespace signin | 163 } // namespace signin |
OLD | NEW |