blob: 4f835611c56b7f60148d51a384d6b0b05f682e82 [file] [log] [blame]
Peter Kotwicz90c0dc222022-03-09 18:24:451// Copyright 2022 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/webid/federated_identity_api_permission_context.h"
6
Nicolás Peña Moreno0c974faf2022-03-10 16:05:127#include "chrome/browser/content_settings/cookie_settings_factory.h"
Peter Kotwicz90c0dc222022-03-09 18:24:458#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
Nicolás Peña Moreno0c974faf2022-03-10 16:05:129#include "chrome/browser/profiles/profile.h"
Peter Kotwicz90c0dc222022-03-09 18:24:4510#include "components/content_settings/core/common/content_settings_types.h"
11
12FederatedIdentityApiPermissionContext::FederatedIdentityApiPermissionContext(
13 content::BrowserContext* browser_context)
14 : host_content_settings_map_(
Nicolás Peña Moreno0c974faf2022-03-10 16:05:1215 HostContentSettingsMapFactory::GetForProfile(browser_context)),
16 cookie_settings_(CookieSettingsFactory::GetForProfile(
17 Profile::FromBrowserContext(browser_context))) {}
Peter Kotwicz90c0dc222022-03-09 18:24:4518
19FederatedIdentityApiPermissionContext::
20 ~FederatedIdentityApiPermissionContext() = default;
21
22bool FederatedIdentityApiPermissionContext::HasApiPermission() {
23 return host_content_settings_map_->GetDefaultContentSetting(
24 ContentSettingsType::FEDERATED_IDENTITY_API, nullptr) !=
25 ContentSetting::CONTENT_SETTING_BLOCK;
26}
Nicolás Peña Moreno0c974faf2022-03-10 16:05:1227
28bool FederatedIdentityApiPermissionContext::AreThirdPartyCookiesBlocked() {
29 return cookie_settings_->ShouldBlockThirdPartyCookies();
30}