| 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 |