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) {
} // namespace
const char kChromeConnectedCookieName[] = "CHROME_CONNECTED";
ChromeConnectedHeaderHelper::ChromeConnectedHeaderHelper(
AccountConsistencyMethod account_consistency)
: account_consistency_(account_consistency) {}
......
......@@ -15,6 +15,12 @@ class GURL;
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.
class ChromeConnectedHeaderHelper : public SigninHeaderHelper {
public:
......
......@@ -9,10 +9,12 @@ include_rules = [
specific_include_rules = {
"account_consistency_service.mm": [
"+components/signin/core/browser/account_reconcilor.h",
"+components/signin/core/browser/chrome_connected_header_helper.h",
"+components/signin/core/browser/signin_header_helper.h",
],
"account_consistency_service_unittest.mm": [
"+components/signin/core/browser/account_reconcilor.h",
"+components/signin/core/browser/account_reconcilor_delegate.h",
"+components/signin/core/browser/chrome_connected_header_helper.h",
],
}
......@@ -39,11 +39,6 @@ class AccountReconcilor;
class AccountConsistencyService : public KeyedService,
public signin::IdentityManager::Observer {
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(
web::BrowserState* browser_state,
AccountReconcilor* account_reconcilor,
......
......@@ -17,6 +17,7 @@
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/google/core/common/google_util.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/ios/browser/features.h"
#include "components/signin/public/base/account_consistency_method.h"
......@@ -355,9 +356,6 @@ void AccountConsistencyHandler::WebStateDestroyed() {
account_consistency_service_->RemoveWebStateHandler(web_state());
}
const char AccountConsistencyService::kChromeConnectedCookieName[] =
"CHROME_CONNECTED";
AccountConsistencyService::AccountConsistencyService(
web::BrowserState* browser_state,
AccountReconcilor* account_reconcilor,
......@@ -458,7 +456,7 @@ void AccountConsistencyService::RemoveAllChromeConnectedCookies(
network::mojom::CookieDeletionFilterPtr filter =
network::mojom::CookieDeletionFilter::New();
filter->cookie_name = kChromeConnectedCookieName;
filter->cookie_name = signin::kChromeConnectedCookieName;
++active_cookie_manager_requests_for_testing_;
cookie_manager->DeleteCookies(
......@@ -503,7 +501,7 @@ void AccountConsistencyService::SetChromeConnectedCookieWithUrl(
std::unique_ptr<net::CanonicalCookie> cookie =
net::CanonicalCookie::CreateSanitizedCookie(
url,
/*name=*/kChromeConnectedCookieName, cookie_value,
/*name=*/signin::kChromeConnectedCookieName, cookie_value,
/*domain=*/domain,
/*path=*/std::string(),
/*creation_time=*/base::Time::Now(),
......
......@@ -21,6 +21,7 @@
#include "components/prefs/pref_service.h"
#include "components/signin/core/browser/account_reconcilor.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"
#import "components/signin/ios/browser/manage_accounts_delegate.h"
#include "components/signin/public/base/list_accounts_test_utils.h"
......@@ -196,24 +197,21 @@ class AccountConsistencyServiceTest : public PlatformTest {
// Cookie verification APIs.
void CheckDomainHasChromeConnectedCookie(const std::string& domain) {
EXPECT_TRUE(
ContainsCookie(GetCookiesInCookieJar(),
AccountConsistencyService::kChromeConnectedCookieName,
GetCookieDomain(domain)));
EXPECT_TRUE(ContainsCookie(GetCookiesInCookieJar(),
signin::kChromeConnectedCookieName,
GetCookieDomain(domain)));
}
void CheckNoChromeConnectedCookieForDomain(const std::string& domain) {
EXPECT_FALSE(
ContainsCookie(GetCookiesInCookieJar(),
AccountConsistencyService::kChromeConnectedCookieName,
GetCookieDomain(domain)));
EXPECT_FALSE(ContainsCookie(GetCookiesInCookieJar(),
signin::kChromeConnectedCookieName,
GetCookieDomain(domain)));
}
void CheckNoChromeConnectedCookies() {
EXPECT_FALSE(
ContainsCookie(GetCookiesInCookieJar(),
AccountConsistencyService::kChromeConnectedCookieName,
/*domain=*/std::string()));
EXPECT_FALSE(ContainsCookie(GetCookiesInCookieJar(),
signin::kChromeConnectedCookieName,
/*domain=*/std::string()));
}
// Verifies the time that the Gaia cookie was last updated for google.com.
......
......@@ -10,7 +10,7 @@
#include "base/callback_helpers.h"
#include "base/mac/foundation_util.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/web/public/browser_state.h"
#import "net/base/mac/url_conversions.h"
......@@ -223,7 +223,7 @@ void GaiaAuthFetcherIOSNSURLSessionBridge::FetchPendingRequestWithCookies(
// properties. Requests initiated from the browser services (e.g.
// GaiaCookieManagerService) must not include this cookie.
if (cookie_with_access_result.cookie.Name() ==
AccountConsistencyService::kChromeConnectedCookieName) {
signin::kChromeConnectedCookieName) {
continue;
}
[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