1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SUPERVISED_USER_CORE_COMMON_FEATURES_H_
#define COMPONENTS_SUPERVISED_USER_CORE_COMMON_FEATURES_H_
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "build/android_buildflags.h"
#include "build/build_config.h"
#include "extensions/buildflags/buildflags.h"
namespace supervised_user {
BASE_DECLARE_FEATURE(kLocalWebApprovals);
// Whether supervised user can request local web approval from a blocked
// subframe.
BASE_DECLARE_FEATURE(kAllowSubframeLocalWebApprovals);
#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_WIN)
extern const base::FeatureParam<int> kLocalWebApprovalBottomSheetLoadTimeoutMs;
#endif // BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
// Whether we show an error screen in case of failure of a local web approval.
BASE_DECLARE_FEATURE(kEnableLocalWebApprovalErrorDialog);
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
// Whether the Pacp widget can process a url payload as part of the local
// approval request.
BASE_DECLARE_FEATURE(kLocalWebApprovalsWidgetSupportsUrlPayload);
// Whether supervised users see an updated URL filter interstitial.
BASE_DECLARE_FEATURE(kSupervisedUserBlockInterstitialV3);
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
// Enable different web sign in interception behaviour for supervised users:
//
// 1. Supervised user signs in to existing signed out Profile: show modal
// explaining that supervision features will apply.
// 2. Supervised user signs in as secondary account in existing signed in
// Profile
BASE_DECLARE_FEATURE(kCustomProfileStringsForSupervisedUsers);
// Displays a Family Link kite badge on the supervised user avatar in various
// surfaces.
BASE_DECLARE_FEATURE(kShowKiteForSupervisedUsers);
#endif
// Force enable SafeSearch for a supervised profile with an
// unauthenticated (e.g. signed out of the content area) account.
BASE_DECLARE_FEATURE(kForceSafeSearchForUnauthenticatedSupervisedUsers);
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
// Uses supervised user strings on the signout dialog.
BASE_DECLARE_FEATURE(kEnableSupervisedUserVersionSignOutDialog);
#endif
// Manages kSupervisedUserSafeSites exclusively within managed user pref store,
// while keeping the default value neutral.
BASE_DECLARE_FEATURE(kAlignSafeSitesValueWithBrowserDefault);
// Allows reading SafeSites setting without extra supervised user guard. Can be
// enabled iff kAlignSafeSitesValueWithBrowserDefault is also enabled.
BASE_DECLARE_FEATURE(kDecoupleSafeSitesFromMainSwitch);
#if BUILDFLAG(IS_ANDROID)
// Allows the URL classification mode without credentials, if the profile is not
// managed by the family link System.
BASE_DECLARE_FEATURE(kAllowNonFamilyLinkUrlFilterMode);
// Propagates the device settings about content filters to the supervised user
// content filters.
BASE_DECLARE_FEATURE(kPropagateDeviceContentFiltersToSupervisedUser);
// Kill switches for the respective content filters.
BASE_DECLARE_FEATURE(kSupervisedUserBrowserContentFiltersKillSwitch);
BASE_DECLARE_FEATURE(kSupervisedUserSearchContentFiltersKillSwitch);
// Enabled the supervised user interstitial without approvals section.
BASE_DECLARE_FEATURE(kSupervisedUserInterstitialWithoutApprovals);
#endif
// Returns whether the V3 version of the URL filter interstitial is
// enabled.
bool IsBlockInterstitialV3Enabled();
// Returns whether local parent approvals on Family Link user's device are
// enabled.
bool IsLocalWebApprovalsEnabled();
// Returns whether local parent approvals are enabled for subframe navigation.
bool IsLocalWebApprovalsEnabledForSubframes();
} // namespace supervised_user
#endif // COMPONENTS_SUPERVISED_USER_CORE_COMMON_FEATURES_H_
|