Commit e1991c85 authored by Nohemi Fernandez's avatar Nohemi Fernandez Committed by Chromium LUCI CQ

[iOS] Move CHROME_CONNECTED cookie constant to iOS components.

Bug: N/A
Change-Id: I2ae05f6d5ff8b3518d4a22211b03d386414b6732
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627312Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Nohemi Fernandez <fernandex@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842997}
parent 7040c007
...@@ -58,6 +58,8 @@ GAIAServiceType GetGAIAServiceTypeFromHeader(const std::string& header_value) { ...@@ -58,6 +58,8 @@ GAIAServiceType GetGAIAServiceTypeFromHeader(const std::string& header_value) {
} // namespace } // namespace
const char kChromeConnectedCookieName[] = "CHROME_CONNECTED";
ChromeConnectedHeaderHelper::ChromeConnectedHeaderHelper( ChromeConnectedHeaderHelper::ChromeConnectedHeaderHelper(
AccountConsistencyMethod account_consistency) AccountConsistencyMethod account_consistency)
: account_consistency_(account_consistency) {} : account_consistency_(account_consistency) {}
......
...@@ -15,6 +15,12 @@ class GURL; ...@@ -15,6 +15,12 @@ class GURL;
namespace signin { namespace signin {
// Name of the cookie used by Chrome sign-in to inform GAIA that an
// authenticating user is already signed in to Chrome. Because it is not
// possible to intercept headers from iOS WKWebView, Chrome requires this cookie
// to communicate its signed-in state with GAIA.
extern const char kChromeConnectedCookieName[];
// SigninHeaderHelper implementation managing the "X-Chrome-Connected" header. // SigninHeaderHelper implementation managing the "X-Chrome-Connected" header.
class ChromeConnectedHeaderHelper : public SigninHeaderHelper { class ChromeConnectedHeaderHelper : public SigninHeaderHelper {
public: public:
......
...@@ -9,10 +9,12 @@ include_rules = [ ...@@ -9,10 +9,12 @@ include_rules = [
specific_include_rules = { specific_include_rules = {
"account_consistency_service.mm": [ "account_consistency_service.mm": [
"+components/signin/core/browser/account_reconcilor.h", "+components/signin/core/browser/account_reconcilor.h",
"+components/signin/core/browser/chrome_connected_header_helper.h",
"+components/signin/core/browser/signin_header_helper.h", "+components/signin/core/browser/signin_header_helper.h",
], ],
"account_consistency_service_unittest.mm": [ "account_consistency_service_unittest.mm": [
"+components/signin/core/browser/account_reconcilor.h", "+components/signin/core/browser/account_reconcilor.h",
"+components/signin/core/browser/account_reconcilor_delegate.h", "+components/signin/core/browser/account_reconcilor_delegate.h",
"+components/signin/core/browser/chrome_connected_header_helper.h",
], ],
} }
...@@ -39,11 +39,6 @@ class AccountReconcilor; ...@@ -39,11 +39,6 @@ class AccountReconcilor;
class AccountConsistencyService : public KeyedService, class AccountConsistencyService : public KeyedService,
public signin::IdentityManager::Observer { public signin::IdentityManager::Observer {
public: public:
// Name of the cookie that is managed by AccountConsistencyService and is used
// to inform Google web properties that the browser is connected and that
// Google authentication cookies are managed by |AccountReconcilor|).
static const char kChromeConnectedCookieName[];
AccountConsistencyService( AccountConsistencyService(
web::BrowserState* browser_state, web::BrowserState* browser_state,
AccountReconcilor* account_reconcilor, AccountReconcilor* account_reconcilor,
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "components/content_settings/core/browser/cookie_settings.h" #include "components/content_settings/core/browser/cookie_settings.h"
#include "components/google/core/common/google_util.h" #include "components/google/core/common/google_util.h"
#include "components/signin/core/browser/account_reconcilor.h" #include "components/signin/core/browser/account_reconcilor.h"
#include "components/signin/core/browser/chrome_connected_header_helper.h"
#include "components/signin/core/browser/signin_header_helper.h" #include "components/signin/core/browser/signin_header_helper.h"
#include "components/signin/ios/browser/features.h" #include "components/signin/ios/browser/features.h"
#include "components/signin/public/base/account_consistency_method.h" #include "components/signin/public/base/account_consistency_method.h"
...@@ -355,9 +356,6 @@ void AccountConsistencyHandler::WebStateDestroyed() { ...@@ -355,9 +356,6 @@ void AccountConsistencyHandler::WebStateDestroyed() {
account_consistency_service_->RemoveWebStateHandler(web_state()); account_consistency_service_->RemoveWebStateHandler(web_state());
} }
const char AccountConsistencyService::kChromeConnectedCookieName[] =
"CHROME_CONNECTED";
AccountConsistencyService::AccountConsistencyService( AccountConsistencyService::AccountConsistencyService(
web::BrowserState* browser_state, web::BrowserState* browser_state,
AccountReconcilor* account_reconcilor, AccountReconcilor* account_reconcilor,
...@@ -458,7 +456,7 @@ void AccountConsistencyService::RemoveAllChromeConnectedCookies( ...@@ -458,7 +456,7 @@ void AccountConsistencyService::RemoveAllChromeConnectedCookies(
network::mojom::CookieDeletionFilterPtr filter = network::mojom::CookieDeletionFilterPtr filter =
network::mojom::CookieDeletionFilter::New(); network::mojom::CookieDeletionFilter::New();
filter->cookie_name = kChromeConnectedCookieName; filter->cookie_name = signin::kChromeConnectedCookieName;
++active_cookie_manager_requests_for_testing_; ++active_cookie_manager_requests_for_testing_;
cookie_manager->DeleteCookies( cookie_manager->DeleteCookies(
...@@ -503,7 +501,7 @@ void AccountConsistencyService::SetChromeConnectedCookieWithUrl( ...@@ -503,7 +501,7 @@ void AccountConsistencyService::SetChromeConnectedCookieWithUrl(
std::unique_ptr<net::CanonicalCookie> cookie = std::unique_ptr<net::CanonicalCookie> cookie =
net::CanonicalCookie::CreateSanitizedCookie( net::CanonicalCookie::CreateSanitizedCookie(
url, url,
/*name=*/kChromeConnectedCookieName, cookie_value, /*name=*/signin::kChromeConnectedCookieName, cookie_value,
/*domain=*/domain, /*domain=*/domain,
/*path=*/std::string(), /*path=*/std::string(),
/*creation_time=*/base::Time::Now(), /*creation_time=*/base::Time::Now(),
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/signin/core/browser/account_reconcilor.h" #include "components/signin/core/browser/account_reconcilor.h"
#include "components/signin/core/browser/account_reconcilor_delegate.h" #include "components/signin/core/browser/account_reconcilor_delegate.h"
#include "components/signin/core/browser/chrome_connected_header_helper.h"
#include "components/signin/ios/browser/features.h" #include "components/signin/ios/browser/features.h"
#import "components/signin/ios/browser/manage_accounts_delegate.h" #import "components/signin/ios/browser/manage_accounts_delegate.h"
#include "components/signin/public/base/list_accounts_test_utils.h" #include "components/signin/public/base/list_accounts_test_utils.h"
...@@ -196,24 +197,21 @@ class AccountConsistencyServiceTest : public PlatformTest { ...@@ -196,24 +197,21 @@ class AccountConsistencyServiceTest : public PlatformTest {
// Cookie verification APIs. // Cookie verification APIs.
void CheckDomainHasChromeConnectedCookie(const std::string& domain) { void CheckDomainHasChromeConnectedCookie(const std::string& domain) {
EXPECT_TRUE( EXPECT_TRUE(ContainsCookie(GetCookiesInCookieJar(),
ContainsCookie(GetCookiesInCookieJar(), signin::kChromeConnectedCookieName,
AccountConsistencyService::kChromeConnectedCookieName, GetCookieDomain(domain)));
GetCookieDomain(domain)));
} }
void CheckNoChromeConnectedCookieForDomain(const std::string& domain) { void CheckNoChromeConnectedCookieForDomain(const std::string& domain) {
EXPECT_FALSE( EXPECT_FALSE(ContainsCookie(GetCookiesInCookieJar(),
ContainsCookie(GetCookiesInCookieJar(), signin::kChromeConnectedCookieName,
AccountConsistencyService::kChromeConnectedCookieName, GetCookieDomain(domain)));
GetCookieDomain(domain)));
} }
void CheckNoChromeConnectedCookies() { void CheckNoChromeConnectedCookies() {
EXPECT_FALSE( EXPECT_FALSE(ContainsCookie(GetCookiesInCookieJar(),
ContainsCookie(GetCookiesInCookieJar(), signin::kChromeConnectedCookieName,
AccountConsistencyService::kChromeConnectedCookieName, /*domain=*/std::string()));
/*domain=*/std::string()));
} }
// Verifies the time that the Gaia cookie was last updated for google.com. // Verifies the time that the Gaia cookie was last updated for google.com.
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "base/callback_helpers.h" #include "base/callback_helpers.h"
#include "base/mac/foundation_util.h" #include "base/mac/foundation_util.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
#include "components/signin/ios/browser/account_consistency_service.h" #include "components/signin/core/browser/chrome_connected_header_helper.h"
#include "ios/net/cookies/system_cookie_util.h" #include "ios/net/cookies/system_cookie_util.h"
#include "ios/web/public/browser_state.h" #include "ios/web/public/browser_state.h"
#import "net/base/mac/url_conversions.h" #import "net/base/mac/url_conversions.h"
...@@ -223,7 +223,7 @@ void GaiaAuthFetcherIOSNSURLSessionBridge::FetchPendingRequestWithCookies( ...@@ -223,7 +223,7 @@ void GaiaAuthFetcherIOSNSURLSessionBridge::FetchPendingRequestWithCookies(
// properties. Requests initiated from the browser services (e.g. // properties. Requests initiated from the browser services (e.g.
// GaiaCookieManagerService) must not include this cookie. // GaiaCookieManagerService) must not include this cookie.
if (cookie_with_access_result.cookie.Name() == if (cookie_with_access_result.cookie.Name() ==
AccountConsistencyService::kChromeConnectedCookieName) { signin::kChromeConnectedCookieName) {
continue; continue;
} }
[http_cookies addObject:net::SystemCookieFromCanonicalCookie( [http_cookies addObject:net::SystemCookieFromCanonicalCookie(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment