[FedCM] Don't block the API when ISS is enabled through OT
Bug: 1472015
Change-Id: I9aa2f7e8d5d366d68973d8e271d9946f4d754da9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4763234
Reviewed-by: Yi Gu <[email protected]>
Commit-Queue: Christian Biesinger <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1182254}
diff --git a/chrome/browser/webid/federated_identity_api_permission_context.cc b/chrome/browser/webid/federated_identity_api_permission_context.cc
index f095ea5c..815cf80 100644
--- a/chrome/browser/webid/federated_identity_api_permission_context.cc
+++ b/chrome/browser/webid/federated_identity_api_permission_context.cc
@@ -39,18 +39,6 @@
const GURL rp_embedder_url = relying_party_embedder.GetURL();
- // TODO(npm): FedCM is currently restricted to contexts where third party
- // cookies are not blocked unless the FedCmWithoutThirdPartyCookies flag or
- // FedCmIdpSigninStatusEnabled flag is enabled. Once the privacy improvements
- // for the API are implemented, remove this restriction. See
- // https://crbug.com/13043
- if (cookie_settings_->ShouldBlockThirdPartyCookies() &&
- !cookie_settings_->IsThirdPartyAccessAllowed(rp_embedder_url) &&
- !base::FeatureList::IsEnabled(features::kFedCmWithoutThirdPartyCookies) &&
- !base::FeatureList::IsEnabled(features::kFedCmIdpSigninStatusEnabled)) {
- return PermissionStatus::BLOCKED_THIRD_PARTY_COOKIES_BLOCKED;
- }
-
const ContentSetting setting = host_content_settings_map_->GetContentSetting(
rp_embedder_url, rp_embedder_url,
ContentSettingsType::FEDERATED_IDENTITY_API);
@@ -68,6 +56,19 @@
rp_embedder_url, ContentSettingsType::FEDERATED_IDENTITY_API)) {
return PermissionStatus::BLOCKED_EMBARGO;
}
+ // TODO(npm): FedCM is currently restricted to contexts where third party
+ // cookies are not blocked unless the FedCmWithoutThirdPartyCookies flag or
+ // FedCmIdpSigninStatusEnabled flag is enabled. The IDP signin status API
+ // override is implemented in the caller because it can be enabled through
+ // origin trials. This block can be removed when the IDP Signin status API
+ // ships.
+ // See https://crbug.com/1451396
+ if (cookie_settings_->ShouldBlockThirdPartyCookies() &&
+ !cookie_settings_->IsThirdPartyAccessAllowed(rp_embedder_url) &&
+ !base::FeatureList::IsEnabled(features::kFedCmWithoutThirdPartyCookies)) {
+ return PermissionStatus::BLOCKED_THIRD_PARTY_COOKIES_BLOCKED;
+ }
+
return PermissionStatus::GRANTED;
}