[AUTO][FILECONTROL] - version 140.0.7339.81
This commit is contained in:
committed by
github-actions[bot]
parent
6d6ce62db9
commit
82fe6e2890
@@ -1 +1 @@
|
||||
139.0.7258.158
|
||||
140.0.7339.81
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "android_webview/common/url_constants.h"
|
||||
#include "base/android/build_info.h"
|
||||
#include "base/android/locale_utils.h"
|
||||
#include "base/android/yield_to_looper_checker.h"
|
||||
#include "base/base_paths_android.h"
|
||||
#include "base/base_switches.h"
|
||||
#include "base/command_line.h"
|
||||
@@ -142,6 +143,7 @@
|
||||
#include "ui/gfx/image/image_skia.h"
|
||||
#include "ui/resources/grit/ui_resources.h"
|
||||
|
||||
using base::android::YieldToLooperChecker;
|
||||
using content::BrowserThread;
|
||||
using content::FrameType;
|
||||
using content::WebContents;
|
||||
@@ -334,8 +336,8 @@ void AwContentBrowserClient::ConfigureNetworkContextParams(
|
||||
std::move(cookie_manager_remote));
|
||||
}
|
||||
|
||||
AwBrowserContext* AwContentBrowserClient::InitBrowserContext() {
|
||||
return AwBrowserContextStore::GetOrCreateInstance()->GetDefault();
|
||||
void AwContentBrowserClient::InitBrowserContextStore() {
|
||||
AwBrowserContextStore::GetOrCreateInstance();
|
||||
}
|
||||
|
||||
std::unique_ptr<content::BrowserMainParts>
|
||||
@@ -343,10 +345,10 @@ AwContentBrowserClient::CreateBrowserMainParts(bool /* is_integration_test */) {
|
||||
return std::make_unique<AwBrowserMainParts>(this);
|
||||
}
|
||||
|
||||
bool IsStartupTaskExperimentEnabled() {
|
||||
auto* command_line = base::CommandLine::ForCurrentProcess();
|
||||
bool IsAnyStartupTaskExperimentEnabled() {
|
||||
return AwBrowserMainParts::isWebViewStartupTasksExperimentEnabled() ||
|
||||
command_line->HasSwitch(switches::kWebViewUseStartupTasksLogic);
|
||||
AwBrowserMainParts::isWebViewStartupTasksExperimentEnabledP2() ||
|
||||
AwBrowserMainParts::isStartupTaskYieldToNativeExperimentEnabled();
|
||||
}
|
||||
|
||||
void AwContentBrowserClient::PostAfterStartupTask(
|
||||
@@ -354,7 +356,7 @@ void AwContentBrowserClient::PostAfterStartupTask(
|
||||
const scoped_refptr<base::SequencedTaskRunner>& task_runner,
|
||||
base::OnceClosure task) {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
if (!IsStartupTaskExperimentEnabled()) {
|
||||
if (!IsAnyStartupTaskExperimentEnabled()) {
|
||||
task_runner->PostTask(from_here, std::move(task));
|
||||
return;
|
||||
}
|
||||
@@ -376,6 +378,10 @@ void AwContentBrowserClient::OnStartupComplete() {
|
||||
DCHECK(!startup_info_.startup_complete);
|
||||
|
||||
startup_info_.startup_complete = true;
|
||||
if (AwBrowserMainParts::isStartupTaskYieldToNativeExperimentEnabled()) {
|
||||
YieldToLooperChecker::GetInstance().SetStartupRunning(false);
|
||||
}
|
||||
|
||||
// if the native ui task execution isn't enabled already, enable it.
|
||||
if (!startup_info_.enable_native_task_execution_callback.is_null()) {
|
||||
std::move(startup_info_.enable_native_task_execution_callback).Run();
|
||||
@@ -391,13 +397,17 @@ void AwContentBrowserClient::OnStartupComplete() {
|
||||
|
||||
void AwContentBrowserClient::OnUiTaskRunnerReady(
|
||||
base::OnceClosure enable_native_task_execution_callback) {
|
||||
if (!IsStartupTaskExperimentEnabled()) {
|
||||
if (!IsAnyStartupTaskExperimentEnabled()) {
|
||||
std::move(enable_native_task_execution_callback).Run();
|
||||
return;
|
||||
}
|
||||
|
||||
startup_info_.enable_native_task_execution_callback =
|
||||
std::move(enable_native_task_execution_callback);
|
||||
|
||||
if (AwBrowserMainParts::isStartupTaskYieldToNativeExperimentEnabled()) {
|
||||
YieldToLooperChecker::GetInstance().SetStartupRunning(true);
|
||||
}
|
||||
}
|
||||
|
||||
std::unique_ptr<content::WebContentsViewDelegate>
|
||||
@@ -608,25 +618,6 @@ AwContentBrowserClient::GetLocalTracesDirectory() {
|
||||
return user_data_dir;
|
||||
}
|
||||
|
||||
void AwContentBrowserClient::DidCreatePpapiPlugin(
|
||||
content::BrowserPpapiHost* browser_host) {
|
||||
NOTREACHED() << "Android WebView does not support plugins";
|
||||
}
|
||||
|
||||
bool AwContentBrowserClient::AllowPepperSocketAPI(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url,
|
||||
bool private_api,
|
||||
const content::SocketPermissionRequest* params) {
|
||||
NOTREACHED() << "Android WebView does not support plugins";
|
||||
}
|
||||
|
||||
bool AwContentBrowserClient::IsPepperVpnProviderAPIAllowed(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url) {
|
||||
NOTREACHED() << "Android WebView does not support plugins";
|
||||
}
|
||||
|
||||
std::unique_ptr<content::TracingDelegate>
|
||||
AwContentBrowserClient::CreateTracingDelegate() {
|
||||
return std::make_unique<AwTracingDelegate>();
|
||||
@@ -712,7 +703,7 @@ void AwContentBrowserClient::CreateThrottlesForNavigation(
|
||||
if ((navigation_handle.GetNavigatingFrameType() ==
|
||||
FrameType::kPrimaryMainFrame ||
|
||||
navigation_handle.GetNavigatingFrameType() == FrameType::kSubframe) &&
|
||||
navigation_handle.GetURL().SchemeIsHTTPOrHTTPS()) {
|
||||
registry.IsHTTPOrHTTPS()) {
|
||||
AwSupervisedUserUrlClassifier* urlClassifier =
|
||||
AwSupervisedUserUrlClassifier::GetInstance();
|
||||
if (urlClassifier->ShouldCreateThrottle()) {
|
||||
@@ -891,11 +882,14 @@ bool AwContentBrowserClient::SupportsAvoidUnnecessaryBeforeUnloadCheckSync() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool AwContentBrowserClient::ShouldAllowSameSiteRenderFrameHostChange(
|
||||
content::ContentBrowserClient::ShouldAllowSameSiteRenderFrameHostChangeResult
|
||||
AwContentBrowserClient::ShouldAllowSameSiteRenderFrameHostChange(
|
||||
const content::RenderFrameHost& rfh) {
|
||||
if (!base::FeatureList::IsEnabled(features::kWebViewRenderDocument)) {
|
||||
return false;
|
||||
return content::ContentBrowserClient::
|
||||
ShouldAllowSameSiteRenderFrameHostChangeResult::kNotAllowed;
|
||||
}
|
||||
|
||||
content::RenderFrameHost* rfh_ptr =
|
||||
const_cast<content::RenderFrameHost*>(&rfh);
|
||||
content::WebContents* web_contents =
|
||||
@@ -904,8 +898,18 @@ bool AwContentBrowserClient::ShouldAllowSameSiteRenderFrameHostChange(
|
||||
// Don't allow same-site RFH swap on non-crashed frames if the initial page
|
||||
// scale is non-default. See the comment in `AwSettings` about this for more
|
||||
// details.
|
||||
return !aw_settings || !rfh_ptr->IsRenderFrameLive() ||
|
||||
!aw_settings->initial_page_scale_is_non_default();
|
||||
if (aw_settings && rfh_ptr->IsRenderFrameLive() &&
|
||||
aw_settings->initial_page_scale_is_non_default()) {
|
||||
return content::ContentBrowserClient::
|
||||
ShouldAllowSameSiteRenderFrameHostChangeResult::kNotAllowed;
|
||||
}
|
||||
|
||||
// The WebViewRenderDocument flag is enabled and we're not in an unsupported
|
||||
// case. Force the same-site RenderFrameHost change regardless of the state
|
||||
// of the RenderDocument flag, so that we only need to enable the
|
||||
// WebViewRenderDocument flag to enable RenderDocument on all frames.
|
||||
return content::ContentBrowserClient::
|
||||
ShouldAllowSameSiteRenderFrameHostChangeResult::kAllowedOverrideLevel;
|
||||
}
|
||||
|
||||
std::unique_ptr<content::LoginDelegate>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "components/viz/common/features.h"
|
||||
#include "content/public/common/content_features.h"
|
||||
#include "gpu/config/gpu_finch_features.h"
|
||||
#include "media/audio/audio_features.h"
|
||||
#include "media/base/media_switches.h"
|
||||
#include "mojo/public/cpp/bindings/features.h"
|
||||
#include "net/base/features.h"
|
||||
@@ -63,10 +64,6 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
|
||||
aw_feature_overrides.DisableFeature(
|
||||
blink::features::kEnforceNoopenerOnBlobURLNavigation);
|
||||
|
||||
// TODO(crbug.com/421547429): Temporarily disabled to address crashes.
|
||||
aw_feature_overrides.DisableFeature(
|
||||
network::features::kMaskedDomainListFlatbufferImpl);
|
||||
|
||||
#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER)
|
||||
// Disable the passthrough on WebView.
|
||||
aw_feature_overrides.DisableFeature(
|
||||
@@ -76,6 +73,9 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
|
||||
// HDR does not support webview yet. See crbug.com/1493153 for an explanation.
|
||||
aw_feature_overrides.DisableFeature(ui::kAndroidHDR);
|
||||
|
||||
// Disable launch_handler on WebView.
|
||||
aw_feature_overrides.DisableFeature(::features::kAndroidWebAppLaunchHandler);
|
||||
|
||||
// Disable Reducing User Agent minor version on WebView.
|
||||
aw_feature_overrides.DisableFeature(
|
||||
blink::features::kReduceUserAgentMinorVersion);
|
||||
@@ -125,6 +125,9 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
|
||||
aw_feature_overrides.DisableFeature(
|
||||
blink::features::kSecurePaymentConfirmationAvailabilityAPI);
|
||||
|
||||
// WebView does not support handling payment links.
|
||||
aw_feature_overrides.DisableFeature(blink::features::kPaymentLinkDetection);
|
||||
|
||||
// WebView does not support overlay fullscreen yet for video overlays.
|
||||
aw_feature_overrides.DisableFeature(media::kOverlayFullscreenVideo);
|
||||
|
||||
@@ -221,9 +224,8 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
|
||||
// Disabling the permission element as it needs embedder support in order to
|
||||
// function and the webview permission manager cannot support it.
|
||||
aw_feature_overrides.DisableFeature(blink::features::kPermissionElement);
|
||||
aw_feature_overrides.DisableFeature(blink::features::kGeolocationElement);
|
||||
|
||||
// Feature parameters can only be set via a field trial.
|
||||
// Note: Performing a field trial here means we cannot include
|
||||
// |kBtmTtl| in the testing config json.
|
||||
{
|
||||
const char kDipsWebViewExperiment[] = "DipsWebViewExperiment";
|
||||
@@ -290,4 +292,12 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
|
||||
// Explicitly disable PrefetchProxy instead of relying only on passing an
|
||||
// empty URL.
|
||||
aw_feature_overrides.DisableFeature(features::kPrefetchProxy);
|
||||
|
||||
// Document Picture-in-Picture API is not supported on WebView.
|
||||
aw_feature_overrides.DisableFeature(
|
||||
blink::features::kDocumentPictureInPictureAPI);
|
||||
|
||||
// AAudio per-stream device selection is not supported on WebView.
|
||||
aw_feature_overrides.DisableFeature(
|
||||
features::kAAudioPerStreamDeviceSelection);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ by a child template that "extends" this file.
|
||||
tools:ignore="MissingVersion">
|
||||
<!-- android:versionCode and android:versionName is set through gyp. See build/common.gypi -->
|
||||
|
||||
<uses-feature android:glEsVersion="0x00020000" />
|
||||
<uses-feature android:glEsVersion="0x00030000" />
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
||||
@@ -67,6 +67,7 @@ by a child template that "extends" this file.
|
||||
<uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
|
||||
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.CAPTURE_KEYBOARD" />
|
||||
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
{% set is_desktop_android = is_desktop_android|default(0) %}
|
||||
@@ -96,6 +97,12 @@ by a child template that "extends" this file.
|
||||
<uses-permission-sdk-23 android:name="android.permission.READ_MEDIA_VIDEO"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
||||
<!--
|
||||
The REPOSITION_SELF_WINDOWS permission is needed for Window Popup Web API to allow Chrome to
|
||||
move windows when the |window.moveTo| JavaScript call is executed (also |window.{resizeBy,
|
||||
resizeTo, moveBy}|).
|
||||
-->
|
||||
<uses-permission android:name="android.permission.REPOSITION_SELF_WINDOWS"/>
|
||||
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
|
||||
<uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
|
||||
@@ -597,7 +604,7 @@ by a child template that "extends" this file.
|
||||
android:autoRemoveFromRecents="true">
|
||||
</activity>
|
||||
<activity android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
|
||||
android:theme="@style/Theme.BrowserUI.AlertDialog.NoActionBar.DayNight"
|
||||
android:theme="@style/Theme.BrowserUI.DayNight.AlertDialog.NoActionBar"
|
||||
android:launchMode="singleInstance"
|
||||
{{ self.first_run_activity_common() }}>
|
||||
</activity>
|
||||
@@ -951,7 +958,7 @@ by a child template that "extends" this file.
|
||||
<activity android:name="org.chromium.chrome.browser.searchwidget.SearchActivity"
|
||||
android:theme="@style/Theme.Chromium.SearchActivity"
|
||||
android:label="Search"
|
||||
android:exported="false"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTask"
|
||||
android:taskAffinity=""
|
||||
android:clearTaskOnLaunch="true"
|
||||
@@ -1180,6 +1187,16 @@ by a child template that "extends" this file.
|
||||
<service android:name="org.chromium.chrome.browser.app.usb.UsbNotificationService"
|
||||
android:exported="false"/>
|
||||
|
||||
<service android:name="org.chromium.chrome.browser.data_import.DataImporterService"
|
||||
android:exported="true" tools:ignore="ExportedService">
|
||||
<intent-filter>
|
||||
<action android:name="io.grpc.action.BIND" />
|
||||
<data android:host=""
|
||||
android:path="/com.google.osmigration.systemappapi.TargetService"
|
||||
android:scheme="grpc" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
|
||||
android:value="org.chromium.content_public.browser.SmartClipProvider"/>
|
||||
|
||||
@@ -1251,6 +1268,27 @@ by a child template that "extends" this file.
|
||||
android:visibleToInstantApps="true"
|
||||
{% endif %} />
|
||||
{% endfor %}
|
||||
{% if javaless_renderers is defined %}
|
||||
<!-- Restricting to just 2 native-only services, one for zygote and one for non-zygote. -->
|
||||
{% for i in range(2) %}
|
||||
<!-- For now, the name of a native-only service must be prefixed with "NativeService". This is
|
||||
only for the prototype, and once it actually lands in the Android tree, there will be a
|
||||
better mechanism than this. -->
|
||||
<service android:name="org.chromium.content.app.NativeServiceSandboxedProcessService{{ i }}"
|
||||
android:process=":sandboxed_process{{ i }}"
|
||||
android:permission="{{ manifest_package }}.permission.CHILD_SERVICE"
|
||||
android:isolatedProcess="true"
|
||||
android:exported="{{sandboxed_service_exported|default(false)}}"
|
||||
{% if (sandboxed_service_exported|default(false)) == 'true' %}
|
||||
android:externalService="true"
|
||||
tools:ignore="ExportedService"
|
||||
android:visibleToInstantApps="true"
|
||||
{% endif %} >
|
||||
<meta-data android:name="android.app.lib_name" android:value="{{ library_name }}"/>
|
||||
<meta-data android:name="android.app.func_name" android:value="NativeChildProcessService_onCreate"/>
|
||||
</service>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% set num_privileged_services = 10 %}
|
||||
<meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
|
||||
|
||||
+5
-40
@@ -114,8 +114,6 @@
|
||||
#include "components/language/core/browser/url_language_histogram.h"
|
||||
#include "components/lens/lens_features.h"
|
||||
#include "components/media_device_salt/media_device_salt_service.h"
|
||||
#include "components/nacl/browser/nacl_browser.h"
|
||||
#include "components/nacl/browser/pnacl_host.h"
|
||||
#include "components/no_state_prefetch/browser/no_state_prefetch_manager.h"
|
||||
#include "components/omnibox/browser/omnibox_prefs.h"
|
||||
#include "components/open_from_clipboard/clipboard_recent_content.h"
|
||||
@@ -126,7 +124,7 @@
|
||||
#include "components/password_manager/core/browser/password_store/smart_bubble_stats_store.h"
|
||||
#include "components/payments/content/browser_binding/browser_bound_keys_deleter.h"
|
||||
#include "components/payments/content/browser_binding/browser_bound_keys_deleter_factory.h"
|
||||
#include "components/payments/content/payment_manifest_web_data_service.h"
|
||||
#include "components/payments/content/web_payments_web_data_service.h"
|
||||
#include "components/performance_manager/public/user_tuning/prefs.h"
|
||||
#include "components/permissions/permission_actions_history.h"
|
||||
#include "components/permissions/permission_decision_auto_blocker.h"
|
||||
@@ -243,16 +241,6 @@ namespace {
|
||||
// Timeout after which the histogram for slow tasks is recorded.
|
||||
const base::TimeDelta kSlowTaskTimeout = base::Seconds(180);
|
||||
|
||||
// Generic functions but currently only used when ENABLE_NACL.
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
// Convenience method to create a callback that can be run on any thread and
|
||||
// will post the given |callback| back to the UI thread.
|
||||
base::OnceClosure UIThreadTrampoline(base::OnceClosure callback) {
|
||||
return base::BindPostTask(content::GetUIThreadTaskRunner({}),
|
||||
std::move(callback));
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_NACL)
|
||||
|
||||
// Returned by ChromeBrowsingDataRemoverDelegate::GetOriginTypeMatcher().
|
||||
bool DoesOriginMatchEmbedderMask(uint64_t origin_type_mask,
|
||||
const url::Origin& origin,
|
||||
@@ -942,13 +930,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
host_content_settings_map_->ClearSettingsForOneTypeWithPredicate(
|
||||
ContentSettingsType::INTENT_PICKER_DISPLAY, delete_begin_, delete_end_,
|
||||
website_settings_filter);
|
||||
|
||||
host_content_settings_map_->ClearSettingsForOneTypeWithPredicate(
|
||||
ContentSettingsType::PRIVATE_NETWORK_GUARD, delete_begin_, delete_end_,
|
||||
website_settings_filter);
|
||||
host_content_settings_map_->ClearSettingsForOneTypeWithPredicate(
|
||||
ContentSettingsType::PRIVATE_NETWORK_CHOOSER_DATA, delete_begin_,
|
||||
delete_end_, website_settings_filter);
|
||||
#endif
|
||||
|
||||
host_content_settings_map_->ClearSettingsForOneTypeWithPredicate(
|
||||
@@ -1134,10 +1115,10 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
base::FeatureList::IsEnabled(browsing_data::features::kDbdRevampDesktop))
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
) {
|
||||
scoped_refptr<payments::PaymentManifestWebDataService>
|
||||
scoped_refptr<payments::WebPaymentsWebDataService>
|
||||
payment_web_data_service =
|
||||
webdata_services::WebDataServiceWrapperFactory::
|
||||
GetPaymentManifestWebDataServiceForBrowserContext(
|
||||
GetWebPaymentsWebDataServiceForBrowserContext(
|
||||
profile_, ServiceAccessType::EXPLICIT_ACCESS);
|
||||
if (payment_web_data_service) {
|
||||
payment_web_data_service->ClearSecurePaymentConfirmationCredentials(
|
||||
@@ -1171,18 +1152,6 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
|
||||
}
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
if (filter_builder->MatchesMostOriginsAndDomains()) {
|
||||
nacl::NaClBrowser::GetInstance()->ClearValidationCache(UIThreadTrampoline(
|
||||
CreateTaskCompletionClosure(TracingDataType::kNaclCache)));
|
||||
|
||||
pnacl::PnaclHost::GetInstance()->ClearTranslationCacheEntriesBetween(
|
||||
delete_begin_, delete_end_,
|
||||
UIThreadTrampoline(
|
||||
CreateTaskCompletionClosure(TracingDataType::kPnaclCache)));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (filter_builder->MatchesMostOriginsAndDomains()) {
|
||||
browsing_data::RemovePrerenderCacheData(
|
||||
prerender::NoStatePrefetchManagerFactory::GetForBrowserContext(
|
||||
@@ -1661,10 +1630,6 @@ const char* ChromeBrowsingDataRemoverDelegate::GetHistogramSuffix(
|
||||
return "Synchronous";
|
||||
case TracingDataType::kHistory:
|
||||
return "History";
|
||||
case TracingDataType::kNaclCache:
|
||||
return "NaclCache";
|
||||
case TracingDataType::kPnaclCache:
|
||||
return "PnaclCache";
|
||||
case TracingDataType::kAutofillData:
|
||||
return "AutofillData";
|
||||
case TracingDataType::kAutofillOrigins:
|
||||
@@ -1827,8 +1792,8 @@ void ChromeBrowsingDataRemoverDelegate::DisablePasswordsAutoSignin(
|
||||
CreateTaskCompletionClosure(
|
||||
TracingDataType::kDisableAutoSigninForProfilePasswords));
|
||||
}
|
||||
if (account_store && password_manager::features_util::IsAccountStorageEnabled(
|
||||
profile_->GetPrefs(), sync_service)) {
|
||||
if (account_store &&
|
||||
password_manager::features_util::IsAccountStorageEnabled(sync_service)) {
|
||||
account_store->DisableAutoSignInForOrigins(
|
||||
url_filter,
|
||||
CreateTaskCompletionClosure(
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
#include "chrome/browser/buildflags.h"
|
||||
#include "chrome/browser/dom_distiller/dom_distiller_service_factory.h"
|
||||
#include "chrome/browser/navigation_predictor/navigation_predictor.h"
|
||||
#include "chrome/browser/optimization_guide/model_execution/chrome_on_device_model_service_controller.h"
|
||||
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
|
||||
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h"
|
||||
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
|
||||
@@ -59,6 +58,7 @@
|
||||
#include "content/public/browser/render_process_host.h"
|
||||
#include "content/public/common/content_features.h"
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "mojo/public/cpp/bindings/binder_map.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
|
||||
#include "services/image_annotation/public/mojom/image_annotation.mojom.h"
|
||||
@@ -429,26 +429,25 @@ void BindCredentialManager(
|
||||
void PopulateChromeFrameBinders(
|
||||
mojo::BinderMapWithContext<content::RenderFrameHost*>* map,
|
||||
content::RenderFrameHost* render_frame_host) {
|
||||
map->Add<image_annotation::mojom::Annotator>(
|
||||
base::BindRepeating(&BindImageAnnotator));
|
||||
map->Add<image_annotation::mojom::Annotator>(&BindImageAnnotator);
|
||||
|
||||
map->Add<blink::mojom::AnchorElementMetricsHost>(
|
||||
base::BindRepeating(&NavigationPredictor::Create));
|
||||
&NavigationPredictor::Create);
|
||||
|
||||
map->Add<blink::mojom::LCPCriticalPathPredictorHost>(
|
||||
base::BindRepeating(&predictors::LCPCriticalPathPredictorHost::Create));
|
||||
&predictors::LCPCriticalPathPredictorHost::Create);
|
||||
|
||||
map->Add<dom_distiller::mojom::DistillabilityService>(
|
||||
base::BindRepeating(&BindDistillabilityService));
|
||||
&BindDistillabilityService);
|
||||
|
||||
map->Add<dom_distiller::mojom::DistillerJavaScriptService>(
|
||||
base::BindRepeating(&BindDistillerJavaScriptService));
|
||||
&BindDistillerJavaScriptService);
|
||||
|
||||
map->Add<prerender::mojom::NoStatePrefetchCanceler>(
|
||||
base::BindRepeating(&BindNoStatePrefetchCanceler));
|
||||
&BindNoStatePrefetchCanceler);
|
||||
|
||||
map->Add<blink::mojom::NoStatePrefetchProcessor>(
|
||||
base::BindRepeating(&BindNoStatePrefetchProcessor));
|
||||
&BindNoStatePrefetchProcessor);
|
||||
|
||||
auto* pm_registry =
|
||||
performance_manager::PerformanceManagerRegistry::GetInstance();
|
||||
@@ -457,10 +456,9 @@ void PopulateChromeFrameBinders(
|
||||
}
|
||||
|
||||
map->Add<translate::mojom::ContentTranslateDriver>(
|
||||
base::BindRepeating(&translate::BindContentTranslateDriver));
|
||||
&translate::BindContentTranslateDriver);
|
||||
|
||||
map->Add<optimization_guide::mojom::ModelBroker>(
|
||||
base::BindRepeating(&BindModelBroker));
|
||||
map->Add<optimization_guide::mojom::ModelBroker>(&BindModelBroker);
|
||||
|
||||
if (!base::FeatureList::IsEnabled(blink::features::kLanguageDetectionAPI)) {
|
||||
// When the feature is enabled, the driver is bound by
|
||||
@@ -470,82 +468,78 @@ void PopulateChromeFrameBinders(
|
||||
//
|
||||
// TODO(https://crbug.com/354069716): Remove this when the flag is removed.
|
||||
map->Add<language_detection::mojom::ContentLanguageDetectionDriver>(
|
||||
base::BindRepeating(&translate::BindContentLanguageDetectionDriver));
|
||||
&translate::BindContentLanguageDetectionDriver);
|
||||
}
|
||||
|
||||
map->Add<blink::mojom::CredentialManager>(
|
||||
base::BindRepeating(&BindCredentialManager));
|
||||
map->Add<blink::mojom::CredentialManager>(&BindCredentialManager);
|
||||
|
||||
map->Add<chrome::mojom::OpenSearchDescriptionDocumentHandler>(
|
||||
base::BindRepeating(
|
||||
&SearchEngineTabHelper::BindOpenSearchDescriptionDocumentHandler));
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
map->Add<blink::mojom::InstalledAppProvider>(base::BindRepeating(
|
||||
&ForwardToJavaFrame<blink::mojom::InstalledAppProvider>));
|
||||
map->Add<payments::mojom::DigitalGoodsFactory>(base::BindRepeating(
|
||||
&ForwardToJavaFrame<payments::mojom::DigitalGoodsFactory>));
|
||||
map->Add<blink::mojom::InstalledAppProvider>(
|
||||
&ForwardToJavaFrame<blink::mojom::InstalledAppProvider>);
|
||||
map->Add<payments::mojom::DigitalGoodsFactory>(
|
||||
&ForwardToJavaFrame<payments::mojom::DigitalGoodsFactory>);
|
||||
#if defined(BROWSER_MEDIA_CONTROLS_MENU)
|
||||
map->Add<blink::mojom::MediaControlsMenuHost>(base::BindRepeating(
|
||||
&ForwardToJavaFrame<blink::mojom::MediaControlsMenuHost>));
|
||||
map->Add<blink::mojom::MediaControlsMenuHost>(
|
||||
&ForwardToJavaFrame<blink::mojom::MediaControlsMenuHost>);
|
||||
#endif
|
||||
map->Add<chrome::mojom::OfflinePageAutoFetcher>(
|
||||
base::BindRepeating(&offline_pages::OfflinePageAutoFetcher::Create));
|
||||
&offline_pages::OfflinePageAutoFetcher::Create);
|
||||
if (base::FeatureList::IsEnabled(features::kWebPayments)) {
|
||||
map->Add<payments::mojom::PaymentRequest>(base::BindRepeating(
|
||||
&ForwardToJavaFrame<payments::mojom::PaymentRequest>));
|
||||
map->Add<payments::mojom::PaymentRequest>(
|
||||
&ForwardToJavaFrame<payments::mojom::PaymentRequest>);
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_UNHANDLED_TAP)
|
||||
map->Add<blink::mojom::UnhandledTapNotifier>(
|
||||
base::BindRepeating(&BindUnhandledTapWebContentsObserver));
|
||||
&BindUnhandledTapWebContentsObserver);
|
||||
#endif // BUILDFLAG(ENABLE_UNHANDLED_TAP)
|
||||
|
||||
#else
|
||||
map->Add<blink::mojom::BadgeService>(
|
||||
base::BindRepeating(&badging::BadgeManager::BindFrameReceiverIfAllowed));
|
||||
&badging::BadgeManager::BindFrameReceiverIfAllowed);
|
||||
map->Add<blink::mojom::PersistentRendererPrefsService>(
|
||||
base::BindRepeating(&PersistentRendererPrefsManager::BindFrameReceiver));
|
||||
&PersistentRendererPrefsManager::BindFrameReceiver);
|
||||
if (base::FeatureList::IsEnabled(features::kWebPayments)) {
|
||||
map->Add<payments::mojom::PaymentRequest>(
|
||||
base::BindRepeating(&payments::CreatePaymentRequest));
|
||||
map->Add<payments::mojom::PaymentRequest>(&payments::CreatePaymentRequest);
|
||||
}
|
||||
if (base::FeatureList::IsEnabled(blink::features::kWebAppInstallation) &&
|
||||
!render_frame_host->GetParentOrOuterDocument()) {
|
||||
map->Add<blink::mojom::WebInstallService>(
|
||||
base::BindRepeating(&web_app::WebInstallServiceImpl::CreateIfAllowed));
|
||||
&web_app::WebInstallServiceImpl::CreateIfAllowed);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
map->Add<payments::mojom::DigitalGoodsFactory>(base::BindRepeating(
|
||||
&apps::DigitalGoodsFactoryImpl::BindDigitalGoodsFactory));
|
||||
map->Add<payments::mojom::DigitalGoodsFactory>(
|
||||
&apps::DigitalGoodsFactoryImpl::BindDigitalGoodsFactory);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)
|
||||
map->Add<blink::mojom::ShareService>(
|
||||
base::BindRepeating(&ShareServiceImpl::Create));
|
||||
map->Add<blink::mojom::ShareService>(&ShareServiceImpl::Create);
|
||||
#endif
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
map->Add<blink::mojom::ShareService>(base::BindRepeating(
|
||||
&ForwardToJavaWebContents<blink::mojom::ShareService>));
|
||||
map->Add<blink::mojom::ShareService>(
|
||||
&ForwardToJavaWebContents<blink::mojom::ShareService>);
|
||||
#endif
|
||||
|
||||
map->Add<network_hints::mojom::NetworkHintsHandler>(
|
||||
base::BindRepeating(&BindNetworkHintsHandler));
|
||||
map->Add<network_hints::mojom::NetworkHintsHandler>(&BindNetworkHintsHandler);
|
||||
map->Add<media::mojom::OnDeviceSpeechRecognition>(
|
||||
base::BindRepeating(&BindOnDeviceSpeechRecognitionHandler));
|
||||
&BindOnDeviceSpeechRecognitionHandler);
|
||||
|
||||
#if BUILDFLAG(ENABLE_SPEECH_SERVICE)
|
||||
map->Add<media::mojom::SpeechRecognitionContext>(
|
||||
base::BindRepeating(&BindSpeechRecognitionContextHandler));
|
||||
&BindSpeechRecognitionContextHandler);
|
||||
map->Add<media::mojom::SpeechRecognitionClientBrowserInterface>(
|
||||
base::BindRepeating(&BindSpeechRecognitionClientBrowserInterfaceHandler));
|
||||
&BindSpeechRecognitionClientBrowserInterfaceHandler);
|
||||
map->Add<media::mojom::SpeechRecognitionRecognizerClient>(
|
||||
base::BindRepeating(&BindSpeechRecognitionRecognizerClientHandler));
|
||||
&BindSpeechRecognitionRecognizerClientHandler);
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
map->Add<media::mojom::MediaFoundationRendererNotifier>(
|
||||
base::BindRepeating(&BindMediaFoundationRendererNotifierHandler));
|
||||
&BindMediaFoundationRendererNotifierHandler);
|
||||
#endif
|
||||
#endif // BUILDFLAG(ENABLE_SPEECH_SERVICE)
|
||||
|
||||
@@ -557,40 +551,39 @@ void PopulateChromeFrameBinders(
|
||||
// to register it for them because a non-primary main frame could become a
|
||||
// primary main frame at a later time (eg. a prerendered page).
|
||||
map->Add<blink::mojom::SubAppsService>(
|
||||
base::BindRepeating(&web_app::SubAppsServiceImpl::CreateIfAllowed));
|
||||
&web_app::SubAppsServiceImpl::CreateIfAllowed);
|
||||
}
|
||||
|
||||
map->Add<screen_ai::mojom::ScreenAIAnnotator>(
|
||||
base::BindRepeating(&BindScreenAIAnnotator));
|
||||
map->Add<screen_ai::mojom::ScreenAIAnnotator>(&BindScreenAIAnnotator);
|
||||
|
||||
map->Add<screen_ai::mojom::Screen2xMainContentExtractor>(
|
||||
base::BindRepeating(&BindScreen2xMainContentExtractor));
|
||||
&BindScreen2xMainContentExtractor);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
map->Add<media::mojom::MediaFoundationPreferences>(
|
||||
base::BindRepeating(&BindMediaFoundationPreferences));
|
||||
&BindMediaFoundationPreferences);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
|
||||
map->Add<blink::mojom::WebPrintingService>(
|
||||
base::BindRepeating(&printing::CreateWebPrintingServiceForFrame));
|
||||
&printing::CreateWebPrintingServiceForFrame);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
if (base::FeatureList::IsEnabled(blink::features::kPaymentLinkDetection)) {
|
||||
map->Add<payments::facilitated::mojom::PaymentLinkHandler>(
|
||||
base::BindRepeating(&BindPaymentLinkHandler));
|
||||
&BindPaymentLinkHandler);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_SPELLCHECK)
|
||||
map->Add<spellcheck::mojom::SpellCheckHost>(base::BindRepeating(
|
||||
map->Add<spellcheck::mojom::SpellCheckHost>(
|
||||
[](content::RenderFrameHost* frame_host,
|
||||
mojo::PendingReceiver<spellcheck::mojom::SpellCheckHost> receiver) {
|
||||
SpellCheckHostChromeImpl::Create(
|
||||
frame_host->GetProcess()->GetDeprecatedID(), std::move(receiver));
|
||||
}));
|
||||
});
|
||||
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@
|
||||
#include "chrome/browser/btm/btm_browser_signin_detector.h"
|
||||
#include "chrome/browser/btm/stateful_bounce_counter.h"
|
||||
#include "chrome/browser/child_process_host_flags.h"
|
||||
#include "chrome/browser/chrome_browser_main_extra_parts_nacl_deprecation.h"
|
||||
#include "chrome/browser/chrome_content_browser_client_binder_policies.h"
|
||||
#include "chrome/browser/chrome_content_browser_client_navigation_throttles.h"
|
||||
#include "chrome/browser/chrome_content_browser_client_parts.h"
|
||||
@@ -109,7 +108,6 @@
|
||||
#include "chrome/browser/net/profile_network_context_service.h"
|
||||
#include "chrome/browser/net/profile_network_context_service_factory.h"
|
||||
#include "chrome/browser/net/system_network_context_manager.h"
|
||||
#include "chrome/browser/optimization_guide/chrome_browser_main_extra_parts_optimization_guide.h"
|
||||
#include "chrome/browser/payments/payment_request_display_manager_factory.h"
|
||||
#include "chrome/browser/performance_manager/public/chrome_browser_main_extra_parts_performance_manager.h"
|
||||
#include "chrome/browser/performance_manager/public/chrome_content_browser_client_performance_manager_part.h"
|
||||
@@ -132,7 +130,6 @@
|
||||
#include "chrome/browser/privacy_budget/identifiability_study_state.h"
|
||||
#include "chrome/browser/privacy_sandbox/privacy_sandbox_settings_factory.h"
|
||||
#include "chrome/browser/privacy_sandbox/tracking_protection_settings_factory.h"
|
||||
#include "chrome/browser/private_network_access/chrome_private_network_device_delegate.h"
|
||||
#include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/profiles/profile_io_data.h"
|
||||
@@ -198,7 +195,6 @@
|
||||
#include "chrome/common/env_vars.h"
|
||||
#include "chrome/common/google_url_loader_throttle.h"
|
||||
#include "chrome/common/logging_chrome.h"
|
||||
#include "chrome/common/ppapi_utils.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chrome/common/profiler/main_thread_stack_sampling_profiler.h"
|
||||
#include "chrome/common/profiler/process_type.h"
|
||||
@@ -306,7 +302,6 @@
|
||||
#include "content/public/browser/browser_child_process_host.h"
|
||||
#include "content/public/browser/browser_context.h"
|
||||
#include "content/public/browser/browser_main_parts.h"
|
||||
#include "content/public/browser/browser_ppapi_host.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/browser/browser_url_handler.h"
|
||||
@@ -333,7 +328,6 @@
|
||||
#include "content/public/browser/tts_controller.h"
|
||||
#include "content/public/browser/tts_platform.h"
|
||||
#include "content/public/browser/url_loader_request_interceptor.h"
|
||||
#include "content/public/browser/vpn_service_proxy.h"
|
||||
#include "content/public/browser/weak_document_ptr.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "content/public/browser/web_contents_delegate.h"
|
||||
@@ -365,7 +359,6 @@
|
||||
#include "net/ssl/ssl_cert_request_info.h"
|
||||
#include "net/ssl/ssl_private_key.h"
|
||||
#include "pdf/buildflags.h"
|
||||
#include "ppapi/buildflags/buildflags.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "sandbox/policy/features.h"
|
||||
#include "sandbox/policy/mojom/sandbox.mojom.h"
|
||||
@@ -527,6 +520,8 @@
|
||||
#include "chrome/browser/chromeos/policy/dlp/dlp_scoped_file_access_delegate.h"
|
||||
#include "chrome/browser/chromeos/tablet_mode/chrome_content_browser_client_tablet_mode_part.h"
|
||||
#include "chrome/browser/file_system_access/cloud_identifier/cloud_identifier_util_cros.h"
|
||||
#include "chrome/browser/media/webrtc/multi_capture/multi_capture_usage_indicator_service.h"
|
||||
#include "chrome/browser/media/webrtc/multi_capture/multi_capture_usage_indicator_service_factory.h"
|
||||
#include "chrome/browser/policy/system_features_disable_list_policy_handler.h"
|
||||
#include "chrome/browser/smart_card/chromeos_smart_card_delegate.h"
|
||||
#include "chrome/browser/web_applications/chromeos_web_app_experiments.h"
|
||||
@@ -555,7 +550,6 @@
|
||||
#include "chrome/browser/ui/webui/chrome_content_browser_client_webui_part.h"
|
||||
#include "chrome/browser/ui/webui/webui_util_desktop.h"
|
||||
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_error_page.h"
|
||||
#include "chrome/browser/web_applications/isolated_web_apps/isolated_web_app_url_loader_factory.h"
|
||||
#include "chrome/browser/web_applications/policy/web_app_policy_manager.h"
|
||||
#include "chrome/browser/web_applications/web_app_helpers.h"
|
||||
#include "chrome/browser/web_applications/web_app_provider.h"
|
||||
@@ -567,6 +561,7 @@
|
||||
#include "components/commerce/core/commerce_feature_list.h"
|
||||
#include "components/password_manager/content/common/web_ui_constants.h"
|
||||
#include "components/password_manager/core/common/password_manager_features.h"
|
||||
#include "components/webapps/isolated_web_apps/url_loading/url_loader_factory.h"
|
||||
#include "services/network/public/mojom/permissions_policy/permissions_policy_feature.mojom.h"
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -598,13 +593,6 @@
|
||||
#include "components/captive_portal/content/captive_portal_url_loader_throttle.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
#include "components/nacl/browser/nacl_host_message_filter.h"
|
||||
#include "components/nacl/browser/nacl_process_host.h"
|
||||
#include "components/nacl/common/nacl_process_type.h"
|
||||
#include "components/nacl/common/nacl_switches.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
#include "chrome/browser/extensions/chrome_content_browser_client_extensions_part.h"
|
||||
#include "chrome/browser/extensions/chrome_extension_cookies.h"
|
||||
@@ -1229,7 +1217,8 @@ void MaybeAddCondition(
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
void NotifyMultiCaptureStarted(const std::string& label,
|
||||
content::WebContents* web_contents,
|
||||
const webapps::AppId* app_id) {
|
||||
const webapps::AppId* app_id,
|
||||
content::BrowserContext* browser_context) {
|
||||
const url::Origin origin =
|
||||
url::Origin::Create(web_contents->GetLastCommittedURL());
|
||||
if (app_id) {
|
||||
@@ -1241,19 +1230,27 @@ void NotifyMultiCaptureStarted(const std::string& label,
|
||||
->registrar_unsafe()
|
||||
.GetAppShortName(*app_id),
|
||||
origin);
|
||||
} else {
|
||||
// TODO(b/319317165): Remove this case once the pivot to web apps is
|
||||
// complete.
|
||||
CHECK_DEREF(ash::Shell::Get())
|
||||
.multi_capture_service()
|
||||
->NotifyMultiCaptureStarted(label, origin);
|
||||
|
||||
if (base::FeatureList::IsEnabled(
|
||||
chromeos::features::kMultiCaptureReworkedUsageIndicators)) {
|
||||
CHECK_DEREF(multi_capture::MultiCaptureUsageIndicatorServiceFactory::
|
||||
GetForBrowserContext(web_contents->GetBrowserContext()))
|
||||
.MultiCaptureStarted(label, *app_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void NotifyMultiCaptureStopped(const std::string& label) {
|
||||
void NotifyMultiCaptureStopped(const std::string& label,
|
||||
content::BrowserContext* browser_context) {
|
||||
CHECK_DEREF(ash::Shell::Get())
|
||||
.multi_capture_service()
|
||||
->NotifyMultiCaptureStopped(label);
|
||||
if (base::FeatureList::IsEnabled(
|
||||
chromeos::features::kMultiCaptureReworkedUsageIndicators)) {
|
||||
CHECK_DEREF(multi_capture::MultiCaptureUsageIndicatorServiceFactory::
|
||||
GetForBrowserContext(browser_context))
|
||||
.MultiCaptureStopped(label);
|
||||
}
|
||||
}
|
||||
|
||||
bool IsSubAppsPermissionGrantedByAdmins(content::WebContents* contents) {
|
||||
@@ -1413,6 +1410,9 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled,
|
||||
true);
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(prefs::kOriginKeyedProcessesEnabled, false);
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -1504,6 +1504,11 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
prefs::kSubAppsAPIsAllowedWithoutGestureAndAuthorizationForOrigins);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterBooleanPref(
|
||||
policy::policy_prefs::kProtectedContentIdentifiersAllowed, true);
|
||||
#endif
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kWebAudioOutputBufferingEnabled, false);
|
||||
registry->RegisterBooleanPref(prefs::kSharedWorkerBlobURLFixEnabled, true);
|
||||
registry->RegisterBooleanPref(
|
||||
@@ -1514,6 +1519,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kClearWindowNameForNewBrowsingContextGroup, true);
|
||||
registry->RegisterBooleanPref(prefs::kPrefetchWithServiceWorkerEnabled, true);
|
||||
registry->RegisterBooleanPref(prefs::kServiceWorkerAutoPreloadEnabled, true);
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -1707,12 +1713,6 @@ ChromeContentBrowserClient::CreateBrowserMainParts(bool is_integration_test) {
|
||||
main_parts->AddParts(
|
||||
std::make_unique<ChromeBrowserMainExtraPartsSegmentationPlatform>());
|
||||
|
||||
main_parts->AddParts(
|
||||
std::make_unique<ChromeBrowserMainExtraPartsOptimizationGuide>());
|
||||
|
||||
main_parts->AddParts(
|
||||
std::make_unique<ChromeBrowserMainExtraPartsNaclDeprecation>());
|
||||
|
||||
return main_parts;
|
||||
}
|
||||
|
||||
@@ -1816,14 +1816,6 @@ void ChromeContentBrowserClient::RenderProcessWillLaunch(
|
||||
std::make_unique<base::UserDataAdapter<AudioDebugRecordingsHandler>>(
|
||||
audio_debug_recordings_handler));
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
if (IsNaclAllowed() && !profile->IsSystemProfile()) {
|
||||
host->AddFilter(new nacl::NaClHostMessageFilter(host->GetDeprecatedID(),
|
||||
profile->IsOffTheRecord(),
|
||||
profile->GetPath()));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Register CrashMemoryMetricsCollector to report oom related metrics.
|
||||
host->SetUserData(
|
||||
@@ -2165,14 +2157,14 @@ void ChromeContentBrowserClient::GetAdditionalViewSourceSchemes(
|
||||
network::mojom::IPAddressSpace
|
||||
ChromeContentBrowserClient::DetermineAddressSpaceFromURL(const GURL& url) {
|
||||
if (url.SchemeIs(chrome::kChromeSearchScheme)) {
|
||||
return network::mojom::IPAddressSpace::kLocal;
|
||||
return network::mojom::IPAddressSpace::kLoopback;
|
||||
}
|
||||
if (url.SchemeIs(dom_distiller::kDomDistillerScheme)) {
|
||||
return network::mojom::IPAddressSpace::kPublic;
|
||||
}
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
if (url.SchemeIs(extensions::kExtensionScheme)) {
|
||||
return network::mojom::IPAddressSpace::kLocal;
|
||||
return network::mojom::IPAddressSpace::kLoopback;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2540,6 +2532,32 @@ bool ChromeContentBrowserClient::ShouldEnableStrictSiteIsolation() {
|
||||
#endif
|
||||
}
|
||||
|
||||
std::optional<bool>
|
||||
ChromeContentBrowserClient::GetOverrideValueForOriginKeyedProcesses() {
|
||||
// Users can override the enterprise policy.
|
||||
// Note: This function and
|
||||
// SiteIsolationPolicy::AreOriginKeyedProcessesEnabledByDefault() are expected
|
||||
// to be the only places features::kOriginKeyedProcessesByDefault is checked
|
||||
// outside of tests.
|
||||
if (base::FeatureList::GetInstance()->IsFeatureOverriddenFromCommandLine(
|
||||
features::kOriginKeyedProcessesByDefault.name)) {
|
||||
return base::FeatureList::IsEnabled(
|
||||
features::kOriginKeyedProcessesByDefault);
|
||||
}
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Enterprise overrides take next priority.
|
||||
PrefService* local_state = g_browser_process->local_state();
|
||||
const PrefService::Preference* pref =
|
||||
local_state->FindPreference(prefs::kOriginKeyedProcessesEnabled);
|
||||
if (pref && (pref->IsManaged() || pref->IsRecommended())) {
|
||||
return pref->GetValue()->GetBool();
|
||||
}
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::ShouldDisableSiteIsolation(
|
||||
content::SiteIsolationMode site_isolation_mode) {
|
||||
return site_isolation::SiteIsolationPolicy::
|
||||
@@ -2914,10 +2932,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
command_line->AppendSwitch(switches::kEnableDistillabilityService);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
AppendDisableNaclSwitchIfNecessary(command_line);
|
||||
#endif
|
||||
|
||||
// Please keep this in alphabetical order.
|
||||
static const char* const kSwitchNames[] = {
|
||||
autofill::switches::kIgnoreAutocompleteOffForAutofill,
|
||||
@@ -2943,10 +2957,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
variations::switches::kEnableBenchmarking,
|
||||
variations::switches::kEnableBenchmarkingApi,
|
||||
switches::kEnableDistillabilityService,
|
||||
switches::kEnableNaCl,
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
switches::kEnableNaClDebug,
|
||||
#endif
|
||||
switches::kEnableNetBenchmarking,
|
||||
switches::kExtensionAiDataCollection,
|
||||
switches::kExtensionExperimentalActor,
|
||||
@@ -2954,9 +2964,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
chromeos::switches::
|
||||
kTelemetryExtensionPwaOriginOverrideForTesting, // For tests only.
|
||||
switches::kForceAppMode,
|
||||
#endif
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
switches::kForcePNaClSubzero,
|
||||
#endif
|
||||
switches::kForceUIDirection,
|
||||
switches::kIgnoreGooglePortNumbers,
|
||||
@@ -2983,21 +2990,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
#endif
|
||||
MaybeAppendSecureOriginsAllowlistSwitch(command_line);
|
||||
} else if (process_type == switches::kZygoteProcess) {
|
||||
// It would be preferable to call AppendDisableNaclSwitchIfNecessary to
|
||||
// disable NaCl for the zygote process. Unfortunately that method depends on
|
||||
// state (including policy) that is determined after the zygote is forked.
|
||||
// Instead we rely on renderers overriding the zygote state.
|
||||
|
||||
// Load (in-process) Pepper plugins in-process in the zygote pre-sandbox.
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
static const char* const kSwitchNames[] = {
|
||||
switches::kEnableNaClDebug,
|
||||
switches::kForcePNaClSubzero,
|
||||
switches::kVerboseLoggingInNacl,
|
||||
};
|
||||
|
||||
command_line->CopySwitchesFrom(browser_command_line, kSwitchNames);
|
||||
#endif
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// This is called before feature flags are parsed, so pass them in their raw
|
||||
// form.
|
||||
@@ -3724,6 +3716,13 @@ bool ChromeContentBrowserClient::IsPrefetchWithServiceWorkerAllowed(
|
||||
prefs::kPrefetchWithServiceWorkerEnabled);
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::IsServiceWorkerAutoPreloadAllowed(
|
||||
content::BrowserContext* browser_context) {
|
||||
Profile* profile = Profile::FromBrowserContext(browser_context);
|
||||
return profile->GetPrefs()->GetBoolean(
|
||||
prefs::kServiceWorkerAutoPreloadEnabled);
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::IsServiceWorkerSyntheticResponseAllowed(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url) {
|
||||
@@ -4614,12 +4613,6 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
|
||||
web_prefs->strict_powerful_feature_restrictions = true;
|
||||
}
|
||||
|
||||
// See crbug.com/1238157: the Native Client flag (chrome://flags/#enable-nacl)
|
||||
// can be manually re-enabled. In that case, we also need to return the full
|
||||
// plugins list, for compat.
|
||||
web_prefs->allow_non_empty_navigator_plugins |=
|
||||
base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableNaCl);
|
||||
|
||||
web_prefs->data_saver_enabled = IsDataSaverEnabled(profile);
|
||||
|
||||
if (web_contents) {
|
||||
@@ -4671,6 +4664,17 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
|
||||
web_prefs->web_app_scope = registrar.GetAppScope(app_id);
|
||||
}
|
||||
|
||||
// IWA can close windows with window management permission.
|
||||
if (browser->app_controller()->IsIsolatedWebApp() &&
|
||||
profile->GetPermissionController()
|
||||
->GetPermissionStatusForCurrentDocument(
|
||||
content::PermissionDescriptorUtil::
|
||||
CreatePermissionDescriptorForPermissionType(
|
||||
blink::PermissionType::WINDOW_MANAGEMENT),
|
||||
web_contents->GetPrimaryMainFrame()) ==
|
||||
blink::mojom::PermissionStatus::GRANTED) {
|
||||
web_prefs->allow_scripts_to_close_windows = true;
|
||||
}
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
auto* system_app = browser->app_controller()->system_app();
|
||||
if (system_app) {
|
||||
@@ -4962,65 +4966,6 @@ ChromeContentBrowserClient::GetLocalTracesDirectory() {
|
||||
return user_data_dir;
|
||||
}
|
||||
|
||||
void ChromeContentBrowserClient::DidCreatePpapiPlugin(
|
||||
content::BrowserPpapiHost* browser_host) {
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
ChromeContentBrowserClientPluginsPart::DidCreatePpapiPlugin(browser_host);
|
||||
#endif
|
||||
}
|
||||
|
||||
content::BrowserPpapiHost*
|
||||
ChromeContentBrowserClient::GetExternalBrowserPpapiHost(int plugin_process_id) {
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
content::BrowserChildProcessHostIterator iter(PROCESS_TYPE_NACL_LOADER);
|
||||
while (!iter.Done()) {
|
||||
nacl::NaClProcessHost* host =
|
||||
static_cast<nacl::NaClProcessHost*>(iter.GetDelegate());
|
||||
if (host->process() && host->process()->GetData().id == plugin_process_id) {
|
||||
// Found the plugin.
|
||||
return host->browser_ppapi_host();
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
#endif
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::AllowPepperSocketAPI(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url,
|
||||
bool private_api,
|
||||
const content::SocketPermissionRequest* params) {
|
||||
#if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
return ChromeContentBrowserClientPluginsPart::AllowPepperSocketAPI(
|
||||
browser_context, url, private_api, params);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::IsPepperVpnProviderAPIAllowed(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url) {
|
||||
#if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
return ChromeContentBrowserClientPluginsPart::IsPepperVpnProviderAPIAllowed(
|
||||
browser_context, url);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
std::unique_ptr<content::VpnServiceProxy>
|
||||
ChromeContentBrowserClient::GetVpnServiceProxy(
|
||||
content::BrowserContext* browser_context) {
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
return ChromeContentBrowserClientExtensionsPart::GetVpnServiceProxy(
|
||||
browser_context);
|
||||
#else
|
||||
return nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
std::unique_ptr<ui::SelectFilePolicy>
|
||||
ChromeContentBrowserClient::CreateSelectFilePolicy(WebContents* web_contents) {
|
||||
return std::make_unique<ChromeSelectFilePolicy>(web_contents);
|
||||
@@ -5322,6 +5267,34 @@ void ChromeContentBrowserClient::SessionEnding(
|
||||
bool ChromeContentBrowserClient::ShouldEnableAudioProcessHighPriority() {
|
||||
return IsAudioProcessHighPriorityEnabled();
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::ShouldRestrictCoreSharingOnRenderer() {
|
||||
if (base::win::GetVersion() < base::win::Version::WIN11_24H2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (base::FeatureList::IsEnabled(
|
||||
sandbox::policy::features::kWinSboxRestrictCoreSharingOnRenderer)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
PrefService* local_state = nullptr;
|
||||
if (g_browser_process) {
|
||||
local_state = g_browser_process->local_state();
|
||||
} else {
|
||||
local_state = startup_data_.chrome_feature_list_creator()->local_state();
|
||||
}
|
||||
|
||||
const PrefService::Preference* pref =
|
||||
local_state->FindPreference(prefs::kRestrictCoreSharingOnRenderer);
|
||||
// CPU core sharing is disabled if managed pref is set to false.
|
||||
if (pref && pref->IsManaged() && pref->GetValue()->is_bool()) {
|
||||
return pref->GetValue()->GetBool();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
void ChromeContentBrowserClient::
|
||||
@@ -5542,28 +5515,6 @@ bool ChromeContentBrowserClient::IsSystemWideTracingEnabled() {
|
||||
return ChromeTracingDelegate::IsSystemWideTracingEnabled();
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::IsPluginAllowedToCallRequestOSFileHandle(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url) {
|
||||
#if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
return ChromeContentBrowserClientPluginsPart::
|
||||
IsPluginAllowedToCallRequestOSFileHandle(browser_context, url);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::IsPluginAllowedToUseDevChannelAPIs(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& url) {
|
||||
#if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
return ChromeContentBrowserClientPluginsPart::
|
||||
IsPluginAllowedToUseDevChannelAPIs(browser_context, url);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
void ChromeContentBrowserClient::InitOnUIThread() {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
||||
|
||||
@@ -6702,15 +6653,6 @@ content::SerialDelegate* ChromeContentBrowserClient::GetSerialDelegate() {
|
||||
return serial_delegate_.get();
|
||||
}
|
||||
|
||||
content::PrivateNetworkDeviceDelegate*
|
||||
ChromeContentBrowserClient::GetPrivateNetworkDeviceDelegate() {
|
||||
if (!private_network_device_delegate_) {
|
||||
private_network_device_delegate_ =
|
||||
std::make_unique<ChromePrivateNetworkDeviceDelegate>();
|
||||
}
|
||||
return private_network_device_delegate_.get();
|
||||
}
|
||||
|
||||
bool ChromeContentBrowserClient::IsSecurityLevelAcceptableForWebAuthn(
|
||||
content::RenderFrameHost* rfh,
|
||||
const url::Origin& caller_origin) {
|
||||
@@ -6986,7 +6928,7 @@ bool ChromeContentBrowserClient::HandleWebUI(
|
||||
|
||||
if (IsDisabledInternalWebUI(*url)) {
|
||||
GURL::Replacements replacements;
|
||||
std::string query("host=" + url->host());
|
||||
std::string query("host=" + url->spec());
|
||||
replacements.SetQueryStr(query);
|
||||
*url = GURL(chrome::kChromeUIInternalDebugPagesDisabledURL)
|
||||
.ReplaceComponents(replacements);
|
||||
@@ -8443,18 +8385,21 @@ void ChromeContentBrowserClient::NotifyMultiCaptureStateChanged(
|
||||
MultiCaptureChanged state) {
|
||||
switch (state) {
|
||||
case MultiCaptureChanged::kStarted: {
|
||||
content::WebContents* const web_contents =
|
||||
WebContents::FromRenderFrameHost(
|
||||
RenderFrameHost::FromID(capturer_rfh_id));
|
||||
if (!web_contents) {
|
||||
return;
|
||||
}
|
||||
WebContents* web_contents = WebContents::FromRenderFrameHost(
|
||||
RenderFrameHost::FromID(capturer_rfh_id));
|
||||
NotifyMultiCaptureStarted(
|
||||
label, web_contents,
|
||||
web_app::WebAppTabHelper::GetAppId(web_contents));
|
||||
label, web_contents, web_app::WebAppTabHelper::GetAppId(web_contents),
|
||||
web_contents->GetBrowserContext());
|
||||
} break;
|
||||
case MultiCaptureChanged::kStopped:
|
||||
NotifyMultiCaptureStopped(label);
|
||||
NotifyMultiCaptureStopped(
|
||||
label,
|
||||
// We can't use web contents to get the browser context because by the
|
||||
// time we reach here, the web contents may be destroyed already (e.g.
|
||||
// if the user just closes the window). This approach is only
|
||||
// guaranteed to work well on ChromeOS.
|
||||
ash::ProfileHelper::Get()->GetProfileByUser(
|
||||
user_manager::UserManager::Get()->GetPrimaryUser()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -8526,12 +8471,13 @@ void ChromeContentBrowserClient::BindAIManager(
|
||||
|
||||
#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
|
||||
void ChromeContentBrowserClient::BindTranslationManager(
|
||||
content::RenderProcessHost* host,
|
||||
content::BrowserContext* browser_context,
|
||||
base::SupportsUserData* context_user_data,
|
||||
const url::Origin& origin,
|
||||
mojo::PendingReceiver<blink::mojom::TranslationManager> receiver) {
|
||||
on_device_translation::TranslationManagerImpl::Bind(
|
||||
browser_context, context_user_data, origin, std::move(receiver));
|
||||
host, browser_context, context_user_data, origin, std::move(receiver));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+8
-1
@@ -34,6 +34,7 @@
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "components/captive_portal/content/captive_portal_service.h"
|
||||
#include "components/captive_portal/core/buildflags.h"
|
||||
#include "components/dom_distiller/content/browser/distiller_page_web_contents.h"
|
||||
#include "components/embedder_support/switches.h"
|
||||
#include "components/error_page/content/browser/net_error_auto_reloader.h"
|
||||
#include "components/fingerprinting_protection_filter/browser/throttle_manager.h"
|
||||
@@ -71,6 +72,7 @@
|
||||
#endif // BUILDFLAG(DFMIFY_DEV_UI)
|
||||
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/actor/actor_navigation_throttle.h"
|
||||
#include "chrome/browser/apps/link_capturing/link_capturing_navigation_throttle.h"
|
||||
#include "chrome/browser/apps/link_capturing/web_app_link_capturing_delegate.h"
|
||||
#include "chrome/browser/devtools/devtools_window.h"
|
||||
@@ -297,7 +299,7 @@ void CreateAndAddChromeThrottlesForNavigation(
|
||||
// we are attempting to load a google property.
|
||||
if (ash::merge_session_throttling_utils::ShouldAttachNavigationThrottle() &&
|
||||
!ash::merge_session_throttling_utils::AreAllSessionMergedAlready() &&
|
||||
handle.GetURL().SchemeIsHTTPOrHTTPS()) {
|
||||
registry.IsHTTPOrHTTPS()) {
|
||||
ash::MergeSessionNavigationThrottle::CreateAndAdd(registry);
|
||||
}
|
||||
}
|
||||
@@ -559,5 +561,10 @@ void CreateAndAddChromeThrottlesForNavigation(
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
web_app::IsolatedWebAppThrottle::MaybeCreateAndAdd(registry);
|
||||
|
||||
actor::ActorNavigationThrottle::MaybeCreateAndAdd(registry);
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
dom_distiller::DistillerPageWebContents::MaybeCreateAndAddNavigationThrottle(
|
||||
registry);
|
||||
}
|
||||
|
||||
+206
-158
@@ -173,31 +173,31 @@ public abstract class ChromeFeatureList {
|
||||
"AndroidAppIntegrationWithFavicon";
|
||||
public static final String ANDROID_BOOKMARK_BAR = "AndroidBookmarkBar";
|
||||
public static final String ANDROID_BOTTOM_TOOLBAR = "AndroidBottomToolbar";
|
||||
public static final String ANDROID_BOTTOM_TOOLBAR_V2 = "AndroidBottomToolbarV2";
|
||||
public static final String ANDROID_COMPOSEPLATE = "AndroidComposeplate";
|
||||
public static final String ANDROID_DUMP_ON_SCROLL_WITHOUT_RESOURCE =
|
||||
"AndroidDumpOnScrollWithoutResource";
|
||||
public static final String ANDROID_DATA_IMPORTER_SERVICE = "AndroidDataImporterService";
|
||||
public static final String ANDROID_ELEGANT_TEXT_HEIGHT = "AndroidElegantTextHeight";
|
||||
public static final String ANDROID_KEYBOARD_A11Y = "AndroidKeyboardA11y";
|
||||
public static final String ANDROID_META_CLICK_HISTORY_NAVIGATION =
|
||||
"AndroidMetaClickHistoryNavigation";
|
||||
public static final String ANDROID_FIRST_RUN_LAUNCH_BOUNDS = "AndroidFirstRunLaunchBounds";
|
||||
public static final String ANDROID_GRAMMAR_CHECK = "AndroidGrammarCheck";
|
||||
public static final String ANDROID_MINIMAL_UI_LARGE_SCREEN = "AndroidMinimalUiLargeScreen";
|
||||
public static final String ANDROID_NATIVE_PAGES_IN_NEW_TAB = "AndroidNativePagesInNewTab";
|
||||
public static final String ANDROID_NO_VISIBLE_HINT_FOR_DIFFERENT_TLD =
|
||||
"AndroidNoVisibleHintForDifferentTLD";
|
||||
public static final String ANDROID_OMNIBOX_FOCUSED_NEW_TAB_PAGE =
|
||||
"AndroidOmniboxFocusedNewTabPage";
|
||||
public static final String ANDROID_OPEN_INCOGNITO_AS_WINDOW = "AndroidOpenIncognitoAsWindow";
|
||||
public static final String ANDROID_OPEN_PDF_INLINE_BACKPORT = "AndroidOpenPdfInlineBackport";
|
||||
public static final String ANDROID_PDF_ASSIST_CONTENT = "AndroidPdfAssistContent";
|
||||
public static final String ANDROID_PINNED_TABS = "AndroidPinnedTabs";
|
||||
public static final String ANDROID_PROGRESS_BAR_VISUAL_UPDATE =
|
||||
"AndroidProgressBarVisualUpdate";
|
||||
public static final String ANDROID_SETTINGS_CONTAINMENT = "AndroidSettingsContainment";
|
||||
public static final String ANDROID_SHOW_RESTORE_TABS_PROMO_ON_FRE_BYPASSED_KILL_SWITCH =
|
||||
"AndroidShowRestoreTabsPromoOnFREBypassedKillSwitch";
|
||||
public static final String ANDROID_SPELLCHECK_NATIVE_UI = "AndroidSpellcheckNativeUi";
|
||||
public static final String ANDROID_SURFACE_COLOR_UPDATE = "AndroidSurfaceColorUpdate";
|
||||
public static final String ANDROID_TAB_DECLUTTER_ARCHIVE_ALL_BUT_ACTIVE =
|
||||
"AndroidTabDeclutterArchiveAllButActiveTab";
|
||||
public static final String ANDROID_TAB_DECLUTTER_ARCHIVE_DUPLICATE_TABS =
|
||||
"AndroidTabDeclutterArchiveDuplicateTabs";
|
||||
public static final String ANDROID_TAB_DECLUTTER_ARCHIVE_TAB_GROUPS =
|
||||
"AndroidTabDeclutterArchiveTabGroups";
|
||||
public static final String ANDROID_TAB_DECLUTTER_AUTO_DELETE = "AndroidTabDeclutterAutoDelete";
|
||||
@@ -211,18 +211,30 @@ public abstract class ChromeFeatureList {
|
||||
"AndroidTabDeclutterRescueKillswitch";
|
||||
public static final String ANDROID_TAB_GROUPS_COLOR_UPDATE_GM3 =
|
||||
"AndroidTabGroupsColorUpdateGM3";
|
||||
public static final String ANDROID_TAB_HIGHLIGHTING = "AndroidTabHighlighting";
|
||||
public static final String ANDROID_TAB_SKIP_SAVE_TABS_TASK_KILLSWITCH =
|
||||
"AndroidTabSkipSaveTabsTaskKillswitch";
|
||||
public static final String ANDROID_THEME_MODULE = "AndroidThemeModule";
|
||||
public static final String ANDROID_WEB_APP_LAUNCH_HANDLER = "AndroidWebAppLaunchHandler";
|
||||
public static final String ANDROID_USE_ADMINS_FOR_ENTERPRISE_INFO =
|
||||
"AndroidUseAdminsForEnterpriseInfo";
|
||||
public static final String ANDROID_WINDOW_POPUP_LARGE_SCREEN = "AndroidWindowPopupLargeScreen";
|
||||
public static final String ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN =
|
||||
"AndroidWindowPopupResizeAfterSpawn";
|
||||
public static final String ANIMATED_GIF_REFACTOR = "AnimatedGifRefactor";
|
||||
public static final String ANIMATED_IMAGE_DRAG_SHADOW = "AnimatedImageDragShadow";
|
||||
public static final String ANNOTATED_PAGE_CONTENTS_VIRTUAL_STRUCTURE =
|
||||
"AnnotatedPageContentsVirtualStructure";
|
||||
public static final String APP_SPECIFIC_HISTORY = "AppSpecificHistory";
|
||||
public static final String APP_SPECIFIC_HISTORY_VIEW_INTENT = "AppSpecificHistoryViewIntent";
|
||||
public static final String ASYNC_NOTIFICATION_MANAGER = "AsyncNotificationManager";
|
||||
public static final String ASYNC_NOTIFICATION_MANAGER_FOR_DOWNLOAD =
|
||||
"AsyncNotificationManagerForDownload";
|
||||
public static final String AUTO_PICTURE_IN_PICTURE_ANDROID = "AutoPictureInPictureAndroid";
|
||||
public static final String AUTOFILL_ALLOW_NON_HTTP_ACTIVATION =
|
||||
"AutofillAllowNonHttpActivation";
|
||||
public static final String AUTOFILL_ANDROID_DESKTOP_SUPPRESS_ACCESSORY_ON_EMPTY =
|
||||
"AutofillAndroidDesktopSuppressAccessoryOnEmpty";
|
||||
public static final String AUTOFILL_DEEP_LINK_AUTOFILL_OPTIONS =
|
||||
"AutofillDeepLinkAutofillOptions";
|
||||
public static final String AUTOFILL_ENABLE_CARD_BENEFITS_FOR_AMERICAN_EXPRESS =
|
||||
@@ -230,9 +242,13 @@ public abstract class ChromeFeatureList {
|
||||
public static final String AUTOFILL_ENABLE_CARD_BENEFITS_FOR_BMO =
|
||||
"AutofillEnableCardBenefitsForBmo";
|
||||
public static final String AUTOFILL_ENABLE_CVC_STORAGE = "AutofillEnableCvcStorageAndFilling";
|
||||
public static final String AUTOFILL_ENABLE_FLAT_RATE_CARD_BENEFITS_FROM_CURINOS =
|
||||
"AutofillEnableFlatRateCardBenefitsFromCurinos";
|
||||
public static final String AUTOFILL_ENABLE_LOCAL_IBAN = "AutofillEnableLocalIban";
|
||||
public static final String AUTOFILL_ENABLE_LOYALTY_CARDS_FILLING =
|
||||
"AutofillEnableLoyaltyCardsFilling";
|
||||
public static final String AUTOFILL_ENABLE_NEW_CARD_BENEFITS_TOGGLE_TEXT =
|
||||
"AutofillEnableNewCardBenefitsToggleText";
|
||||
public static final String AUTOFILL_ENABLE_PAYMENT_SETTINGS_CARD_PROMO_AND_SCAN_CARD =
|
||||
"AutofillEnablePaymentSettingsCardPromoAndScanCard";
|
||||
public static final String AUTOFILL_ENABLE_PAYMENT_SETTINGS_SERVER_CARD_SAVE =
|
||||
@@ -243,6 +259,8 @@ public abstract class ChromeFeatureList {
|
||||
"AutofillEnableRankingFormulaCreditCards";
|
||||
public static final String AUTOFILL_ENABLE_SECURITY_TOUCH_EVENT_FILTERING_ANDROID =
|
||||
"AutofillEnableSecurityTouchEventFilteringAndroid";
|
||||
public static final String AUTOFILL_ENABLE_SEPARATE_PIX_PREFERENCE_ITEM =
|
||||
"AutofillEnableSeparatePixPreferenceItem";
|
||||
public static final String AUTOFILL_ENABLE_SERVER_IBAN = "AutofillEnableServerIban";
|
||||
public static final String AUTOFILL_ENABLE_SUPPORT_FOR_HOME_AND_WORK =
|
||||
"AutofillEnableSupportForHomeAndWork";
|
||||
@@ -257,6 +275,8 @@ public abstract class ChromeFeatureList {
|
||||
"AutofillThirdPartyModeContentProvider";
|
||||
public static final String AUTOFILL_VIRTUAL_VIEW_STRUCTURE_ANDROID =
|
||||
"AutofillVirtualViewStructureAndroid";
|
||||
public static final String AUTOMOTIVE_BACK_BUTTON_BAR_STREAMLINE =
|
||||
"AutomotiveBackButtonBarStreamline";
|
||||
public static final String AVOID_RELAYOUT_DURING_FOCUS_ANIMATION =
|
||||
"AvoidRelayoutDuringFocusAnimation";
|
||||
public static final String BACKGROUND_THREAD_POOL_FIELD_TRIAL =
|
||||
@@ -266,12 +286,9 @@ public abstract class ChromeFeatureList {
|
||||
public static final String BATCH_TAB_RESTORE = "BatchTabRestore";
|
||||
public static final String BCIV_BOTTOM_CONTROLS = "AndroidBcivBottomControls";
|
||||
public static final String BIOMETRIC_AUTH_IDENTITY_CHECK = "BiometricAuthIdentityCheck";
|
||||
public static final String BLOCK_INSTALLING_EXTENSIONS_ON_DESKTOP_ANDROID =
|
||||
"BlockInstallingExtensionsOnDesktopAndroid";
|
||||
public static final String BLOCK_INTENTS_WHILE_LOCKED = "BlockIntentsWhileLocked";
|
||||
public static final String BOARDING_PASS_DETECTOR = "BoardingPassDetector";
|
||||
public static final String BOOKMARK_PANE_ANDROID = "BookmarkPaneAndroid";
|
||||
public static final String BOTTOM_BROWSER_CONTROLS_REFACTOR = "BottomBrowserControlsRefactor";
|
||||
public static final String BROWSER_CONTROLS_DEBUGGING = "BrowserControlsDebugging";
|
||||
public static final String BROWSER_CONTROLS_EARLY_RESIZE = "BrowserControlsEarlyResize";
|
||||
public static final String BROWSER_CONTROLS_IN_VIZ = "AndroidBrowserControlsInViz";
|
||||
@@ -291,10 +308,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CCT_BLOCK_TOUCHES_DURING_ENTER_ANIMATION =
|
||||
"CCTBlockTouchesDuringEnterAnimation";
|
||||
public static final String CCT_CLIENT_DATA_HEADER = "CCTClientDataHeader";
|
||||
public static final String CCT_CONTEXTUAL_MENU_ITEMS = "CCTContextualMenuItems";
|
||||
public static final String CCT_EARLY_NAV = "CCTEarlyNav";
|
||||
public static final String CCT_EPHEMERAL_MEDIA_VIEWER_EXPERIMENT =
|
||||
"CCTEphemeralMediaViewerExperiment";
|
||||
public static final String CCT_EPHEMERAL_MODE = "CCTEphemeralMode";
|
||||
public static final String CCT_EXTEND_TRUSTED_CDN_PUBLISHER = "CCTExtendTrustedCdnPublisher";
|
||||
public static final String CCT_FIX_WARMUP = "CCTFixWarmup";
|
||||
public static final String CCT_FRE_IN_SAME_TASK = "CCTFreInSameTask";
|
||||
@@ -303,8 +318,6 @@ public abstract class ChromeFeatureList {
|
||||
"CCTGoogleBottomBarVariantLayouts";
|
||||
public static final String CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY =
|
||||
"CCTIncognitoAvailableToThirdParty";
|
||||
public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides";
|
||||
public static final String CCT_MINIMIZED = "CCTMinimized";
|
||||
public static final String CCT_MINIMIZED_ENABLED_BY_DEFAULT = "CCTMinimizedEnabledByDefault";
|
||||
public static final String CCT_NAVIGATIONAL_PREFETCH = "CCTNavigationalPrefetch";
|
||||
public static final String CCT_NESTED_SECURITY_ICON = "CCTNestedSecurityIcon";
|
||||
@@ -325,7 +338,9 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CCT_SHOW_TAB_FIX = "CCTShowTabFix";
|
||||
public static final String CCT_TAB_MODAL_DIALOG = "CCTTabModalDialog";
|
||||
public static final String CCT_TOOLBAR_REFACTOR = "CCTToolbarRefactor";
|
||||
public static final String CCT_RESET_TIMEOUT_ENABLED = "CCTResetTimeoutEnabled";
|
||||
public static final String CHANGE_UNFOCUSED_PRIORITY = "ChangeUnfocusedPriority";
|
||||
public static final String CHROME_NATIVE_URL_OVERRIDING = "ChromeNativeUrlOverriding";
|
||||
public static final String CHROME_SURVEY_NEXT_ANDROID = "ChromeSurveyNextAndroid";
|
||||
public static final String CLAMP_AUTOMOTIVE_SCALING = "ClampAutomotiveScaling";
|
||||
public static final String CLANK_STARTUP_LATENCY_INJECTION = "ClankStartupLatencyInjection";
|
||||
@@ -348,8 +363,6 @@ public abstract class ChromeFeatureList {
|
||||
public static final String CONTEXTUAL_SEARCH_SUPPRESS_SHORT_VIEW =
|
||||
"ContextualSearchSuppressShortView";
|
||||
public static final String CONTEXT_MENU_EMPTY_SPACE = "ContextMenuEmptySpace";
|
||||
public static final String CONTEXT_MENU_SYS_UI_MATCHES_ACTIVITY =
|
||||
"ContextMenuSysUiMatchesActivity";
|
||||
public static final String CONTEXT_MENU_TRANSLATE_WITH_GOOGLE_LENS =
|
||||
"ContextMenuTranslateWithGoogleLens";
|
||||
public static final String CONTROLS_VISIBILITY_FROM_NAVIGATIONS =
|
||||
@@ -374,17 +387,16 @@ public abstract class ChromeFeatureList {
|
||||
public static final String DISPLAY_EDGE_TO_EDGE_FULLSCREEN = "DisplayEdgeToEdgeFullscreen";
|
||||
public static final String DISPLAY_WILDCARD_CONTENT_SETTINGS =
|
||||
"DisplayWildcardInContentSettings";
|
||||
public static final String DRAW_CHROME_PAGES_EDGE_TO_EDGE = "DrawChromePagesEdgeToEdge";
|
||||
public static final String DRAW_CUTOUT_EDGE_TO_EDGE = "DrawCutoutEdgeToEdge";
|
||||
public static final String DRAW_KEY_NATIVE_EDGE_TO_EDGE = "DrawKeyNativeEdgeToEdge";
|
||||
public static final String DYNAMIC_SAFE_AREA_INSETS = "DynamicSafeAreaInsets";
|
||||
public static final String EDGE_TO_EDGE_BOTTOM_CHIN = "EdgeToEdgeBottomChin";
|
||||
public static final String EDGE_TO_EDGE_DEBUGGING = "EdgeToEdgeDebugging";
|
||||
public static final String EDGE_TO_EDGE_EVERYWHERE = "EdgeToEdgeEverywhere";
|
||||
public static final String EDGE_TO_EDGE_MONITOR_CONFIGURATIONS =
|
||||
"EdgeToEdgeMonitorConfigurations";
|
||||
public static final String EDGE_TO_EDGE_SAFE_AREA_CONSTRAINT = "EdgeToEdgeSafeAreaConstraint";
|
||||
public static final String EDGE_TO_EDGE_TABLET = "EdgeToEdgeTablet";
|
||||
public static final String EDGE_TO_EDGE_WEB_OPT_IN = "EdgeToEdgeWebOptIn";
|
||||
public static final String EDGE_TO_EDGE_USE_BACKUP_NAVBAR_INSETS =
|
||||
"EdgeToEdgeUseBackupNavbarInsets";
|
||||
public static final String EDUCATIONAL_TIP_DEFAULT_BROWSER_PROMO_CARD =
|
||||
"EducationalTipDefaultBrowserPromoCard";
|
||||
public static final String EDUCATIONAL_TIP_MODULE = "EducationalTipModule";
|
||||
@@ -394,9 +406,14 @@ public abstract class ChromeFeatureList {
|
||||
"EnableClipboardDataControlsAndroid";
|
||||
public static final String ENABLE_DISCOUNT_INFO_API = "EnableDiscountInfoApi";
|
||||
public static final String ENABLE_EXCLUSIVE_ACCESS_MANAGER = "EnableExclusiveAccessManager";
|
||||
public static final String ENABLE_FULLSCREEN_TO_ANY_SCREEN_ANDROID =
|
||||
"EnableFullscreenToAnyScreenAndroid";
|
||||
public static final String FACILITATED_PAYMENTS_ENABLE_A2A_PAYMENT =
|
||||
"FacilitatedPaymentsEnableA2APayment";
|
||||
public static final String ENABLE_SAVE_PACKAGE_FOR_OFF_THE_RECORD =
|
||||
"EnableSavePackageForOffTheRecord";
|
||||
public static final String ENABLE_X_AXIS_ACTIVITY_TRANSITION = "EnableXAxisActivityTransition";
|
||||
public static final String FEED_AUDIO_OVERVIEWS = "FeedAudioOverviews";
|
||||
public static final String FEED_CONTAINMENT = "FeedContainment";
|
||||
public static final String FEED_FOLLOW_UI_UPDATE = "FeedFollowUiUpdate";
|
||||
public static final String FEED_HEADER_REMOVAL = "FeedHeaderRemoval";
|
||||
@@ -410,7 +427,6 @@ public abstract class ChromeFeatureList {
|
||||
public static final String FORCE_BROWSER_CONTROLS_UPON_EXITING_FULLSCREEN =
|
||||
"ForceBrowserControlsUponExitingFullscreen";
|
||||
public static final String FORCE_LIST_TAB_SWITCHER = "ForceListTabSwitcher";
|
||||
public static final String FORCE_STARTUP_SIGNIN_PROMO = "ForceStartupSigninPromo";
|
||||
public static final String FORCE_TRANSLUCENT_NOTIFICATION_TRAMPOLINE =
|
||||
"ForceTranslucentNotificationTrampoline";
|
||||
public static final String FORCE_WEB_CONTENTS_DARK_MODE = "WebContentsForceDark";
|
||||
@@ -425,13 +441,13 @@ public abstract class ChromeFeatureList {
|
||||
public static final String HASH_PREFIX_REAL_TIME_LOOKUPS =
|
||||
"SafeBrowsingHashPrefixRealTimeLookups";
|
||||
public static final String HEADLESS_TAB_MODEL = "HeadlessTabModel";
|
||||
public static final String HIDE_TABLET_TOOLBAR_DOWNLOAD_BUTTON =
|
||||
"HideTabletToolbarDownloadButton";
|
||||
public static final String HISTORY_JOURNEYS = "Journeys";
|
||||
public static final String HISTORY_PANE_ANDROID = "HistoryPaneAndroid";
|
||||
public static final String HOMEPAGE_IS_NEW_TAB_PAGE_POLICY_ANDROID =
|
||||
"HomepageIsNewTabPagePolicyAndroid";
|
||||
public static final String HTTPS_FIRST_BALANCED_MODE = "HttpsFirstBalancedMode";
|
||||
public static final String HUB_BACK_BUTTON = "HubBackButton";
|
||||
public static final String HUB_SLIDE_ANIMATION = "HubSlideAnimation";
|
||||
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
|
||||
public static final String INSTANCE_SWITCHER_V2 = "InstanceSwitcherV2";
|
||||
public static final String IP_PROTECTION_UX = "IpProtectionUx";
|
||||
@@ -443,14 +459,16 @@ public abstract class ChromeFeatureList {
|
||||
"LoadingPredictorLimitPreconnectSocketCount";
|
||||
public static final String LOCAL_NETWORK_ACCESS = "LocalNetworkAccessChecks";
|
||||
public static final String LOCK_BACK_PRESS_HANDLER_AT_START = "LockBackPressHandlerAtStart";
|
||||
public static final String LOGIN_DB_DEPRECATION_ANDROID = "LoginDbDeprecationAndroid";
|
||||
public static final String LOOKALIKE_NAVIGATION_URL_SUGGESTIONS_UI =
|
||||
"LookalikeUrlNavigationSuggestionsUI";
|
||||
public static final String MAGIC_STACK_ANDROID = "MagicStackAndroid";
|
||||
public static final String MALICIOUS_APK_DOWNLOAD_CHECK = "MaliciousApkDownloadCheck";
|
||||
public static final String MAYLAUNCHURL_USES_SEPARATE_STORAGE_PARTITION =
|
||||
"MayLaunchUrlUsesSeparateStoragePartition";
|
||||
public static final String MEDIA_INDICATORS_ANDROID = "MediaIndicatorsAndroid";
|
||||
public static final String MINI_ORIGIN_BAR = "MiniOriginBar";
|
||||
public static final String MITIGATE_LEGACY_SEARCH_ENGINE_PROMO_OVERLAP =
|
||||
"MitigateLegacySearchEnginePromoOverlap";
|
||||
public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization";
|
||||
public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect";
|
||||
public static final String MULTI_INSTANCE_APPLICATION_STATUS_CLEANUP =
|
||||
@@ -459,8 +477,6 @@ public abstract class ChromeFeatureList {
|
||||
public static final String NATIVE_PAGE_TRANSITION_HARDWARE_CAPTURE =
|
||||
"NativePageTransitionHardwareCapture";
|
||||
public static final String NAV_BAR_COLOR_ANIMATION = "NavBarColorAnimation";
|
||||
public static final String NAV_BAR_COLOR_MATCHES_TAB_BACKGROUND =
|
||||
"NavBarColorMatchesTabBackground";
|
||||
public static final String NEW_TAB_PAGE_ANDROID_TRIGGER_FOR_PRERENDER2 =
|
||||
"NewTabPageAndroidTriggerForPrerender2";
|
||||
public static final String NEW_TAB_PAGE_CUSTOMIZATION = "NewTabPageCustomization";
|
||||
@@ -527,6 +543,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String READALOUD_AUDIO_OVERVIEWS = "ReadAloudAudioOverviews";
|
||||
public static final String READALOUD_AUDIO_OVERVIEWS_FEEDBACK =
|
||||
"ReadAloudAudioOverviewsFeedback";
|
||||
public static final String READALOUD_AUDIO_OVERVIEWS_SKIP_DISCLAIMER_WHEN_POSSIBLE =
|
||||
"ReadAloudAudioOverviewsSkipDisclaimerWhenPossible";
|
||||
public static final String READALOUD_BACKGROUND_PLAYBACK = "ReadAloudBackgroundPlayback";
|
||||
public static final String READALOUD_IN_MULTI_WINDOW = "ReadAloudInMultiWindow";
|
||||
public static final String READALOUD_IN_OVERFLOW_MENU_IN_CCT = "ReadAloudInOverflowMenuInCCT";
|
||||
@@ -545,6 +563,7 @@ public abstract class ChromeFeatureList {
|
||||
"ReportNotificationContentDetectionData";
|
||||
public static final String RIGHT_EDGE_GOES_FORWARD_GESTURE_NAV =
|
||||
"RightEdgeGoesForwardGestureNav";
|
||||
public static final String ROBUST_WINDOW_MANAGEMENT = "RobustWindowManagement";
|
||||
public static final String SAFETY_HUB = "SafetyHub";
|
||||
public static final String SAFETY_HUB_ANDROID_ORGANIC_SURVEY = "SafetyHubAndroidOrganicSurvey";
|
||||
public static final String SAFETY_HUB_ANDROID_SURVEY = "SafetyHubAndroidSurvey";
|
||||
@@ -581,12 +600,13 @@ public abstract class ChromeFeatureList {
|
||||
"SensitiveContentWhileSwitchingTabs";
|
||||
public static final String SETTINGS_SINGLE_ACTIVITY = "SettingsSingleActivity";
|
||||
public static final String SHARE_CUSTOM_ACTIONS_IN_CCT = "ShareCustomActionsInCCT";
|
||||
public static final String SHOW_CLOSE_ALL_INCOGNITO_TABS_BUTTON =
|
||||
"ShowCloseAllIncognitoTabsButton";
|
||||
public static final String SHOW_HOME_BUTTON_POLICY_ANDROID = "ShowHomeButtonPolicyAndroid";
|
||||
public static final String SHOW_NEW_TAB_ANIMATIONS = "ShowNewTabAnimations";
|
||||
public static final String SHOW_TAB_LIST_ANIMATIONS = "ShowTabListAnimations";
|
||||
public static final String SHOW_WARNINGS_FOR_SUSPICIOUS_NOTIFICATIONS =
|
||||
"ShowWarningsForSuspiciousNotifications";
|
||||
public static final String SKIP_ISOLATED_SPLIT_PRELOAD = "SkipIsolatedSplitPreload";
|
||||
public static final String SMALLER_TAB_STRIP_TITLE_LIMIT = "SmallerTabStripTitleLimit";
|
||||
public static final String SMART_SUGGESTION_FOR_LARGE_DOWNLOADS =
|
||||
"SmartSuggestionForLargeDownloads";
|
||||
@@ -594,6 +614,8 @@ public abstract class ChromeFeatureList {
|
||||
"SplitCacheByNetworkIsolationKey";
|
||||
public static final String START_SURFACE_RETURN_TIME = "StartSurfaceReturnTime";
|
||||
public static final String STOP_APP_INDEXING_REPORT = "StopAppIndexingReport";
|
||||
public static final String SUBMENUS_TAB_CONTEXT_MENU_LFF_TAB_STRIP =
|
||||
"SubmenusTabContextMenuLffTabStrip";
|
||||
public static final String SUGGESTION_ANSWERS_COLOR_REVERSE = "SuggestionAnswersColorReverse";
|
||||
public static final String SUPPRESS_TOOLBAR_CAPTURES_AT_GESTURE_END =
|
||||
"SuppressToolbarCapturesAtGestureEnd";
|
||||
@@ -610,31 +632,36 @@ public abstract class ChromeFeatureList {
|
||||
public static final String TAB_GROUP_ENTRY_POINTS_ANDROID = "TabGroupEntryPointsAndroid";
|
||||
public static final String TAB_GROUP_PARITY_BOTTOM_SHEET_ANDROID =
|
||||
"TabGroupParityBottomSheetAndroid";
|
||||
public static final String TAB_STATE_FLAT_BUFFER = "TabStateFlatBuffer";
|
||||
public static final String TAB_STRIP_CONTEXT_MENU = "TabStripContextMenuAndroid";
|
||||
public static final String TAB_MODEL_INIT_FIXES = "TabModelInitFixes";
|
||||
public static final String TAB_STORAGE_SQLITE_PROTOTYPE = "TabStorageSqlitePrototype";
|
||||
public static final String TAB_STRIP_AUTO_SELECT_ON_CLOSE_CHANGE =
|
||||
"TabStripAutoSelectOnCloseChange";
|
||||
public static final String TAB_STRIP_DENSITY_CHANGE_ANDROID = "TabStripDensityChangeAndroid";
|
||||
public static final String TAB_STRIP_GROUP_DRAG_DROP_ANDROID = "TabStripGroupDragDropAndroid";
|
||||
public static final String TAB_STRIP_GROUP_REORDER = "TabStripGroupReorderAndroid";
|
||||
public static final String TAB_STRIP_INCOGNITO_MIGRATION = "TabStripIncognitoMigration";
|
||||
public static final String TAB_STRIP_LAYOUT_OPTIMIZATION = "TabStripLayoutOptimization";
|
||||
public static final String TAB_STRIP_MOUSE_CLOSE_RESIZE_DELAY = "TabStripMouseCloseResizeDelay";
|
||||
public static final String TAB_STRIP_TRANSITION_IN_DESKTOP_WINDOW =
|
||||
"TabStripTransitionInDesktopWindow";
|
||||
public static final String TAB_SWITCHER_COLOR_BLEND_ANIMATE = "TabSwitcherColorBlendAnimate";
|
||||
public static final String TAB_SWITCHER_DRAG_DROP_ANDROID = "TabSwitcherDragDropAndroid";
|
||||
public static final String TAB_SWITCHER_FOREIGN_FAVICON_SUPPORT =
|
||||
"TabSwitcherForeignFaviconSupport";
|
||||
public static final String TAB_SWITCHER_GROUP_SUGGESTIONS_ANDROID =
|
||||
"TabSwitcherGroupSuggestionsAndroid";
|
||||
public static final String TAB_SWITCHER_GROUP_SUGGESTIONS_TEST_MODE_ANDROID =
|
||||
"TabSwitcherGroupSuggestionsTestModeAndroid";
|
||||
public static final String TAB_SWITCHER_FOREIGN_FAVICON_SUPPORT =
|
||||
"TabSwitcherForeignFaviconSupport";
|
||||
public static final String TAB_WINDOW_MANAGER_REPORT_INDICES_MISMATCH =
|
||||
"TabWindowManagerReportIndicesMismatch";
|
||||
public static final String TASK_MANAGER_CLANK = "TaskManagerClank";
|
||||
public static final String TEST_DEFAULT_DISABLED = "TestDefaultDisabled";
|
||||
public static final String TEST_DEFAULT_ENABLED = "TestDefaultEnabled";
|
||||
public static final String THIRD_PARTY_DISABLE_CHROME_AUTOFILL_SETTINGS_SCREEN =
|
||||
"ThirdPartyDisableChromeAutofillSettingsScreen";
|
||||
public static final String TINKER_TANK_BOTTOM_SHEET = "TinkerTankBottomSheet";
|
||||
public static final String TOOLBAR_PHONE_ANIMATION_REFACTOR = "ToolbarPhoneAnimationRefactor";
|
||||
public static final String TOOLBAR_TABLET_RESIZE_REFACTOR = "ToolbarTabletResizeRefactor";
|
||||
public static final String TOOLBAR_SCROLL_ABLATION = "AndroidToolbarScrollAblation";
|
||||
public static final String TOOLBAR_SNAPSHOT_REFACTOR = "ToolbarSnapshotRefactor";
|
||||
public static final String TOP_CONTROLS_REFACTOR = "TopControlsRefactor";
|
||||
public static final String TOUCH_TO_SEARCH_CALLOUT = "TouchToSearchCallout";
|
||||
public static final String TRACE_BINDER_IPC = "TraceBinderIpc";
|
||||
@@ -681,19 +708,25 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sAndroidAppIntegrationModule =
|
||||
newCachedFlag(ANDROID_APP_INTEGRATION_MODULE, true);
|
||||
public static final CachedFlag sAndroidAppIntegrationMultiDataSource =
|
||||
newCachedFlag(ANDROID_APP_INTEGRATION_MULTI_DATA_SOURCE, false, true);
|
||||
newCachedFlag(ANDROID_APP_INTEGRATION_MULTI_DATA_SOURCE, true);
|
||||
public static final CachedFlag sAndroidAppIntegrationV2 =
|
||||
newCachedFlag(ANDROID_APP_INTEGRATION_V2, true);
|
||||
public static final CachedFlag sAndroidAppIntegrationWithFavicon =
|
||||
newCachedFlag(ANDROID_APP_INTEGRATION_WITH_FAVICON, true);
|
||||
public static final CachedFlag sAndroidBottomToolbar =
|
||||
newCachedFlag(ANDROID_BOTTOM_TOOLBAR, false, true);
|
||||
newCachedFlag(ANDROID_BOTTOM_TOOLBAR, true, true);
|
||||
public static final CachedFlag sAndroidBottomToolbarV2 =
|
||||
newCachedFlag(ANDROID_BOTTOM_TOOLBAR_V2, false, false);
|
||||
public static final CachedFlag sAndroidComposeplate =
|
||||
newCachedFlag(ANDROID_COMPOSEPLATE, false, true);
|
||||
public static final CachedFlag sAndroidDataImporterService =
|
||||
newCachedFlag(ANDROID_DATA_IMPORTER_SERVICE, true);
|
||||
public static final CachedFlag sAndroidElegantTextHeight =
|
||||
newCachedFlag(ANDROID_ELEGANT_TEXT_HEIGHT, true);
|
||||
public static final CachedFlag sAndroidMinimalUiLargeScreen =
|
||||
newCachedFlag(ANDROID_MINIMAL_UI_LARGE_SCREEN, false, true);
|
||||
newCachedFlag(ANDROID_MINIMAL_UI_LARGE_SCREEN, true);
|
||||
public static final CachedFlag sAndroidOpenIncognitoAsWindow =
|
||||
newCachedFlag(ANDROID_OPEN_INCOGNITO_AS_WINDOW, false);
|
||||
public static final CachedFlag sAndroidProgressBarVisualUpdate =
|
||||
newCachedFlag(
|
||||
ANDROID_PROGRESS_BAR_VISUAL_UPDATE,
|
||||
@@ -713,20 +746,29 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(ANDROID_TAB_SKIP_SAVE_TABS_TASK_KILLSWITCH, true, true);
|
||||
public static final CachedFlag sAndroidThemeModule =
|
||||
newCachedFlag(ANDROID_THEME_MODULE, false, /* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sAndroidUseAdminsForEnterpriseInfo =
|
||||
newCachedFlag(
|
||||
ANDROID_USE_ADMINS_FOR_ENTERPRISE_INFO,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sAndroidWebAppLaunchHandler =
|
||||
newCachedFlag(ANDROID_WEB_APP_LAUNCH_HANDLER, false, true);
|
||||
public static final CachedFlag sAndroidWindowPopupLargeScreen =
|
||||
newCachedFlag(ANDROID_WINDOW_POPUP_LARGE_SCREEN, false);
|
||||
newCachedFlag(ANDROID_WINDOW_POPUP_LARGE_SCREEN, false, true);
|
||||
public static final CachedFlag sAndroidWindowPopupResizeAfterSpawn =
|
||||
newCachedFlag(ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN, false);
|
||||
public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true);
|
||||
public static final CachedFlag sAppSpecificHistoryViewIntent =
|
||||
newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true);
|
||||
public static final CachedFlag sAsyncNotificationManager =
|
||||
newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true);
|
||||
public static final CachedFlag sAsyncNotificationManagerForDownload =
|
||||
newCachedFlag(ASYNC_NOTIFICATION_MANAGER_FOR_DOWNLOAD, false, true);
|
||||
newCachedFlag(ASYNC_NOTIFICATION_MANAGER_FOR_DOWNLOAD, true);
|
||||
public static final CachedFlag sAutomotiveBackButtonBarStreamline =
|
||||
newCachedFlag(AUTOMOTIVE_BACK_BUTTON_BAR_STREAMLINE, false);
|
||||
public static final CachedFlag sBackgroundThreadPoolFieldTrial =
|
||||
newCachedFlag(BACKGROUND_THREAD_POOL_FIELD_TRIAL, false);
|
||||
public static final CachedFlag sBatchTabRestore =
|
||||
newCachedFlag(
|
||||
BATCH_TAB_RESTORE, /* defaultValue= */ false, /* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sBatchTabRestore = newCachedFlag(BATCH_TAB_RESTORE, true);
|
||||
public static final CachedFlag sBlockIntentsWhileLocked =
|
||||
newCachedFlag(BLOCK_INTENTS_WHILE_LOCKED, false);
|
||||
public static final CachedFlag sBookmarkPaneAndroid =
|
||||
@@ -735,7 +777,11 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(BROWSER_CONTROLS_DEBUGGING, false);
|
||||
public static final CachedFlag sCacheIsMultiInstanceApi31Enabled =
|
||||
newCachedFlag(CACHE_IS_MULTI_INSTANCE_API_31_ENABLED, true);
|
||||
public static final CachedFlag sCctAdaptiveButton = newCachedFlag(CCT_ADAPTIVE_BUTTON, false);
|
||||
public static final CachedFlag sCctAdaptiveButton =
|
||||
newCachedFlag(
|
||||
CCT_ADAPTIVE_BUTTON,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sCctAuthTab = newCachedFlag(CCT_AUTH_TAB, true);
|
||||
public static final CachedFlag sCctAuthTabDisableAllExternalIntents =
|
||||
newCachedFlag(CCT_AUTH_TAB_DISABLE_ALL_EXTERNAL_INTENTS, false);
|
||||
@@ -744,12 +790,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sCctAutoTranslate = newCachedFlag(CCT_AUTO_TRANSLATE, true);
|
||||
public static final CachedFlag sCctBlockTouchesDuringEnterAnimation =
|
||||
newCachedFlag(CCT_BLOCK_TOUCHES_DURING_ENTER_ANIMATION, true);
|
||||
public static final CachedFlag sCctEphemeralMediaViewerExperiment =
|
||||
newCachedFlag(
|
||||
CCT_EPHEMERAL_MEDIA_VIEWER_EXPERIMENT,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sCctEphemeralMode = newCachedFlag(CCT_EPHEMERAL_MODE, true);
|
||||
public static final CachedFlag sCctContextualMenuItems =
|
||||
newCachedFlag(CCT_CONTEXTUAL_MENU_ITEMS, false);
|
||||
public static final CachedFlag sCctFixWarmup =
|
||||
newCachedFlag(
|
||||
CCT_FIX_WARMUP, /* defaultValue= */ false, /* defaultValueInTests= */ true);
|
||||
@@ -763,9 +805,6 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(CCT_GOOGLE_BOTTOM_BAR_VARIANT_LAYOUTS, false);
|
||||
public static final CachedFlag sCctIncognitoAvailableToThirdParty =
|
||||
newCachedFlag(CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false);
|
||||
public static final CachedFlag sCctIntentFeatureOverrides =
|
||||
newCachedFlag(CCT_INTENT_FEATURE_OVERRIDES, true);
|
||||
public static final CachedFlag sCctMinimized = newCachedFlag(CCT_MINIMIZED, true);
|
||||
public static final CachedFlag sCctNavigationalPrefetch =
|
||||
newCachedFlag(
|
||||
CCT_NAVIGATIONAL_PREFETCH,
|
||||
@@ -793,6 +832,8 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(CCT_REVAMPED_BRANDING, true);
|
||||
public static final CachedFlag sCctTabModalDialog = newCachedFlag(CCT_TAB_MODAL_DIALOG, true);
|
||||
public static final CachedFlag sCctToolbarRefactor = newCachedFlag(CCT_TOOLBAR_REFACTOR, false);
|
||||
public static final CachedFlag sCctResetTimeoutEnabled =
|
||||
newCachedFlag(CCT_RESET_TIMEOUT_ENABLED, false);
|
||||
public static final CachedFlag sClampAutomotiveScaling =
|
||||
newCachedFlag(CLAMP_AUTOMOTIVE_SCALING, true);
|
||||
public static final CachedFlag sClankStartupLatencyInjection =
|
||||
@@ -821,15 +862,12 @@ public abstract class ChromeFeatureList {
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sDisplayEdgeToEdgeFullscreen =
|
||||
newCachedFlag(DISPLAY_EDGE_TO_EDGE_FULLSCREEN, false, true);
|
||||
public static final CachedFlag sDrawKeyNativeEdgeToEdge =
|
||||
newCachedFlag(DRAW_KEY_NATIVE_EDGE_TO_EDGE, true);
|
||||
public static final CachedFlag sDrawChromePagesEdgeToEdge =
|
||||
newCachedFlag(DRAW_CHROME_PAGES_EDGE_TO_EDGE, /* defaultValue= */ true);
|
||||
public static final CachedFlag sEdgeToEdgeBottomChin =
|
||||
newCachedFlag(EDGE_TO_EDGE_BOTTOM_CHIN, /* defaultValue= */ true);
|
||||
public static final CachedFlag sEdgeToEdgeDebugging =
|
||||
newCachedFlag(
|
||||
EDGE_TO_EDGE_DEBUGGING,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
newCachedFlag(EDGE_TO_EDGE_DEBUGGING, /* defaultValue= */ false);
|
||||
public static final CachedFlag sEdgeToEdgeEverywhere =
|
||||
newCachedFlag(
|
||||
EDGE_TO_EDGE_EVERYWHERE,
|
||||
@@ -837,9 +875,13 @@ public abstract class ChromeFeatureList {
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sEdgeToEdgeMonitorConfigurations =
|
||||
newCachedFlag(EDGE_TO_EDGE_MONITOR_CONFIGURATIONS, /* defaultValue= */ true);
|
||||
public static final CachedFlag sEdgeToEdgeTablet = newCachedFlag(EDGE_TO_EDGE_TABLET, false);
|
||||
public static final CachedFlag sEdgeToEdgeWebOptIn =
|
||||
newCachedFlag(EDGE_TO_EDGE_WEB_OPT_IN, true);
|
||||
public static final CachedFlag sEdgeToEdgeTablet =
|
||||
newCachedFlag(
|
||||
EDGE_TO_EDGE_TABLET,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sEdgeToEdgeUseBackupNavbarInsets =
|
||||
newCachedFlag(EDGE_TO_EDGE_USE_BACKUP_NAVBAR_INSETS, true);
|
||||
public static final CachedFlag sEducationalTipDefaultBrowserPromoCard =
|
||||
newCachedFlag(EDUCATIONAL_TIP_DEFAULT_BROWSER_PROMO_CARD, false);
|
||||
public static final CachedFlag sEducationalTipModule =
|
||||
@@ -848,6 +890,8 @@ public abstract class ChromeFeatureList {
|
||||
newCachedFlag(ENABLE_DISCOUNT_INFO_API, false, true);
|
||||
public static final CachedFlag sEnableExclusiveAccessManager =
|
||||
newCachedFlag(ENABLE_EXCLUSIVE_ACCESS_MANAGER, false);
|
||||
public static final CachedFlag sEnableFullscreenToAnyScreenAndroid =
|
||||
newCachedFlag(ENABLE_FULLSCREEN_TO_ANY_SCREEN_ANDROID, false);
|
||||
public static final CachedFlag sEnableXAxisActivityTransition =
|
||||
newCachedFlag(ENABLE_X_AXIS_ACTIVITY_TRANSITION, false);
|
||||
public static final CachedFlag sFloatingSnackbar = newCachedFlag(FLOATING_SNACKBAR, true);
|
||||
@@ -864,9 +908,11 @@ public abstract class ChromeFeatureList {
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sGridTabSwitcherUpdate =
|
||||
newCachedFlag(GRID_TAB_SWITCHER_UPDATE, false, /* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sHideTabletToolbarDownloadButton =
|
||||
newCachedFlag(HIDE_TABLET_TOOLBAR_DOWNLOAD_BUTTON, true);
|
||||
public static final CachedFlag sHistoryPaneAndroid = newCachedFlag(HISTORY_PANE_ANDROID, false);
|
||||
public static final CachedFlag sHistoryPaneAndroid =
|
||||
newCachedFlag(
|
||||
HISTORY_PANE_ANDROID,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sHomepageIsNewTabPagePolicyAndroid =
|
||||
newCachedFlag(HOMEPAGE_IS_NEW_TAB_PAGE_POLICY_ANDROID, false);
|
||||
public static final CachedFlag sKeyboardEscBackNavigation =
|
||||
@@ -884,7 +930,9 @@ public abstract class ChromeFeatureList {
|
||||
MALICIOUS_APK_DOWNLOAD_CHECK,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sMiniOriginBar = newCachedFlag(MINI_ORIGIN_BAR, false, true);
|
||||
public static final CachedFlag sMiniOriginBar = newCachedFlag(MINI_ORIGIN_BAR, true, true);
|
||||
public static final CachedFlag sMitigateLegacySearchEnginePromoOverlap =
|
||||
newCachedFlag(MITIGATE_LEGACY_SEARCH_ENGINE_PROMO_OVERLAP, false, true);
|
||||
public static final CachedFlag sMostVisitedTilesCustomization =
|
||||
newCachedFlag(
|
||||
MOST_VISITED_TILES_CUSTOMIZATION,
|
||||
@@ -900,18 +948,13 @@ public abstract class ChromeFeatureList {
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sNavBarColorAnimation =
|
||||
newCachedFlag(
|
||||
NAV_BAR_COLOR_ANIMATION,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sNavBarColorMatchesTabBackground =
|
||||
newCachedFlag(NAV_BAR_COLOR_MATCHES_TAB_BACKGROUND, true);
|
||||
newCachedFlag(NAV_BAR_COLOR_ANIMATION, /* defaultValue= */ true);
|
||||
public static final CachedFlag sNewTabPageAndroidTriggerForPrerender2 =
|
||||
newCachedFlag(NEW_TAB_PAGE_ANDROID_TRIGGER_FOR_PRERENDER2, true);
|
||||
public static final CachedFlag sNewTabPageCustomization =
|
||||
newCachedFlag(NEW_TAB_PAGE_CUSTOMIZATION, false, true);
|
||||
public static final CachedFlag sNewTabPageCustomizationForMvt =
|
||||
newCachedFlag(NEW_TAB_PAGE_CUSTOMIZATION_FOR_MVT, false);
|
||||
newCachedFlag(NEW_TAB_PAGE_CUSTOMIZATION_FOR_MVT, false, true);
|
||||
public static final CachedFlag sNewTabPageCustomizationToolbarButton =
|
||||
newCachedFlag(NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON, false);
|
||||
public static final CachedFlag sNewTabPageCustomizationV2 =
|
||||
@@ -949,27 +992,25 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sSearchInCCTAlternateTapHandlingIfEnabledByEmbedder =
|
||||
newCachedFlag(SEARCH_IN_CCT_ALTERNATE_TAP_HANDLING_IF_ENABLED_BY_EMBEDDER, true);
|
||||
public static final CachedFlag sSettingsSingleActivity =
|
||||
newCachedFlag(SETTINGS_SINGLE_ACTIVITY, false);
|
||||
public static final CachedFlag sShowHomeButtonPolicyAndroid =
|
||||
newCachedFlag(SHOW_HOME_BUTTON_POLICY_ANDROID, false);
|
||||
public static final CachedFlag sSkipIsolatedSplitPreload =
|
||||
newCachedFlag(
|
||||
SKIP_ISOLATED_SPLIT_PRELOAD,
|
||||
SETTINGS_SINGLE_ACTIVITY,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sShowHomeButtonPolicyAndroid =
|
||||
newCachedFlag(SHOW_HOME_BUTTON_POLICY_ANDROID, true);
|
||||
public static final CachedFlag sSmallerTabStripTitleLimit =
|
||||
newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, true);
|
||||
public static final CachedFlag sStartSurfaceReturnTime =
|
||||
newCachedFlag(START_SURFACE_RETURN_TIME, true);
|
||||
public static final CachedFlag sTabClosureMethodRefactor =
|
||||
newCachedFlag(TAB_CLOSURE_METHOD_REFACTOR, false);
|
||||
public static final CachedFlag sTabStateFlatBuffer =
|
||||
public static final CachedFlag sTabModelInitFixes =
|
||||
newCachedFlag(
|
||||
TAB_STATE_FLAT_BUFFER,
|
||||
/* defaultValue= */ true,
|
||||
TAB_MODEL_INIT_FIXES,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sTabStripDensityChangeAndroid =
|
||||
newCachedFlag(TAB_STRIP_DENSITY_CHANGE_ANDROID, false);
|
||||
newCachedFlag(TAB_STRIP_DENSITY_CHANGE_ANDROID, true);
|
||||
public static final CachedFlag sTabStripIncognitoMigration =
|
||||
newCachedFlag(
|
||||
TAB_STRIP_INCOGNITO_MIGRATION,
|
||||
@@ -978,7 +1019,7 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sTabStripLayoutOptimization =
|
||||
newCachedFlag(
|
||||
TAB_STRIP_LAYOUT_OPTIMIZATION,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValue= */ true,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sTabWindowManagerReportIndicesMismatch =
|
||||
newCachedFlag(TAB_WINDOW_MANAGER_REPORT_INDICES_MISMATCH, true);
|
||||
@@ -990,6 +1031,11 @@ public abstract class ChromeFeatureList {
|
||||
public static final CachedFlag sTestDefaultDisabled =
|
||||
newCachedFlag(TEST_DEFAULT_DISABLED, false);
|
||||
public static final CachedFlag sTestDefaultEnabled = newCachedFlag(TEST_DEFAULT_ENABLED, true);
|
||||
public static final CachedFlag sToolbarSnapshotRefactor =
|
||||
newCachedFlag(
|
||||
TOOLBAR_SNAPSHOT_REFACTOR,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sTopControlsRefactor =
|
||||
newCachedFlag(
|
||||
TOP_CONTROLS_REFACTOR,
|
||||
@@ -1000,7 +1046,9 @@ public abstract class ChromeFeatureList {
|
||||
TOUCH_TO_SEARCH_CALLOUT,
|
||||
/* defaultValue= */ false,
|
||||
/* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sTraceBinderIpc = newCachedFlag(TRACE_BINDER_IPC, false);
|
||||
public static final CachedFlag sTraceBinderIpc =
|
||||
newCachedFlag(
|
||||
TRACE_BINDER_IPC, /* defaultValue= */ false, /* defaultValueInTests= */ true);
|
||||
public static final CachedFlag sUseActivityManagerForTabActivation =
|
||||
newCachedFlag(USE_ACTIVITY_MANAGER_FOR_TAB_ACTIVATION, true);
|
||||
public static final CachedFlag sUseChimeAndroidSdk =
|
||||
@@ -1025,19 +1073,26 @@ public abstract class ChromeFeatureList {
|
||||
sAndroidAppIntegrationV2,
|
||||
sAndroidAppIntegrationWithFavicon,
|
||||
sAndroidBottomToolbar,
|
||||
sAndroidBottomToolbarV2,
|
||||
sAndroidComposeplate,
|
||||
sAndroidDataImporterService,
|
||||
sAndroidElegantTextHeight,
|
||||
sAndroidMinimalUiLargeScreen,
|
||||
sAndroidOpenIncognitoAsWindow,
|
||||
sAndroidProgressBarVisualUpdate,
|
||||
sAndroidSurfaceColorUpdate,
|
||||
sAndroidTabDeclutterDedupeTabIdsKillSwitch,
|
||||
sAndroidTabGroupsColorUpdateGm3,
|
||||
sAndroidTabSkipSaveTabsKillswitch,
|
||||
sAndroidThemeModule,
|
||||
sAndroidUseAdminsForEnterpriseInfo,
|
||||
sAndroidWebAppLaunchHandler,
|
||||
sAndroidWindowPopupLargeScreen,
|
||||
sAndroidWindowPopupResizeAfterSpawn,
|
||||
sAppSpecificHistory,
|
||||
sAppSpecificHistoryViewIntent,
|
||||
sAsyncNotificationManager,
|
||||
sAutomotiveBackButtonBarStreamline,
|
||||
sBackgroundThreadPoolFieldTrial,
|
||||
sBatchTabRestore,
|
||||
sBlockIntentsWhileLocked,
|
||||
@@ -1050,15 +1105,12 @@ public abstract class ChromeFeatureList {
|
||||
sCctAuthTabEnableHttpsRedirects,
|
||||
sCctAutoTranslate,
|
||||
sCctBlockTouchesDuringEnterAnimation,
|
||||
sCctEphemeralMediaViewerExperiment,
|
||||
sCctEphemeralMode,
|
||||
sCctContextualMenuItems,
|
||||
sCctFixWarmup,
|
||||
sCctFreInSameTask,
|
||||
sCctGoogleBottomBar,
|
||||
sCctGoogleBottomBarVariantLayouts,
|
||||
sCctIncognitoAvailableToThirdParty,
|
||||
sCctIntentFeatureOverrides,
|
||||
sCctMinimized,
|
||||
sCctNavigationalPrefetch,
|
||||
sCctNestedSecurityIcon,
|
||||
sCctOpenInBrowserButtonIfAllowedByEmbedder,
|
||||
@@ -1069,6 +1121,7 @@ public abstract class ChromeFeatureList {
|
||||
sCctRevampedBranding,
|
||||
sCctTabModalDialog,
|
||||
sCctToolbarRefactor,
|
||||
sCctResetTimeoutEnabled,
|
||||
sClampAutomotiveScaling,
|
||||
sClankStartupLatencyInjection,
|
||||
sCollectAndroidFrameTimelineMetrics,
|
||||
@@ -1078,17 +1131,18 @@ public abstract class ChromeFeatureList {
|
||||
sCrossDeviceTabPaneAndroid,
|
||||
sDisableInstanceLimit,
|
||||
sDisplayEdgeToEdgeFullscreen,
|
||||
sDrawKeyNativeEdgeToEdge,
|
||||
sDrawChromePagesEdgeToEdge,
|
||||
sEdgeToEdgeBottomChin,
|
||||
sEdgeToEdgeDebugging,
|
||||
sEdgeToEdgeEverywhere,
|
||||
sEdgeToEdgeMonitorConfigurations,
|
||||
sEdgeToEdgeTablet,
|
||||
sEdgeToEdgeWebOptIn,
|
||||
sEdgeToEdgeUseBackupNavbarInsets,
|
||||
sEducationalTipDefaultBrowserPromoCard,
|
||||
sEducationalTipModule,
|
||||
sEnableDiscountInfoApi,
|
||||
sEnableExclusiveAccessManager,
|
||||
sEnableFullscreenToAnyScreenAndroid,
|
||||
sEnableXAxisActivityTransition,
|
||||
sFloatingSnackbar,
|
||||
sForceTranslucentNotificationTrampoline,
|
||||
@@ -1096,7 +1150,6 @@ public abstract class ChromeFeatureList {
|
||||
sFullscreenInsetsApiMigrationOnAutomotive,
|
||||
sGridTabSwitcherSurfaceColorUpdate,
|
||||
sGridTabSwitcherUpdate,
|
||||
sHideTabletToolbarDownloadButton,
|
||||
sHistoryPaneAndroid,
|
||||
sHomepageIsNewTabPagePolicyAndroid,
|
||||
sKeyboardEscBackNavigation,
|
||||
@@ -1105,12 +1158,12 @@ public abstract class ChromeFeatureList {
|
||||
sMagicStackAndroid,
|
||||
sMaliciousApkDownloadCheck,
|
||||
sMiniOriginBar,
|
||||
sMitigateLegacySearchEnginePromoOverlap,
|
||||
sMostVisitedTilesCustomization,
|
||||
sMostVisitedTilesReselect,
|
||||
sMultiInstanceApplicationStatusCleanup,
|
||||
sMvcUpdateViewWhenModelChanged,
|
||||
sNavBarColorAnimation,
|
||||
sNavBarColorMatchesTabBackground,
|
||||
sNewTabPageAndroidTriggerForPrerender2,
|
||||
sNewTabPageCustomization,
|
||||
sNewTabPageCustomizationForMvt,
|
||||
@@ -1133,16 +1186,16 @@ public abstract class ChromeFeatureList {
|
||||
sSearchInCCTAlternateTapHandlingIfEnabledByEmbedder,
|
||||
sSettingsSingleActivity,
|
||||
sShowHomeButtonPolicyAndroid,
|
||||
sSkipIsolatedSplitPreload,
|
||||
sSmallerTabStripTitleLimit,
|
||||
sStartSurfaceReturnTime,
|
||||
sTabClosureMethodRefactor,
|
||||
sTabStateFlatBuffer,
|
||||
sTabModelInitFixes,
|
||||
sTabStripDensityChangeAndroid,
|
||||
sTabStripIncognitoMigration,
|
||||
sTabStripLayoutOptimization,
|
||||
sTabWindowManagerReportIndicesMismatch,
|
||||
sTabletTabStripAnimation,
|
||||
sToolbarSnapshotRefactor,
|
||||
sTopControlsRefactor,
|
||||
sTouchToSearchCallout,
|
||||
sTraceBinderIpc,
|
||||
@@ -1173,8 +1226,6 @@ public abstract class ChromeFeatureList {
|
||||
newMutableFlagWithSafeDefault(ANDROID_APPEARANCE_SETTINGS, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidBookmarkBar =
|
||||
newMutableFlagWithSafeDefault(ANDROID_BOOKMARK_BAR, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidDumpOnScrollWithoutResource =
|
||||
newMutableFlagWithSafeDefault(ANDROID_DUMP_ON_SCROLL_WITHOUT_RESOURCE, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidNativePagesInNewTab =
|
||||
newMutableFlagWithSafeDefault(ANDROID_NATIVE_PAGES_IN_NEW_TAB, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidPinnedTabs =
|
||||
@@ -1185,8 +1236,6 @@ public abstract class ChromeFeatureList {
|
||||
ANDROID_SHOW_RESTORE_TABS_PROMO_ON_FRE_BYPASSED_KILL_SWITCH, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveAllButActiveTab =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_ARCHIVE_ALL_BUT_ACTIVE, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveDuplicateTabs =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_ARCHIVE_DUPLICATE_TABS, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterArchiveTabGroups =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_ARCHIVE_TAB_GROUPS, false);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterAutoDelete =
|
||||
@@ -1194,33 +1243,37 @@ public abstract class ChromeFeatureList {
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterAutoDeleteKillSwitch =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_AUTO_DELETE_KILL_SWITCH, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterPerformanceImprovements =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_PERFORMANCE_IMPROVEMENTS, false);
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_PERFORMANCE_IMPROVEMENTS, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabDeclutterRescueKillSwitch =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_DECLUTTER_RESCUE_KILLSWITCH, true);
|
||||
public static final MutableFlagWithSafeDefault sAndroidTabHighlighting =
|
||||
newMutableFlagWithSafeDefault(ANDROID_TAB_HIGHLIGHTING, false);
|
||||
public static final MutableFlagWithSafeDefault sBcivBottomControls =
|
||||
newMutableFlagWithSafeDefault(BCIV_BOTTOM_CONTROLS, true);
|
||||
public static final MutableFlagWithSafeDefault sBottomBrowserControlsRefactor =
|
||||
newMutableFlagWithSafeDefault(BOTTOM_BROWSER_CONTROLS_REFACTOR, true);
|
||||
public static final MutableFlagWithSafeDefault sBrowserControlsEarlyResize =
|
||||
newMutableFlagWithSafeDefault(BROWSER_CONTROLS_EARLY_RESIZE, false);
|
||||
public static final MutableFlagWithSafeDefault sBrowserControlsInViz =
|
||||
newMutableFlagWithSafeDefault(BROWSER_CONTROLS_IN_VIZ, true);
|
||||
public static final MutableFlagWithSafeDefault sChromeNativeUrlOverriding =
|
||||
newMutableFlagWithSafeDefault(CHROME_NATIVE_URL_OVERRIDING, false);
|
||||
public static final MutableFlagWithSafeDefault sClearBrowsingDataAndroidSurvey =
|
||||
newMutableFlagWithSafeDefault(CLEAR_BROWSING_DATA_ANDROID_SURVEY, false);
|
||||
public static final MutableFlagWithSafeDefault sControlsVisibilityFromNavigations =
|
||||
newMutableFlagWithSafeDefault(CONTROLS_VISIBILITY_FROM_NAVIGATIONS, true);
|
||||
public static final MutableFlagWithSafeDefault sDynamicSafeAreaInsets =
|
||||
newMutableFlagWithSafeDefault(DYNAMIC_SAFE_AREA_INSETS, false);
|
||||
public static final MutableFlagWithSafeDefault sEdgeToEdgeSafeAreaConstraint =
|
||||
newMutableFlagWithSafeDefault(EDGE_TO_EDGE_SAFE_AREA_CONSTRAINT, true);
|
||||
// Defaulted to true in native, but since it is being used as a kill switch set the default
|
||||
// value pre-native to false as it is safer if the feature needs to be killed via Finch config.
|
||||
public static final MutableFlagWithSafeDefault sEmptyTabListAnimationKillSwitch =
|
||||
newMutableFlagWithSafeDefault(EMPTY_TAB_LIST_ANIMATION_KILL_SWITCH, false);
|
||||
public static final MutableFlagWithSafeDefault sForceBrowserControlsUponExitingFullscreen =
|
||||
newMutableFlagWithSafeDefault(FORCE_BROWSER_CONTROLS_UPON_EXITING_FULLSCREEN, true);
|
||||
public static final MutableFlagWithSafeDefault sHubBackButton =
|
||||
newMutableFlagWithSafeDefault(HUB_BACK_BUTTON, false);
|
||||
public static final MutableFlagWithSafeDefault sHubSlideAnimation =
|
||||
newMutableFlagWithSafeDefault(HUB_SLIDE_ANIMATION, true);
|
||||
public static final MutableFlagWithSafeDefault sIncognitoScreenshot =
|
||||
newMutableFlagWithSafeDefault(INCOGNITO_SCREENSHOT, false);
|
||||
public static final MutableFlagWithSafeDefault sMediaIndicatorsAndroid =
|
||||
newMutableFlagWithSafeDefault(MEDIA_INDICATORS_ANDROID, false);
|
||||
public static final MutableFlagWithSafeDefault sNoVisibleHintForDifferentTLD =
|
||||
newMutableFlagWithSafeDefault(ANDROID_NO_VISIBLE_HINT_FOR_DIFFERENT_TLD, true);
|
||||
public static final MutableFlagWithSafeDefault sQuickDeleteAndroidSurvey =
|
||||
@@ -1258,8 +1311,8 @@ public abstract class ChromeFeatureList {
|
||||
newMutableFlagWithSafeDefault(TAB_GROUP_ENTRY_POINTS_ANDROID, false);
|
||||
public static final MutableFlagWithSafeDefault sTabGroupParityBottomSheetAndroid =
|
||||
newMutableFlagWithSafeDefault(TAB_GROUP_PARITY_BOTTOM_SHEET_ANDROID, false);
|
||||
public static final MutableFlagWithSafeDefault sTabSwitcherColorBlendAnimate =
|
||||
newMutableFlagWithSafeDefault(TAB_SWITCHER_COLOR_BLEND_ANIMATE, true);
|
||||
public static final MutableFlagWithSafeDefault sTabStorageSqlitePrototype =
|
||||
newMutableFlagWithSafeDefault(TAB_STORAGE_SQLITE_PROTOTYPE, false);
|
||||
public static final MutableFlagWithSafeDefault sTabSwitcherGroupSuggestionsAndroid =
|
||||
newMutableFlagWithSafeDefault(TAB_SWITCHER_GROUP_SUGGESTIONS_ANDROID, false);
|
||||
public static final MutableFlagWithSafeDefault sTabSwitcherGroupSuggestionsTestModeAndroid =
|
||||
@@ -1268,6 +1321,8 @@ public abstract class ChromeFeatureList {
|
||||
newMutableFlagWithSafeDefault(TAB_SWITCHER_FOREIGN_FAVICON_SUPPORT, true);
|
||||
public static final MutableFlagWithSafeDefault sToolbarPhoneAnimationRefactor =
|
||||
newMutableFlagWithSafeDefault(TOOLBAR_PHONE_ANIMATION_REFACTOR, false);
|
||||
public static final MutableFlagWithSafeDefault sToolbarTabletResizeRefactor =
|
||||
newMutableFlagWithSafeDefault(TOOLBAR_TABLET_RESIZE_REFACTOR, false);
|
||||
public static final MutableFlagWithSafeDefault sToolbarScrollAblation =
|
||||
newMutableFlagWithSafeDefault(TOOLBAR_SCROLL_ABLATION, false);
|
||||
|
||||
@@ -1372,8 +1427,6 @@ public abstract class ChromeFeatureList {
|
||||
public static final BooleanCachedFeatureParam sCctAutoTranslateAllowAllFirstParties =
|
||||
newBooleanCachedFeatureParam(CCT_AUTO_TRANSLATE, "allow_all_first_parties", false);
|
||||
|
||||
public static final IntCachedFeatureParam sCctMinimizedIconVariant =
|
||||
newIntCachedFeatureParam(CCT_MINIMIZED, "icon_variant", 0);
|
||||
// Devices from this OEM--and potentially others--sometimes crash when we call
|
||||
// `Activity#enterPictureInPictureMode` on Android R. So, we disable the feature on those
|
||||
// devices. See: https://crbug.com/1519164.
|
||||
@@ -1431,6 +1484,9 @@ public abstract class ChromeFeatureList {
|
||||
"google_bottom_bar_variant_is_google_default_search_engine_check_enabled",
|
||||
false);
|
||||
|
||||
public static final IntCachedFeatureParam sCctResetMinimumTimeoutMinutes =
|
||||
newIntCachedFeatureParam(CCT_RESET_TIMEOUT_ENABLED, "minimum_reset_timeout_mins", 1);
|
||||
|
||||
public static final StringCachedFeatureParam sCctResizableForThirdPartiesAllowlistEntries =
|
||||
newStringCachedFeatureParam(CCT_RESIZABLE_FOR_THIRD_PARTIES, "allowlist_entries", "");
|
||||
public static final StringCachedFeatureParam sCctResizableForThirdPartiesDenylistEntries =
|
||||
@@ -1486,29 +1542,6 @@ public abstract class ChromeFeatureList {
|
||||
public static final IntCachedFeatureParam sDisableInstanceLimitMaxCount =
|
||||
newIntCachedFeatureParam(DISABLE_INSTANCE_LIMIT, "max_instance_limit", 20);
|
||||
|
||||
/** Cached param whether we disable e2e on the recent tabs page. */
|
||||
public static final BooleanCachedFeatureParam sDrawKeyNativeEdgeToEdgeDisableRecentTabsE2e =
|
||||
newBooleanCachedFeatureParam(
|
||||
DRAW_KEY_NATIVE_EDGE_TO_EDGE, "disable_recent_tabs_e2e", false);
|
||||
|
||||
/** Cached param whether we disable e2e on the CCT media viewer. */
|
||||
public static final BooleanCachedFeatureParam sDrawKeyNativeEdgeToEdgeDisableCctMediaViewerE2e =
|
||||
newBooleanCachedFeatureParam(
|
||||
DRAW_KEY_NATIVE_EDGE_TO_EDGE, "disable_cct_media_viewer_e2e", false);
|
||||
|
||||
/** Cached param whether we disable e2e on the hub. */
|
||||
public static final BooleanCachedFeatureParam sDrawKeyNativeEdgeToEdgeDisableHubE2e =
|
||||
newBooleanCachedFeatureParam(DRAW_KEY_NATIVE_EDGE_TO_EDGE, "disable_hub_e2e", false);
|
||||
|
||||
/** Cached param whether we disable e2e on new tab page. */
|
||||
public static final BooleanCachedFeatureParam sDrawKeyNativeEdgeToEdgeDisableNtpE2e =
|
||||
newBooleanCachedFeatureParam(DRAW_KEY_NATIVE_EDGE_TO_EDGE, "disable_ntp_e2e", false);
|
||||
|
||||
/** Cached param whether we disable e2e on incognito new tab page. See crbug.com/368675202 */
|
||||
public static final BooleanCachedFeatureParam sDrawKeyNativeEdgeToEdgeDisableIncognitoNtpE2e =
|
||||
newBooleanCachedFeatureParam(
|
||||
DRAW_KEY_NATIVE_EDGE_TO_EDGE, "disable_incognito_ntp_e2e", false);
|
||||
|
||||
/**
|
||||
* Cached param whether we disable animations for color changes to the edge-to-edge bottom chin.
|
||||
*/
|
||||
@@ -1540,6 +1573,12 @@ public abstract class ChromeFeatureList {
|
||||
newStringCachedFeatureParam(
|
||||
EDGE_TO_EDGE_EVERYWHERE, "e2e_field_trial_oem_min_versions", "");
|
||||
|
||||
public static final StringCachedFeatureParam sEdgeToEdgeUseBackupNavbarInsetsOemMinVersions =
|
||||
newStringCachedFeatureParam(
|
||||
EDGE_TO_EDGE_USE_BACKUP_NAVBAR_INSETS,
|
||||
"e2e_backup_navbar_insets_oem_min_versions",
|
||||
"");
|
||||
|
||||
/**
|
||||
* Param for the OEMs that need an exception for min versions. Its value should be a comma
|
||||
* separated list of manufacturer, and its index should match {@link
|
||||
@@ -1552,6 +1591,18 @@ public abstract class ChromeFeatureList {
|
||||
public static final StringCachedFeatureParam sEdgeToEdgeEverywhereOemList =
|
||||
newStringCachedFeatureParam(EDGE_TO_EDGE_EVERYWHERE, "e2e_field_trial_oem_list", "");
|
||||
|
||||
public static final StringCachedFeatureParam sEdgeToEdgeUseBackupNavbarInsetsOemList =
|
||||
newStringCachedFeatureParam(
|
||||
EDGE_TO_EDGE_USE_BACKUP_NAVBAR_INSETS, "e2e_backup_navbar_insets_oem_list", "");
|
||||
|
||||
public static final BooleanCachedFeatureParam sEdgeToEdgeUseBackupNavbarInsetsUseTappable =
|
||||
newBooleanCachedFeatureParam(
|
||||
EDGE_TO_EDGE_USE_BACKUP_NAVBAR_INSETS, "use_tappable_element", true);
|
||||
|
||||
public static final BooleanCachedFeatureParam sEdgeToEdgeUseBackupNavbarInsetsUseGestures =
|
||||
newBooleanCachedFeatureParam(
|
||||
EDGE_TO_EDGE_USE_BACKUP_NAVBAR_INSETS, "use_gesture_insets", true);
|
||||
|
||||
public static final BooleanCachedFeatureParam sEdgeToEdgeEverywhereIsDebugging =
|
||||
newBooleanCachedFeatureParam(EDGE_TO_EDGE_EVERYWHERE, "e2e_everywhere_debug", false);
|
||||
|
||||
@@ -1578,11 +1629,6 @@ public abstract class ChromeFeatureList {
|
||||
newBooleanCachedFeatureParam(MOST_VISITED_TILES_RESELECT, "lax_query", false);
|
||||
public static final BooleanCachedFeatureParam sMostVisitedTilesReselectLaxPath =
|
||||
newBooleanCachedFeatureParam(MOST_VISITED_TILES_RESELECT, "lax_path", false);
|
||||
|
||||
public static final BooleanCachedFeatureParam
|
||||
sNavBarColorMatchesTabBackgroundColorAnimationDisabled =
|
||||
newBooleanCachedFeatureParam(
|
||||
NAV_BAR_COLOR_MATCHES_TAB_BACKGROUND, "color_animation_disabled", true);
|
||||
public static final IntCachedFeatureParam sNotificationTrampolineLongJobDurationMs =
|
||||
newIntCachedFeatureParam(NOTIFICATION_TRAMPOLINE, "long_job_duration_millis", 8 * 1000);
|
||||
public static final IntCachedFeatureParam sNotificationTrampolineNormalJobDurationMs =
|
||||
@@ -1630,8 +1676,6 @@ public abstract class ChromeFeatureList {
|
||||
START_SURFACE_RETURN_TIME,
|
||||
"start_surface_return_time_on_tablet_seconds",
|
||||
14400); // 4 hours
|
||||
public static final BooleanCachedFeatureParam sTabStateFlatBufferMigrateStaleTabs =
|
||||
newBooleanCachedFeatureParam(TAB_STATE_FLAT_BUFFER, "migrate_stale_tabs", true);
|
||||
|
||||
public static final StringCachedFeatureParam sTabStripLayoutOptimizationOemAllowlist =
|
||||
newStringCachedFeatureParam(
|
||||
@@ -1648,7 +1692,9 @@ public abstract class ChromeFeatureList {
|
||||
public static final StringCachedFeatureParam
|
||||
sTabStripLayoutOptimizationOnExternalDisplayOemDenylist =
|
||||
newStringCachedFeatureParam(
|
||||
TAB_STRIP_LAYOUT_OPTIMIZATION, "external_display_oem_denylist", "");
|
||||
TAB_STRIP_LAYOUT_OPTIMIZATION,
|
||||
"external_display_oem_denylist",
|
||||
"samsung");
|
||||
|
||||
public static final IntCachedFeatureParam
|
||||
sTabWindowManagerReportIndicesMismatchTimeDiffThresholdMs =
|
||||
@@ -1664,8 +1710,11 @@ public abstract class ChromeFeatureList {
|
||||
public static final IntCachedFeatureParam sWebApkMinShellApkVersionValue =
|
||||
newIntCachedFeatureParam(WEB_APK_MIN_SHELL_APK_VERSION, "version", 146);
|
||||
|
||||
public static final BooleanCachedFeatureParam sTouchToSearchCalloutTextVariant =
|
||||
newBooleanCachedFeatureParam(TOUCH_TO_SEARCH_CALLOUT, "text_variant", false);
|
||||
public static final BooleanCachedFeatureParam sTouchToSearchCalloutIph =
|
||||
newBooleanCachedFeatureParam(TOUCH_TO_SEARCH_CALLOUT, "iph", false);
|
||||
|
||||
public static final BooleanCachedFeatureParam sTouchToSearchCalloutSnippetAsSubtitle =
|
||||
newBooleanCachedFeatureParam(TOUCH_TO_SEARCH_CALLOUT, "snippet_as_subtitle", false);
|
||||
|
||||
/** All {@link CachedFeatureParam}s of features in this FeatureList */
|
||||
public static final List<CachedFeatureParam<?>> sParamsCached =
|
||||
@@ -1700,7 +1749,7 @@ public abstract class ChromeFeatureList {
|
||||
sCctGoogleBottomBarVariantLayoutsSingleDeckerHeightDp,
|
||||
sCctGoogleBottomBarVariantLayoutsVariantLayout,
|
||||
sCctMinimizedEnabledByDefaultManufacturerExcludeList,
|
||||
sCctMinimizedIconVariant,
|
||||
sCctResetMinimumTimeoutMinutes,
|
||||
sCctResizableForThirdPartiesAllowlistEntries,
|
||||
sCctResizableForThirdPartiesDefaultPolicy,
|
||||
sCctResizableForThirdPartiesDenylistEntries,
|
||||
@@ -1711,15 +1760,14 @@ public abstract class ChromeFeatureList {
|
||||
sDeleteMigratedLegacyTabStateFilesAfterRestore,
|
||||
sDisableInstanceLimitMaxCount,
|
||||
sDisableInstanceLimitMemoryThresholdMb,
|
||||
sDrawKeyNativeEdgeToEdgeDisableCctMediaViewerE2e,
|
||||
sDrawKeyNativeEdgeToEdgeDisableHubE2e,
|
||||
sDrawKeyNativeEdgeToEdgeDisableIncognitoNtpE2e,
|
||||
sDrawKeyNativeEdgeToEdgeDisableNtpE2e,
|
||||
sDrawKeyNativeEdgeToEdgeDisableRecentTabsE2e,
|
||||
sEdgeToEdgeBottomChinOemList,
|
||||
sEdgeToEdgeBottomChinOemMinVersions,
|
||||
sEdgeToEdgeUseBackupNavbarInsetsOemMinVersions,
|
||||
sEdgeToEdgeEverywhereIsDebugging,
|
||||
sEdgeToEdgeEverywhereOemList,
|
||||
sEdgeToEdgeUseBackupNavbarInsetsOemList,
|
||||
sEdgeToEdgeUseBackupNavbarInsetsUseTappable,
|
||||
sEdgeToEdgeUseBackupNavbarInsetsUseGestures,
|
||||
sEdgeToEdgeEverywhereOemMinVersions,
|
||||
sEdgeToEdgeTabletInvisibleBottomChinMinWidth,
|
||||
sEdgeToEdgeTabletMinWidthThreshold,
|
||||
@@ -1732,7 +1780,6 @@ public abstract class ChromeFeatureList {
|
||||
sMostVisitedTilesReselectLaxSchemeHost,
|
||||
sNavBarColorAnimationDisableBottomChinColorAnimation,
|
||||
sNavBarColorAnimationDisableEdgeToEdgeLayoutColorAnimation,
|
||||
sNavBarColorMatchesTabBackgroundColorAnimationDisabled,
|
||||
sNotificationTrampolineImmediateJobDurationMs,
|
||||
sNotificationTrampolineLongJobDurationMs,
|
||||
sNotificationTrampolineNormalJobDurationMs,
|
||||
@@ -1745,13 +1792,13 @@ public abstract class ChromeFeatureList {
|
||||
sSearchinCctOmniboxAllowedPackageNames,
|
||||
sStartSurfaceReturnTimeTabletSecs,
|
||||
sTabGroupListContainment,
|
||||
sTabStateFlatBufferMigrateStaleTabs,
|
||||
sTabStripLayoutOptimizationOemAllowlist,
|
||||
sTabStripLayoutOptimizationOemDenylist,
|
||||
sTabStripLayoutOptimizationOnExternalDisplay,
|
||||
sTabStripLayoutOptimizationOnExternalDisplayOemDenylist,
|
||||
sTabWindowManagerReportIndicesMismatchTimeDiffThresholdMs,
|
||||
sTouchToSearchCalloutTextVariant,
|
||||
sTouchToSearchCalloutIph,
|
||||
sTouchToSearchCalloutSnippetAsSubtitle,
|
||||
sUseChimeAndroidSdkAlwaysRegister,
|
||||
sWebApkMinShellApkVersionValue);
|
||||
|
||||
@@ -1773,16 +1820,17 @@ public abstract class ChromeFeatureList {
|
||||
sAndroidNativePagesInNewTabRecentTabsEnabled =
|
||||
sAndroidNativePagesInNewTab.newBooleanParam(
|
||||
"android_native_pages_in_new_tab_recent_tabs_enabled", true);
|
||||
public static final MutableBooleanParamWithSafeDefault
|
||||
sDisableBottomControlsStackerYOffsetDispatching =
|
||||
sBottomBrowserControlsRefactor.newBooleanParam(
|
||||
"disable_bottom_controls_stacker_y_offset", false);
|
||||
public static final MutableIntParamWithSafeDefault
|
||||
sAndroidTabDeclutterAutoDeleteTimeDeltaHours =
|
||||
sAndroidTabDeclutterAutoDelete.newIntParam(
|
||||
"android_tab_declutter_auto_delete_time_delta_hours", 90 * 24);
|
||||
public static final MutableIntParamWithSafeDefault sTabSwitcherColorBlendAnimateDurationMs =
|
||||
sTabSwitcherColorBlendAnimate.newIntParam("animation_duration_ms", 240);
|
||||
public static final MutableIntParamWithSafeDefault sTabSwitcherColorBlendAnimateInterpolator =
|
||||
sTabSwitcherColorBlendAnimate.newIntParam("animation_interpolator", 0);
|
||||
|
||||
public static final MutableBooleanParamWithSafeDefault sAndroidTabDeclutterAutoDeletePromoTest =
|
||||
sAndroidTabDeclutterAutoDelete.newBooleanParam(
|
||||
"android_tab_declutter_auto_delete_promo_test", false);
|
||||
|
||||
public static final MutableBooleanParamWithSafeDefault sShowNewTabAnimationsLogs =
|
||||
sShowNewTabAnimations.newBooleanParam("logs", false);
|
||||
public static final MutableBooleanParamWithSafeDefault sShowNewTabAnimationsListeners =
|
||||
sShowNewTabAnimations.newBooleanParam("listeners", false);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "chrome/browser/accessibility/invert_bubble_prefs.h"
|
||||
#include "chrome/browser/accessibility/page_colors.h"
|
||||
#include "chrome/browser/accessibility/prefers_default_scrollbar_styles_prefs.h"
|
||||
#include "chrome/browser/actor/ui/actor_ui_state_manager_prefs.h"
|
||||
#include "chrome/browser/browser_process_impl.h"
|
||||
#include "chrome/browser/chrome_content_browser_client.h"
|
||||
#include "chrome/browser/component_updater/component_updater_prefs.h"
|
||||
@@ -94,7 +95,6 @@
|
||||
#include "chrome/browser/ui/webui/policy/policy_ui.h"
|
||||
#include "chrome/browser/ui/webui/print_preview/policy_settings.h"
|
||||
#include "chrome/browser/updates/announcement_notification/announcement_notification_service.h"
|
||||
#include "chrome/browser/user_education/browser_user_education_storage_service.h"
|
||||
#include "chrome/browser/webauthn/chrome_authenticator_request_delegate.h"
|
||||
#include "chrome/browser/webauthn/webauthn_pref_names.h"
|
||||
#include "chrome/common/buildflags.h"
|
||||
@@ -121,8 +121,6 @@
|
||||
#include "components/fingerprinting_protection_filter/common/prefs.h"
|
||||
#include "components/history_clusters/core/history_clusters_prefs.h"
|
||||
#include "components/image_fetcher/core/cache/image_cache.h"
|
||||
#include "components/invalidation/impl/fcm_invalidation_service.h"
|
||||
#include "components/invalidation/impl/invalidator_registrar_with_memory.h"
|
||||
#include "components/invalidation/impl/per_user_topic_subscription_manager.h"
|
||||
#include "components/language/content/browser/geo_language_provider.h"
|
||||
#include "components/language/content/browser/ulp_language_code_locator/ulp_language_code_locator.h"
|
||||
@@ -136,6 +134,7 @@
|
||||
#include "components/ntp_tiles/custom_links_manager_impl.h"
|
||||
#include "components/ntp_tiles/most_visited_sites.h"
|
||||
#include "components/offline_pages/buildflags/buildflags.h"
|
||||
#include "components/omnibox/browser/aim_eligibility_service.h"
|
||||
#include "components/omnibox/browser/document_provider.h"
|
||||
#include "components/omnibox/browser/omnibox_prefs.h"
|
||||
#include "components/omnibox/browser/zero_suggest_provider.h"
|
||||
@@ -202,7 +201,6 @@
|
||||
#include "extensions/buildflags/buildflags.h"
|
||||
#include "net/http/http_server_properties_manager.h"
|
||||
#include "pdf/buildflags.h"
|
||||
#include "ppapi/buildflags/buildflags.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "rlz/buildflags/buildflags.h"
|
||||
|
||||
@@ -279,7 +277,6 @@
|
||||
#include "components/webapps/browser/android/install_prompt_prefs.h"
|
||||
#else // BUILDFLAG(IS_ANDROID)
|
||||
#include "chrome/browser/contextual_cueing/contextual_cueing_prefs.h"
|
||||
#include "chrome/browser/device_api/device_service_impl.h"
|
||||
#include "chrome/browser/gcm/gcm_product_util.h"
|
||||
#include "chrome/browser/hid/hid_policy_allowed_devices.h"
|
||||
#include "chrome/browser/intranet_redirect_detector.h"
|
||||
@@ -310,6 +307,7 @@
|
||||
#include "chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.h"
|
||||
#include "chrome/browser/ui/webui/cr_components/theme_color_picker/theme_color_picker_handler.h"
|
||||
#include "chrome/browser/ui/webui/history/foreign_session_handler.h"
|
||||
#include "chrome/browser/ui/webui/management/management_ui.h"
|
||||
#include "chrome/browser/ui/webui/new_tab_footer/new_tab_footer_ui.h"
|
||||
#include "chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h"
|
||||
#include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
|
||||
@@ -317,6 +315,7 @@
|
||||
#include "chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h"
|
||||
#include "chrome/browser/ui/webui/tab_search/tab_search_prefs.h"
|
||||
#include "chrome/browser/upgrade_detector/upgrade_detector.h"
|
||||
#include "chrome/browser/user_education/browser_user_education_storage_service.h"
|
||||
#include "components/headless/policy/headless_mode_prefs.h"
|
||||
#include "components/lens/lens_overlay_permission_utils.h"
|
||||
#include "components/live_caption/live_caption_controller.h"
|
||||
@@ -551,148 +550,6 @@ namespace {
|
||||
// Please keep the list of deprecated prefs in chronological order. i.e. Add to
|
||||
// the bottom of the list, not here at the top.
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Deprecated 06/2024
|
||||
constexpr char kOsCryptAppBoundFixedData3PrefName[] =
|
||||
"os_crypt.app_bound_fixed_data3";
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 05/2024.
|
||||
// A preference to keep track of the device registered time.
|
||||
constexpr char kDeviceRegisteredTime[] = "DeviceRegisteredTime";
|
||||
constexpr char kArcKioskDictionaryName[] = "arc-kiosk";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 05/2024
|
||||
inline constexpr char kSearchEnginesStudyGroup[] =
|
||||
"search_engines.client_side_study_group";
|
||||
#endif
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 05/2024
|
||||
// Pref name for the whether whats new refresh page has been shown
|
||||
// successfully.
|
||||
inline constexpr char kHasShownRefreshWhatsNew[] =
|
||||
"browser.has_shown_refresh_2023_whats_new";
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 05/2024
|
||||
// A boolean pref which determines if you can pause mouse keys with a
|
||||
// keyboard shortcut.
|
||||
inline constexpr char kAccessibilityMouseKeysShortcutToPauseEnabled[] =
|
||||
"settings.a11y.mouse_keys.ctrl_to_pause_enabled";
|
||||
// A boolean pref which determines if mouse keys is automatically disabled in
|
||||
// text fields.
|
||||
inline constexpr char kAccessibilityMouseKeysDisableInTextFields[] =
|
||||
"settings.a11y.mouse_keys.disable_in_text_fields";
|
||||
// A boolean pref which determines whether screen magnifier should center
|
||||
// the text input focus.
|
||||
inline constexpr char kAccessibilityScreenMagnifierCenterFocus[] =
|
||||
"settings.a11y.screen_magnifier_center_focus";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Deprecated 05/2024.
|
||||
constexpr char kBlockTruncatedCookies[] = "profile.cookie_block_truncated";
|
||||
|
||||
// Deprecated 05/2024
|
||||
inline constexpr char kDefaultSearchProviderChoiceLocationPrefName[] =
|
||||
"default_search_provider_data.choice_location";
|
||||
|
||||
// Deprecated 05/2024.
|
||||
inline constexpr char kSyncCachedTrustedVaultAutoUpgradeDebugInfo[] =
|
||||
"sync.cached_trusted_vault_auto_upgrade_debug_info";
|
||||
|
||||
// Deprecated 05/2024.
|
||||
inline constexpr char kAutologinEnabled[] = "autologin.enabled";
|
||||
inline constexpr char kReverseAutologinRejectedEmailList[] =
|
||||
"reverse_autologin.rejected_email_list";
|
||||
|
||||
// Deprecated 06/2024.
|
||||
inline constexpr char kTrackingProtectionOnboardingNoticeFirstRequested[] =
|
||||
"tracking_protection.tracking_protection_onboarding_notice_first_requested";
|
||||
inline constexpr char kTrackingProtectionOnboardingNoticeLastRequested[] =
|
||||
"tracking_protection.tracking_protection_onboarding_notice_last_requested";
|
||||
|
||||
// Deprecated 06/2024.
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
inline constexpr char kAccessibilityReadAnythingOmniboxIconLabelShownCount[] =
|
||||
"settings.a11y.read_anything.omnibox_icon_label_shown_count";
|
||||
|
||||
// Deprecated 06/2024.
|
||||
inline constexpr char kAccessibilityPdfOcrAlwaysActive[] =
|
||||
"settings.a11y.pdf_ocr_always_active";
|
||||
#endif
|
||||
|
||||
// Deprecated 06/2024.
|
||||
inline constexpr char kTrackingProtectionOffboarded[] =
|
||||
"tracking_protection.tracking_protection_offboarded";
|
||||
inline constexpr char kTrackingProtectionOffboardedSince[] =
|
||||
"tracking_protection.tracking_protection_offboarded_since";
|
||||
inline constexpr char kTrackingProtectionOffboardingAckAction[] =
|
||||
"tracking_protection.tracking_protection_offboarding_ack_action";
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 06/2024.
|
||||
constexpr std::array<const char*, 12u>
|
||||
kHoldingSpaceWallpaperNudgeTimesOfFirstInteraction = {
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"DroppedFileOnHoldingSpace.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"DroppedFileOnWallpaper.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"DraggedFileOverWallpaper.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time.OpenedHoldingSpace."
|
||||
"first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"PinnedFileFromAnySource.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"PinnedFileFromContextMenu.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"PinnedFileFromFilesApp.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"PinnedFileFromHoldingSpaceDrop.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"PinnedFileFromPinButton.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time."
|
||||
"PinnedFileFromWallpaperDrop.first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time.UsedOtherItem."
|
||||
"first_time",
|
||||
"ash.holding_space.wallpaper_nudge.interaction_time.UsedPinnedItem."
|
||||
"first_time",
|
||||
};
|
||||
|
||||
// Deprecated 06/2024.
|
||||
constexpr char kHoldingSpaceWallpaperNudgeLastTimeNudgeShownCounterfactual[] =
|
||||
"ash.holding_space.wallpaper_nudge.last_shown_time_counterfactual";
|
||||
constexpr char kHoldingSpaceWallpaperNudgeLastTimeNudgeShown[] =
|
||||
"ash.holding_space.wallpaper_nudge.last_shown_time";
|
||||
constexpr char kHoldingSpaceWallpaperNudgeNudgeShownCountCounterfactual[] =
|
||||
"ash.holding_space.wallpaper_nudge.shown_count_counterfactual";
|
||||
constexpr char kHoldingSpaceWallpaperNudgeNudgeShownCount[] =
|
||||
"ash.holding_space.wallpaper_nudge.shown_count";
|
||||
constexpr char kHoldingSpaceWallpaperNudgeUserEligibleForNudge[] =
|
||||
"ash.holding_space.wallpaper_nudge.user_eligible";
|
||||
constexpr char kHoldingSpaceWallpaperNudgeUserFirstEligibleSessionTime[] =
|
||||
"ash.holding_space.wallpaper_nudge.first_eligible_session_time";
|
||||
|
||||
// Deprecated 06/2024.
|
||||
constexpr char kLocalUserFilesMigrationEnabled[] =
|
||||
"filebrowser.local_user_files_migration_enabled";
|
||||
|
||||
// Deprecated 06/2024.
|
||||
constexpr char kBirchUseRecentTabs[] = "ash.birch.use_recent_tabs";
|
||||
constexpr char kBirchUseLastActive[] = "ash.birch.use_last_active";
|
||||
constexpr char kBirchUseMostVisited[] = "ash.birch.use_most_visited";
|
||||
constexpr char kBirchUseSelfShare[] = "ash.birch.use_self_share";
|
||||
#endif
|
||||
|
||||
// Deprecated 06/2024
|
||||
constexpr char kDefaultSearchProviderChoicePending[] =
|
||||
"default_search_provider.engine_choice_pending";
|
||||
|
||||
// Deprecated 07/2024
|
||||
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
inline constexpr char kFirstRunStudyGroup[] = "browser.first_run_study_group";
|
||||
@@ -1153,38 +1010,104 @@ inline constexpr char kDeviceNativeClientForceAllowed[] =
|
||||
"device_native_client_force_allowed";
|
||||
inline constexpr char kDeviceNativeClientForceAllowedCache[] =
|
||||
"device_native_client_force_allowed_cache";
|
||||
inline constexpr char kIsFirstBootForNacl[] = "is_first_boot_for_nacl";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Deprecated 06/2025.
|
||||
inline constexpr char kLastUsedPairingFromSyncPublicKey[] =
|
||||
"webauthn.last_used_pairing_from_sync_public_key";
|
||||
inline constexpr char kWebAuthnCablePairingsPrefName[] =
|
||||
"webauthn.cablev2_pairings";
|
||||
inline constexpr char kSyncedDefaultSearchProviderGUID[] =
|
||||
"default_search_provider.synced_guid";
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 07/2025.
|
||||
constexpr char kObsoletePasswordAccessLossWarningShownAtStartupTimestamp[] =
|
||||
"password_access_loss_warning_shown_at_startup_timestamp";
|
||||
constexpr char kObsoletePasswordAccessLossWarningShownTimestamp[] =
|
||||
"password_access_loss_warning_shown_timestamp";
|
||||
constexpr char kObsoleteTimeOfLastMigrationAttempt[] =
|
||||
"time_of_last_migration_attempt";
|
||||
constexpr char kObsoleteSettingsMigratedToUPMLocal[] =
|
||||
"profile.settings_migrated_to_upm_local";
|
||||
constexpr char kObsoleteShouldShowPostPasswordMigrationSheetAtStartup[] =
|
||||
"should_show_post_password_migration_sheet_at_startup";
|
||||
constexpr char kObsoleteUnenrolledFromGoogleMobileServicesDueToErrors[] =
|
||||
"unenrolled_from_google_mobile_services_due_to_errors";
|
||||
constexpr char kObsoleteCurrentMigrationVersionToGoogleMobileServices[] =
|
||||
"current_migration_version_to_google_mobile_services";
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Deprecated 07/2025.
|
||||
inline constexpr char kFirstSyncCompletedInFullSyncMode[] =
|
||||
"sync.first_full_sync_completed";
|
||||
inline constexpr char kGoogleServicesSecondLastSyncingGaiaId[] =
|
||||
"google.services.second_last_gaia_id";
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 07/2025.
|
||||
inline constexpr char kAssistantNumSessionsWhereOnboardingShown[] =
|
||||
"ash.assistant.num_sessions_where_onboarding_shown";
|
||||
inline constexpr char kAssistantTimeOfLastInteraction[] =
|
||||
"ash.assistant.time_of_last_interaction";
|
||||
|
||||
// Deprecated 07/2025.
|
||||
inline constexpr char kAssistantConsentStatus[] =
|
||||
"settings.voice_interaction.activity_control.consent_status";
|
||||
inline constexpr char kAssistantContextEnabled[] =
|
||||
"settings.voice_interaction.context.enabled";
|
||||
inline constexpr char kAssistantDisabledByPolicy[] =
|
||||
"settings.assistant.disabled_by_policy";
|
||||
inline constexpr char kAssistantEnabled[] =
|
||||
"settings.voice_interaction.enabled";
|
||||
inline constexpr char kAssistantHotwordAlwaysOn[] =
|
||||
"settings.voice_interaction.hotword.always_on";
|
||||
inline constexpr char kAssistantHotwordEnabled[] =
|
||||
"settings.voice_interaction.hotword.enabled";
|
||||
inline constexpr char kAssistantLaunchWithMicOpen[] =
|
||||
"settings.voice_interaction.launch_with_mic_open";
|
||||
inline constexpr char kAssistantNotificationEnabled[] =
|
||||
"settings.voice_interaction.notification.enabled";
|
||||
inline constexpr char kAssistantOnboardingMode[] =
|
||||
"settings.assistant.onboarding_mode";
|
||||
inline constexpr char kAssistantVoiceMatchEnabledDuringOobe[] =
|
||||
"settings.voice_interaction.oobe_voice_match.enabled";
|
||||
inline constexpr char kAssistantNumFailuresSinceLastServiceRun[] =
|
||||
"ash.assistant.num_failures_since_last_service_run";
|
||||
#endif
|
||||
|
||||
// Deprecated 07/2025
|
||||
constexpr char kOptGuideModelFetcherLastFetchAttempt[] =
|
||||
"optimization_guide.predictionmodelfetcher.last_fetch_attempt";
|
||||
constexpr char kOptGuideModelFetcherLastFetchSuccess[] =
|
||||
"optimization_guide.predictionmodelfetcher.last_fetch_success";
|
||||
|
||||
// Deprecated 07/2025
|
||||
inline constexpr char kSodaScheduledDeletionTime[] =
|
||||
"accessibility.captions.soda_scheduled_deletion_time";
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 07/2025.
|
||||
inline constexpr char kTimeOfFirstFilesAppChipPress[] =
|
||||
"ash.holding_space.time_of_first_files_app_chip_press";
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Deprecated 07/2025.
|
||||
inline constexpr char kSyncPromoIdentityPillShownCount[] =
|
||||
"ChromeSigninSyncPromoIdentityPillShownCount";
|
||||
inline constexpr char kSyncPromoIdentityPillUsedCount[] =
|
||||
"ChromeSigninSyncPromoIdentityPillUsedCount";
|
||||
|
||||
// Deprecated 08/2025.
|
||||
inline constexpr char kInvalidationClientIDCache[] =
|
||||
"invalidation.per_sender_client_id_cache";
|
||||
inline constexpr char kInvalidationTopicsToHandler[] =
|
||||
"invalidation.per_sender_topics_to_handler";
|
||||
|
||||
// Register local state used only for migration (clearing or moving to a new
|
||||
// key).
|
||||
void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterStringPref(kOsCryptAppBoundFixedData3PrefName,
|
||||
std::string());
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterTimePref(kDeviceRegisteredTime, base::Time());
|
||||
registry->RegisterDictionaryPref(kArcKioskDictionaryName);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterStringPref(kSearchEnginesStudyGroup, std::string());
|
||||
#endif
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterBooleanPref(kHasShownRefreshWhatsNew, false);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterBooleanPref(kLocalUserFilesMigrationEnabled, false);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
// Deprecated 07/2024.
|
||||
registry->RegisterStringPref(kFirstRunStudyGroup, std::string());
|
||||
@@ -1281,7 +1204,12 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(kNativeClientForceAllowed, false);
|
||||
registry->RegisterBooleanPref(kDeviceNativeClientForceAllowed, false);
|
||||
registry->RegisterBooleanPref(kDeviceNativeClientForceAllowedCache, false);
|
||||
registry->RegisterBooleanPref(kIsFirstBootForNacl, true);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Deprecated 08/2025.
|
||||
registry->RegisterDictionaryPref(kInvalidationClientIDCache);
|
||||
registry->RegisterDictionaryPref(kInvalidationTopicsToHandler);
|
||||
}
|
||||
|
||||
// Register prefs used only for migration (clearing or moving to a new key).
|
||||
@@ -1299,80 +1227,6 @@ void RegisterProfilePrefsForMigration(
|
||||
|
||||
chrome_browser_net::secure_dns::RegisterProbesSettingBackupPref(registry);
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterBooleanPref(kAccessibilityMouseKeysShortcutToPauseEnabled,
|
||||
true);
|
||||
registry->RegisterBooleanPref(kAccessibilityMouseKeysDisableInTextFields,
|
||||
true);
|
||||
registry->RegisterBooleanPref(kAccessibilityScreenMagnifierCenterFocus, true);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterBooleanPref(kBlockTruncatedCookies, true);
|
||||
|
||||
// Deprecated 05/2024
|
||||
registry->RegisterIntegerPref(
|
||||
kDefaultSearchProviderChoiceLocationPrefName,
|
||||
static_cast<int>(search_engines::ChoiceMadeLocation::kOther));
|
||||
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterStringPref(kSyncCachedTrustedVaultAutoUpgradeDebugInfo, "");
|
||||
|
||||
// Deprecated 05/2024.
|
||||
registry->RegisterBooleanPref(kAutologinEnabled, true);
|
||||
registry->RegisterListPref(kReverseAutologinRejectedEmailList);
|
||||
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterTimePref(kTrackingProtectionOnboardingNoticeFirstRequested,
|
||||
base::Time());
|
||||
registry->RegisterTimePref(kTrackingProtectionOnboardingNoticeLastRequested,
|
||||
base::Time());
|
||||
|
||||
// Deprecated 06/2024.
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterIntegerPref(
|
||||
kAccessibilityReadAnythingOmniboxIconLabelShownCount, 0);
|
||||
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterBooleanPref(kAccessibilityPdfOcrAlwaysActive, true);
|
||||
#endif
|
||||
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterBooleanPref(kTrackingProtectionOffboarded, false);
|
||||
registry->RegisterTimePref(kTrackingProtectionOffboardedSince, base::Time());
|
||||
registry->RegisterIntegerPref(kTrackingProtectionOffboardingAckAction, 0);
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 06/2024.
|
||||
for (const char* pref : kHoldingSpaceWallpaperNudgeTimesOfFirstInteraction) {
|
||||
registry->RegisterTimePref(pref, base::Time());
|
||||
}
|
||||
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterBooleanPref(kHoldingSpaceWallpaperNudgeUserEligibleForNudge,
|
||||
false);
|
||||
registry->RegisterTimePref(
|
||||
kHoldingSpaceWallpaperNudgeLastTimeNudgeShownCounterfactual,
|
||||
base::Time());
|
||||
registry->RegisterTimePref(kHoldingSpaceWallpaperNudgeLastTimeNudgeShown,
|
||||
base::Time());
|
||||
registry->RegisterTimePref(
|
||||
kHoldingSpaceWallpaperNudgeUserFirstEligibleSessionTime, base::Time());
|
||||
registry->RegisterUint64Pref(
|
||||
kHoldingSpaceWallpaperNudgeNudgeShownCountCounterfactual, 0u);
|
||||
registry->RegisterUint64Pref(kHoldingSpaceWallpaperNudgeNudgeShownCount, 0u);
|
||||
|
||||
// Deprecated 06/2024
|
||||
registry->RegisterBooleanPref(kBirchUseRecentTabs, true);
|
||||
registry->RegisterBooleanPref(kBirchUseLastActive, true);
|
||||
registry->RegisterBooleanPref(kBirchUseMostVisited, true);
|
||||
registry->RegisterBooleanPref(kBirchUseSelfShare, true);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Deprecated 06/2024.
|
||||
registry->RegisterBooleanPref(kDefaultSearchProviderChoicePending, false);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 07/2024
|
||||
registry->RegisterListPref(kNtpRecipesDismissedTasks);
|
||||
@@ -1649,9 +1503,71 @@ void RegisterProfilePrefsForMigration(
|
||||
registry->RegisterDictionaryPref(kSharingVapidKey);
|
||||
registry->RegisterBooleanPref(kHasSeenWelcomePage, false);
|
||||
|
||||
// Deprecated 06/2025
|
||||
// Deprecated 06/2025.
|
||||
registry->RegisterBooleanPref(kStorageGarbageCollect, false);
|
||||
registry->RegisterDoublePref(kGaiaCookiePeriodicReportTimeDeprecated, 0);
|
||||
registry->RegisterListPref(kWebAuthnCablePairingsPrefName);
|
||||
registry->RegisterStringPref(kLastUsedPairingFromSyncPublicKey, "");
|
||||
registry->RegisterStringPref(kSyncedDefaultSearchProviderGUID, std::string());
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 07/2025.
|
||||
registry->RegisterTimePref(
|
||||
kObsoletePasswordAccessLossWarningShownAtStartupTimestamp, base::Time());
|
||||
registry->RegisterTimePref(kObsoletePasswordAccessLossWarningShownTimestamp,
|
||||
base::Time());
|
||||
registry->RegisterDoublePref(kObsoleteTimeOfLastMigrationAttempt, 0.0);
|
||||
registry->RegisterBooleanPref(kObsoleteSettingsMigratedToUPMLocal, false);
|
||||
registry->RegisterBooleanPref(
|
||||
kObsoleteShouldShowPostPasswordMigrationSheetAtStartup, false);
|
||||
registry->RegisterBooleanPref(
|
||||
kObsoleteUnenrolledFromGoogleMobileServicesDueToErrors, false);
|
||||
registry->RegisterIntegerPref(
|
||||
kObsoleteCurrentMigrationVersionToGoogleMobileServices, 0);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Deprecated 07/2025.
|
||||
registry->RegisterBooleanPref(kFirstSyncCompletedInFullSyncMode, false);
|
||||
registry->RegisterStringPref(kGoogleServicesSecondLastSyncingGaiaId,
|
||||
std::string());
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 07/2025.
|
||||
registry->RegisterIntegerPref(kAssistantNumSessionsWhereOnboardingShown, 0);
|
||||
registry->RegisterTimePref(kAssistantTimeOfLastInteraction, base::Time());
|
||||
|
||||
// Deprecated 07/2025.
|
||||
registry->RegisterIntegerPref(kAssistantConsentStatus, 0);
|
||||
registry->RegisterBooleanPref(kAssistantContextEnabled, false);
|
||||
registry->RegisterBooleanPref(kAssistantDisabledByPolicy, false);
|
||||
registry->RegisterBooleanPref(kAssistantEnabled, false);
|
||||
registry->RegisterBooleanPref(kAssistantHotwordAlwaysOn, false);
|
||||
registry->RegisterBooleanPref(kAssistantHotwordEnabled, false);
|
||||
registry->RegisterBooleanPref(kAssistantLaunchWithMicOpen, false);
|
||||
registry->RegisterBooleanPref(kAssistantNotificationEnabled, false);
|
||||
registry->RegisterBooleanPref(kAssistantVoiceMatchEnabledDuringOobe, false);
|
||||
registry->RegisterStringPref(kAssistantOnboardingMode, std::string());
|
||||
registry->RegisterIntegerPref(kAssistantNumFailuresSinceLastServiceRun, 0);
|
||||
#endif
|
||||
|
||||
// Deprecated 07/2025
|
||||
registry->RegisterInt64Pref(kOptGuideModelFetcherLastFetchAttempt, 0);
|
||||
registry->RegisterInt64Pref(kOptGuideModelFetcherLastFetchSuccess, 0);
|
||||
|
||||
// Deprecated 07/2025
|
||||
registry->RegisterTimePref(kSodaScheduledDeletionTime, base::Time());
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Deprecated 07/2025.
|
||||
registry->RegisterTimePref(kTimeOfFirstFilesAppChipPress, base::Time());
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
registry->RegisterIntegerPref(kSyncPromoIdentityPillShownCount, 0);
|
||||
registry->RegisterIntegerPref(kSyncPromoIdentityPillUsedCount, 0);
|
||||
|
||||
// Deprecated 08/2025.
|
||||
registry->RegisterDictionaryPref(kInvalidationClientIDCache);
|
||||
registry->RegisterDictionaryPref(kInvalidationTopicsToHandler);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -1693,8 +1609,6 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
flags_ui::PrefServiceFlagsStorage::RegisterPrefs(registry);
|
||||
GpuModeManager::RegisterPrefs(registry);
|
||||
signin::IdentityManager::RegisterLocalStatePrefs(registry);
|
||||
invalidation::FCMInvalidationService::RegisterPrefs(registry);
|
||||
invalidation::InvalidatorRegistrarWithMemory::RegisterPrefs(registry);
|
||||
invalidation::PerUserTopicSubscriptionManager::RegisterPrefs(registry);
|
||||
language::GeoLanguageProvider::RegisterLocalStatePrefs(registry);
|
||||
language::UlpLanguageCodeLocator::RegisterLocalStatePrefs(registry);
|
||||
@@ -1902,6 +1816,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
registry->RegisterBooleanPref(prefs::kPrintingLPACSandboxEnabled, true);
|
||||
registry->RegisterBooleanPref(
|
||||
policy::policy_prefs::kNativeWindowOcclusionEnabled, true);
|
||||
registry->RegisterBooleanPref(prefs::kRestrictCoreSharingOnRenderer, false);
|
||||
MediaFoundationServiceMonitor::RegisterPrefs(registry);
|
||||
os_crypt_async::AppBoundEncryptionProviderWin::RegisterLocalPrefs(registry);
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
@@ -1963,6 +1878,10 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
|
||||
|
||||
registry->RegisterIntegerPref(prefs::kToastAlertLevel, 0);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
registry->RegisterStringPref(prefs::kNonMilestoneUpdateToastVersion, "");
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// This is intentionally last.
|
||||
RegisterLocalStatePrefsForMigration(registry);
|
||||
}
|
||||
@@ -1974,6 +1893,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
// User prefs. Please keep this list alphabetized.
|
||||
AccessibilityLabelsService::RegisterProfilePrefs(registry);
|
||||
AccessibilityUIMessageHandler::RegisterProfilePrefs(registry);
|
||||
AimEligibilityService::RegisterProfilePrefs(registry);
|
||||
AnnouncementNotificationService::RegisterProfilePrefs(registry);
|
||||
autofill::prefs::RegisterProfilePrefs(registry);
|
||||
browsing_data::prefs::RegisterBrowserUserPrefs(registry);
|
||||
@@ -2004,7 +1924,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
site_engagement::ImportantSitesUtil::RegisterProfilePrefs(registry);
|
||||
IncognitoModePrefs::RegisterProfilePrefs(registry);
|
||||
invalidation::PerUserTopicSubscriptionManager::RegisterProfilePrefs(registry);
|
||||
invalidation::InvalidatorRegistrarWithMemory::RegisterProfilePrefs(registry);
|
||||
language::LanguagePrefs::RegisterProfilePrefs(registry);
|
||||
login_detection::prefs::RegisterProfilePrefs(registry);
|
||||
lookalikes::RegisterProfilePrefs(registry);
|
||||
@@ -2151,7 +2070,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
ChromeAuthenticatorRequestDelegate::RegisterProfilePrefs(registry);
|
||||
commerce::CommerceUiTabHelper::RegisterProfilePrefs(registry);
|
||||
contextual_cueing::prefs::RegisterProfilePrefs(registry);
|
||||
DeviceServiceImpl::RegisterProfilePrefs(registry);
|
||||
DriveService::RegisterProfilePrefs(registry);
|
||||
extensions::TabsCaptureVisibleTabFunction::RegisterProfilePrefs(registry);
|
||||
first_run::RegisterProfilePrefs(registry);
|
||||
@@ -2160,6 +2078,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
HatsServiceDesktop::RegisterProfilePrefs(registry);
|
||||
lens::prefs::RegisterProfilePrefs(registry);
|
||||
NtpCustomBackgroundService::RegisterProfilePrefs(registry);
|
||||
ManagementUI::RegisterProfilePrefs(registry);
|
||||
media_router::RegisterAccessCodeProfilePrefs(registry);
|
||||
media_router::RegisterProfilePrefs(registry);
|
||||
MicrosoftAuthPageHandler::RegisterProfilePrefs(registry);
|
||||
@@ -2217,9 +2136,12 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
registry->RegisterBooleanPref(prefs::kFloatingSsoEnabled, false);
|
||||
registry->RegisterListPref(prefs::kFloatingSsoDomainBlocklist);
|
||||
registry->RegisterListPref(prefs::kFloatingSsoDomainBlocklistExceptions);
|
||||
registry->RegisterBooleanPref(prefs::kFloatingSsoSessionCookiesIncluded,
|
||||
false);
|
||||
#if BUILDFLAG(USE_CUPS)
|
||||
extensions::PrintingAPIHandler::RegisterProfilePrefs(registry);
|
||||
#endif // BUILDFLAG(USE_CUPS)
|
||||
|
||||
app_list::AppListSyncableService::RegisterProfilePrefs(registry);
|
||||
apps::AlmanacFetcher::RegisterProfilePrefs(registry);
|
||||
apps::AppPlatformMetricsService::RegisterProfilePrefs(registry);
|
||||
@@ -2233,7 +2155,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
ash::ApkWebAppService::RegisterProfilePrefs(registry);
|
||||
ash::app_time::AppActivityRegistry::RegisterProfilePrefs(registry);
|
||||
ash::app_time::AppTimeController::RegisterProfilePrefs(registry);
|
||||
ash::assistant::prefs::RegisterProfilePrefs(registry);
|
||||
ash::auth::AuthFactorConfig::RegisterPrefs(registry);
|
||||
ash::bluetooth::DebugLogsManager::RegisterPrefs(registry);
|
||||
ash::bluetooth_config::BluetoothPowerControllerImpl::RegisterProfilePrefs(
|
||||
@@ -2249,7 +2170,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
ash::InlineLoginHandlerImpl::RegisterProfilePrefs(registry);
|
||||
ash::first_run::RegisterProfilePrefs(registry);
|
||||
ash::file_system_provider::RegisterProfilePrefs(registry);
|
||||
ash::full_restore::RegisterProfilePrefs(registry);
|
||||
ash::full_restore::RegisterProfilePolicyPrefs(registry);
|
||||
ash::KerberosCredentialsManager::RegisterProfilePrefs(registry);
|
||||
ash::multidevice_setup::MultiDeviceSetupService::RegisterProfilePrefs(
|
||||
registry);
|
||||
@@ -2348,9 +2269,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
registry->RegisterBooleanPref(
|
||||
webauthn::pref_names::kRemoteProxiedRequestsAllowed, false);
|
||||
|
||||
registry->RegisterStringPref(
|
||||
webauthn::pref_names::kLastUsedPairingFromSyncPublicKey, "");
|
||||
|
||||
registry->RegisterIntegerPref(
|
||||
webauthn::pref_names::kEnclaveFailedPINAttemptsCount, 0);
|
||||
|
||||
@@ -2359,6 +2277,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
tabs::RegisterProfilePrefs(registry);
|
||||
|
||||
CertificateManagerPageHandler::RegisterProfilePrefs(registry);
|
||||
|
||||
actor::ui::RegisterProfilePrefs(registry);
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
registry->RegisterBooleanPref(webauthn::pref_names::kAllowWithBrokenCerts,
|
||||
@@ -2456,32 +2376,6 @@ void MigrateObsoleteLocalStatePrefs(PrefService* local_state) {
|
||||
// BEGIN_MIGRATE_OBSOLETE_LOCAL_STATE_PREFS
|
||||
// Please don't delete the preceding line. It is used by PRESUBMIT.py.
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Deprecated 06/2024.
|
||||
local_state->ClearPref(kOsCryptAppBoundFixedData3PrefName);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Added 05/2024.
|
||||
local_state->ClearPref(kDeviceRegisteredTime);
|
||||
local_state->ClearPref(kArcKioskDictionaryName);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Added 05/2024.
|
||||
local_state->ClearPref(kSearchEnginesStudyGroup);
|
||||
#endif
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Added 05/2024.
|
||||
local_state->ClearPref(kHasShownRefreshWhatsNew);
|
||||
#endif
|
||||
|
||||
// Added 06/2024.
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
local_state->ClearPref(kLocalUserFilesMigrationEnabled);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
// Added 07/2024.
|
||||
local_state->ClearPref(kFirstRunStudyGroup);
|
||||
@@ -2582,8 +2476,13 @@ void MigrateObsoleteLocalStatePrefs(PrefService* local_state) {
|
||||
local_state->ClearPref(kNativeClientForceAllowed);
|
||||
local_state->ClearPref(kDeviceNativeClientForceAllowed);
|
||||
local_state->ClearPref(kDeviceNativeClientForceAllowedCache);
|
||||
local_state->ClearPref(kIsFirstBootForNacl);
|
||||
#endif
|
||||
|
||||
// Added 08/2025.
|
||||
local_state->ClearPref(kInvalidationClientIDCache);
|
||||
local_state->ClearPref(kInvalidationTopicsToHandler);
|
||||
|
||||
// Please don't delete the following line. It is used by PRESUBMIT.py.
|
||||
// END_MIGRATE_OBSOLETE_LOCAL_STATE_PREFS
|
||||
|
||||
@@ -2635,94 +2534,14 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Added 11/2023, but DO NOT REMOVE after the usual year!
|
||||
// TODO(crbug.com/40268177): The pref kPasswordsUseUPMLocalAndSeparateStores
|
||||
// and this call (to compute said pref) should be removed once
|
||||
// kUnifiedPasswordManagerLocalPasswordsAndroidWithMigration is launched and
|
||||
// enough clients have migrated. UsesSplitStoresAndUPMForLocal() should be
|
||||
// updated to check the GmsCoreVersion directly instead of the pref, or
|
||||
// might be removed entirely, depending how the outdated GmsCore case is
|
||||
// handled.
|
||||
password_manager_android_util::SetUsesSplitStoresAndUPMForLocal(
|
||||
// TODO(crbug.com/378653046): This call should be removed once enough time
|
||||
// has passed.
|
||||
password_manager_android_util::MaybeDeleteLoginDatabases(
|
||||
profile_prefs, profile_path,
|
||||
std::make_unique<
|
||||
password_manager_android_util::PasswordManagerUtilBridge>());
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Added 05/2024.
|
||||
profile_prefs->ClearPref(kAccessibilityMouseKeysShortcutToPauseEnabled);
|
||||
profile_prefs->ClearPref(kAccessibilityMouseKeysDisableInTextFields);
|
||||
profile_prefs->ClearPref(kAccessibilityScreenMagnifierCenterFocus);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
// Added 05/2024.
|
||||
profile_prefs->ClearPref(kBlockTruncatedCookies);
|
||||
|
||||
// Added 05/2024
|
||||
profile_prefs->ClearPref(kDefaultSearchProviderChoiceLocationPrefName);
|
||||
|
||||
// Added 05/2024.
|
||||
profile_prefs->ClearPref(kSyncCachedTrustedVaultAutoUpgradeDebugInfo);
|
||||
|
||||
// Added 05/2024.
|
||||
profile_prefs->ClearPref(kAutologinEnabled);
|
||||
profile_prefs->ClearPref(kReverseAutologinRejectedEmailList);
|
||||
|
||||
// Added 06/2024.
|
||||
profile_prefs->ClearPref(kTrackingProtectionOnboardingNoticeFirstRequested);
|
||||
profile_prefs->ClearPref(kTrackingProtectionOnboardingNoticeLastRequested);
|
||||
|
||||
// Added 06/2024.
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
profile_prefs->ClearPref(
|
||||
kAccessibilityReadAnythingOmniboxIconLabelShownCount);
|
||||
|
||||
// Added 06/2024.
|
||||
profile_prefs->ClearPref(kAccessibilityPdfOcrAlwaysActive);
|
||||
#endif
|
||||
|
||||
// Added 06/2024.
|
||||
profile_prefs->ClearPref(kTrackingProtectionOffboarded);
|
||||
profile_prefs->ClearPref(kTrackingProtectionOffboardedSince);
|
||||
profile_prefs->ClearPref(kTrackingProtectionOffboardingAckAction);
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Added 06/2024.
|
||||
for (const char* pref : kHoldingSpaceWallpaperNudgeTimesOfFirstInteraction) {
|
||||
profile_prefs->ClearPref(pref);
|
||||
}
|
||||
|
||||
// Added 06/2024.
|
||||
profile_prefs->ClearPref(kHoldingSpaceWallpaperNudgeUserEligibleForNudge);
|
||||
profile_prefs->ClearPref(
|
||||
kHoldingSpaceWallpaperNudgeLastTimeNudgeShownCounterfactual);
|
||||
profile_prefs->ClearPref(kHoldingSpaceWallpaperNudgeLastTimeNudgeShown);
|
||||
profile_prefs->ClearPref(
|
||||
kHoldingSpaceWallpaperNudgeUserFirstEligibleSessionTime);
|
||||
profile_prefs->ClearPref(
|
||||
kHoldingSpaceWallpaperNudgeNudgeShownCountCounterfactual);
|
||||
profile_prefs->ClearPref(kHoldingSpaceWallpaperNudgeNudgeShownCount);
|
||||
|
||||
// Added 06/2024.
|
||||
profile_prefs->ClearPref(kBirchUseRecentTabs);
|
||||
profile_prefs->ClearPref(kBirchUseLastActive);
|
||||
profile_prefs->ClearPref(kBirchUseMostVisited);
|
||||
profile_prefs->ClearPref(kBirchUseSelfShare);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
// Added 06/2024.
|
||||
syncer::SyncPrefs::MaybeMigrateAutofillToPerAccountPref(profile_prefs);
|
||||
#endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Added 06/2024
|
||||
feed::prefs::MigrateObsoleteFeedExperimentPref_Jun_2024(profile_prefs);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Added 06/2024.
|
||||
profile_prefs->ClearPref(kDefaultSearchProviderChoicePending);
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// Added 07/2024.
|
||||
profile_prefs->ClearPref(kNtpRecipesDismissedTasks);
|
||||
@@ -2991,6 +2810,63 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
|
||||
// Added 06/2025.
|
||||
profile_prefs->ClearPref(kStorageGarbageCollect);
|
||||
profile_prefs->ClearPref(kGaiaCookiePeriodicReportTimeDeprecated);
|
||||
profile_prefs->ClearPref(kWebAuthnCablePairingsPrefName);
|
||||
profile_prefs->ClearPref(kLastUsedPairingFromSyncPublicKey);
|
||||
profile_prefs->ClearPref(kSyncedDefaultSearchProviderGUID);
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Deprecated 07/2025.
|
||||
profile_prefs->ClearPref(
|
||||
kObsoletePasswordAccessLossWarningShownAtStartupTimestamp);
|
||||
profile_prefs->ClearPref(kObsoletePasswordAccessLossWarningShownTimestamp);
|
||||
profile_prefs->ClearPref(kObsoleteTimeOfLastMigrationAttempt);
|
||||
profile_prefs->ClearPref(kObsoleteSettingsMigratedToUPMLocal);
|
||||
profile_prefs->ClearPref(
|
||||
kObsoleteShouldShowPostPasswordMigrationSheetAtStartup);
|
||||
profile_prefs->ClearPref(
|
||||
kObsoleteUnenrolledFromGoogleMobileServicesDueToErrors);
|
||||
profile_prefs->ClearPref(
|
||||
kObsoleteCurrentMigrationVersionToGoogleMobileServices);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Added 07/2025.
|
||||
profile_prefs->ClearPref(kFirstSyncCompletedInFullSyncMode);
|
||||
profile_prefs->ClearPref(kGoogleServicesSecondLastSyncingGaiaId);
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Added 07/2025.
|
||||
profile_prefs->ClearPref(kAssistantNumSessionsWhereOnboardingShown);
|
||||
profile_prefs->ClearPref(kAssistantTimeOfLastInteraction);
|
||||
|
||||
// Added 07/2025.
|
||||
profile_prefs->ClearPref(kAssistantConsentStatus);
|
||||
profile_prefs->ClearPref(kAssistantContextEnabled);
|
||||
profile_prefs->ClearPref(kAssistantDisabledByPolicy);
|
||||
profile_prefs->ClearPref(kAssistantEnabled);
|
||||
profile_prefs->ClearPref(kAssistantHotwordAlwaysOn);
|
||||
profile_prefs->ClearPref(kAssistantHotwordEnabled);
|
||||
profile_prefs->ClearPref(kAssistantLaunchWithMicOpen);
|
||||
profile_prefs->ClearPref(kAssistantNotificationEnabled);
|
||||
profile_prefs->ClearPref(kAssistantVoiceMatchEnabledDuringOobe);
|
||||
profile_prefs->ClearPref(kAssistantOnboardingMode);
|
||||
profile_prefs->ClearPref(kAssistantNumFailuresSinceLastServiceRun);
|
||||
#endif
|
||||
|
||||
// Added 07/2025
|
||||
profile_prefs->ClearPref(kOptGuideModelFetcherLastFetchAttempt);
|
||||
profile_prefs->ClearPref(kOptGuideModelFetcherLastFetchSuccess);
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Added 07/2025.
|
||||
profile_prefs->ClearPref(kTimeOfFirstFilesAppChipPress);
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
profile_prefs->ClearPref(kSyncPromoIdentityPillShownCount);
|
||||
profile_prefs->ClearPref(kSyncPromoIdentityPillUsedCount);
|
||||
|
||||
// Added 08/2025.
|
||||
profile_prefs->ClearPref(kInvalidationClientIDCache);
|
||||
profile_prefs->ClearPref(kInvalidationTopicsToHandler);
|
||||
|
||||
// Please don't delete the following line. It is used by PRESUBMIT.py.
|
||||
// END_MIGRATE_OBSOLETE_PROFILE_PREFS
|
||||
|
||||
@@ -148,11 +148,11 @@
|
||||
#include "components/webapps/browser/installable/installable_manager.h"
|
||||
#include "components/webapps/browser/installable/ml_installability_promoter.h"
|
||||
#include "content/public/browser/web_contents.h"
|
||||
#include "content/public/common/buildflags.h"
|
||||
#include "extensions/buildflags/buildflags.h"
|
||||
#include "media/base/media_switches.h"
|
||||
#include "net/base/features.h"
|
||||
#include "pdf/buildflags.h"
|
||||
#include "ppapi/buildflags/buildflags.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "rlz/buildflags/buildflags.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
@@ -238,6 +238,7 @@
|
||||
#include "chrome/browser/extensions/app_tab_helper.h"
|
||||
#include "chrome/browser/extensions/navigation_extension_enabler.h"
|
||||
#include "chrome/browser/ui/extensions/extension_side_panel_utils.h"
|
||||
#include "chrome/browser/web_applications/isolated_web_apps/window_management/window_management_content_setting_observer.h"
|
||||
#include "chrome/browser/web_applications/policy/pre_redirection_url_observer.h"
|
||||
#include "chrome/browser/web_applications/web_app_utils.h"
|
||||
#include "extensions/common/extension_features.h"
|
||||
@@ -257,7 +258,6 @@
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
#include "chrome/browser/plugins/plugin_observer.h"
|
||||
#include "chrome/browser/ui/hung_plugin_tab_helper.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_PRINTING)
|
||||
@@ -753,6 +753,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
extensions::AppTabHelper::CreateForWebContents(web_contents);
|
||||
extensions::NavigationExtensionEnabler::CreateForWebContents(web_contents);
|
||||
extensions::WebNavigationTabObserver::CreateForWebContents(web_contents);
|
||||
web_app::WindowManagementContentSettingObserver::CreateForWebContents(
|
||||
web_contents);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
@@ -767,7 +769,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
HungPluginTabHelper::CreateForWebContents(web_contents);
|
||||
PluginObserver::CreateForWebContents(web_contents);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -60,7 +60,6 @@ namespace autofillPrivate {
|
||||
CREDIT_CARD_TYPE,
|
||||
CREDIT_CARD_VERIFICATION_CODE,
|
||||
COMPANY_NAME,
|
||||
FIELD_WITH_DEFAULT_VALUE,
|
||||
MERCHANT_EMAIL_SIGNUP,
|
||||
MERCHANT_PROMO_CODE,
|
||||
PASSWORD,
|
||||
@@ -146,6 +145,15 @@ namespace autofillPrivate {
|
||||
VEHICLE_YEAR,
|
||||
VEHICLE_PLATE_STATE,
|
||||
EMAIL_OR_LOYALTY_MEMBERSHIP_ID,
|
||||
NATIONAL_ID_CARD_NUMBER,
|
||||
NATIONAL_ID_CARD_EXPIRATION_DATE,
|
||||
NATIONAL_ID_CARD_ISSUE_DATE,
|
||||
NATIONAL_ID_CARD_ISSUING_COUNTRY,
|
||||
KNOWN_TRAVELER_NUMBER,
|
||||
KNOWN_TRAVELER_NUMBER_EXPIRATION_DATE,
|
||||
REDRESS_NUMBER,
|
||||
ADDRESS_HOME_ZIP_PREFIX,
|
||||
ADDRESS_HOME_ZIP_SUFFIX,
|
||||
MAX_VALID_FIELD_TYPE
|
||||
};
|
||||
|
||||
@@ -158,7 +166,9 @@ namespace autofillPrivate {
|
||||
// to user's account.
|
||||
ACCOUNT,
|
||||
ACCOUNT_HOME,
|
||||
ACCOUNT_WORK
|
||||
ACCOUNT_WORK,
|
||||
// The address is stored locally. Not synced at all.
|
||||
ACCOUNT_NAME_EMAIL
|
||||
};
|
||||
|
||||
// The type of data that can be stored for an attribute type.
|
||||
|
||||
@@ -1098,48 +1098,6 @@ namespace autotestPrivate {
|
||||
// |callback|: Called when the operation has completed.
|
||||
static void loadSmartDimComponent(VoidCallback callback);
|
||||
|
||||
// Enables/disables the Google Assistant.
|
||||
// |callback|: Called when the operation has completed.
|
||||
static void setAssistantEnabled(
|
||||
boolean enabled,
|
||||
long timeout_ms,
|
||||
VoidCallback callback);
|
||||
|
||||
// Bring up the Assistant service, and wait for the ready signal.
|
||||
// |callback|: Called when the operation has completed.
|
||||
static void enableAssistantAndWaitForReady(
|
||||
VoidCallback callback);
|
||||
|
||||
// Sends a text query via Google Assistant.
|
||||
// |callback|: Called when response has been received.
|
||||
static void sendAssistantTextQuery(
|
||||
DOMString query,
|
||||
long timeout_ms,
|
||||
AssistantQueryStatusCallback callback);
|
||||
|
||||
// Invokes |callback| once the current text/voice interaction is completed.
|
||||
// Responds with the the query status if any valid response was caught
|
||||
// before the timeout. This API should be called before sending the query.
|
||||
// To use it for testing a voice query via OKG in Autotest, for example,
|
||||
// you can do:
|
||||
//
|
||||
// // Enable hotword setting for Assistant.
|
||||
// assistant_util.enable_hotword();
|
||||
//
|
||||
// // Call this API with your callback function.
|
||||
// chrome.autotestPrivate.waitForAssistantQueryStatus(timeout_s,
|
||||
// function(status) {...});
|
||||
//
|
||||
// then start Assistant via OKG and send voice query before timeout.
|
||||
//
|
||||
// TODO(meilinw@): disable warmer welcome to avoid an unintended early
|
||||
// return of this API when launching Assistant via hotkey.
|
||||
// TODO(meilinw@): update the comment above to use Tast instead after
|
||||
// adding API to enable hotword in Tast.
|
||||
static void waitForAssistantQueryStatus(
|
||||
long timeout_s,
|
||||
AssistantQueryStatusCallback callback);
|
||||
|
||||
// Whether the local list of installed ARC packages has been refreshed for
|
||||
// the first time after user login.
|
||||
static void isArcPackageListInitialRefreshed(
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// Use the <code>chrome.enterprise.login</code> API to exit user sessions.
|
||||
// Note: This API is only available to extensions installed by enterprise
|
||||
// policy in ChromeOS managed sessions.
|
||||
// Use the <code>chrome.enterprise.login</code> API to exit Managed Guest
|
||||
// sessions. Note: This API is only available to extensions installed by
|
||||
// enterprise policy in ChromeOS Managed Guest sessions.
|
||||
[platforms = ("chromeos"),
|
||||
implemented_in = "chrome/browser/extensions/api/enterprise_login/enterprise_login_api.h"]
|
||||
namespace enterprise.login {
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
namespace experimentalActor {
|
||||
callback DataCallback = void(ArrayBuffer data);
|
||||
callback ClosureCallback = void();
|
||||
callback TaskIdCallback = void(long taskId);
|
||||
|
||||
interface Functions {
|
||||
// Creates and starts a new task. By default, opens a new tab to
|
||||
@@ -16,17 +17,33 @@ namespace experimentalActor {
|
||||
// startTaskProto: encoded optimization_guide.proto.BrowserStartTask
|
||||
// startTaskcallback:
|
||||
// encoded optimization_guide.proto.BrowserStartTaskResult
|
||||
static void startTask(ArrayBuffer startTaskProto,
|
||||
DataCallback startTaskcallback);
|
||||
[deprecated="Use createTask instead"] static void startTask(
|
||||
ArrayBuffer startTaskProto,
|
||||
DataCallback startTaskcallback);
|
||||
// Executes one or more actions according to request.
|
||||
// request: encoded optimization_guide.proto.BrowserAction
|
||||
// response: encoded optimization_guide.proto.BrowserActionResult
|
||||
static void executeAction(ArrayBuffer browserActionProto,
|
||||
DataCallback executeActioncallback);
|
||||
[deprecated="Use performActions instead"] static void executeAction(
|
||||
ArrayBuffer browserActionProto,
|
||||
DataCallback executeActioncallback);
|
||||
// Stops a task.
|
||||
// taskId: id of the task to stop.
|
||||
// stopTaskcallback: a closure that is called when the task is stopped.
|
||||
static void stopTask(long taskId,
|
||||
ClosureCallback stopTaskcallback);
|
||||
|
||||
// Creates a new task. The callback will contain the task ID for the newly
|
||||
// created task.
|
||||
static void createTask(TaskIdCallback callback);
|
||||
|
||||
// Executes one or more actions according to request.
|
||||
// actionsProto: encoded optimization_guide.proto.Actions
|
||||
// callback: encoded optimization_guide.proto.ActionsResult
|
||||
static void performActions(ArrayBuffer actionsProto, DataCallback callback);
|
||||
|
||||
// Requests a TabObservation for a given tab.
|
||||
// tabId: The session tabId to observe.
|
||||
// callback: encoded optimization_guide.proto.TabObservation
|
||||
static void requestTabObservation(long tabId, DataCallback callback);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -225,6 +225,17 @@ namespace passwordsPrivate {
|
||||
DOMString signonRealm;
|
||||
};
|
||||
|
||||
// Entry that carries the value and the creation timestamp of a recovery
|
||||
// password.
|
||||
dictionary BackupPasswordInfo {
|
||||
// The value of the backup password.
|
||||
DOMString value;
|
||||
|
||||
// Internationalized date on which the backup password was created.
|
||||
// e.g. Mar 17.
|
||||
DOMString creationDate;
|
||||
};
|
||||
|
||||
// Entry used to display a password in the settings UI.
|
||||
dictionary PasswordUiEntry {
|
||||
// The URL collection corresponding to this saved password entry.
|
||||
@@ -241,7 +252,7 @@ namespace passwordsPrivate {
|
||||
DOMString? password;
|
||||
|
||||
// Recovery password for the password change flow.
|
||||
DOMString? backupPassword;
|
||||
BackupPasswordInfo? backupPassword;
|
||||
|
||||
// Text shown if the password was obtained via a federated identity.
|
||||
DOMString? federationText;
|
||||
@@ -357,6 +368,7 @@ namespace passwordsPrivate {
|
||||
callback ExportProgressStatusCallback = void(ExportProgressStatus status);
|
||||
callback VoidCallback = void();
|
||||
callback IsAccountStorageEnabledCallback = void(boolean enabled);
|
||||
callback ShouldShowAccountStorageSettingToggleCallback = void(boolean show);
|
||||
callback PasswordCheckStatusCallback = void(PasswordCheckStatus status);
|
||||
callback ImportPasswordsCallback = void(ImportResults results);
|
||||
callback FetchFamilyResultsCallback = void(FamilyFetchResults results);
|
||||
@@ -498,6 +510,11 @@ namespace passwordsPrivate {
|
||||
// Triggers the enabling / disabling flow for the account storage.
|
||||
static void setAccountStorageEnabled(boolean enabled);
|
||||
|
||||
// Requests whether the account-storage settings toggle should be
|
||||
// shown.
|
||||
static void shouldShowAccountStorageSettingToggle(
|
||||
ShouldShowAccountStorageSettingToggleCallback callback);
|
||||
|
||||
// Requests the latest insecure credentials.
|
||||
static void getInsecureCredentials(
|
||||
PasswordListCallback callback);
|
||||
@@ -603,6 +620,11 @@ namespace passwordsPrivate {
|
||||
// |enabled|: The new enabled state.
|
||||
static void onAccountStorageEnabledStateChanged(boolean enabled);
|
||||
|
||||
// Fired when the visibility of the account storage toggle in Settings
|
||||
// should change.
|
||||
// |show|: The new visibilty state.
|
||||
static void onShouldShowAccountStorageSettingToggleChanged(boolean show);
|
||||
|
||||
// Fired when the insecure credentials changed.
|
||||
// |insecureCredentials|: The updated insecure credentials.
|
||||
static void onInsecureCredentialsChanged(
|
||||
|
||||
@@ -6,6 +6,63 @@
|
||||
// functionality that the PDF Viewer needs from outside the PDF plugin. This API
|
||||
// is exclusively for the PDF Viewer.
|
||||
namespace pdfViewerPrivate {
|
||||
// Must match `SaveRequestType` in `pdf/mojom/pdf.mojom` and
|
||||
// `tools/typescript/definitions/pdf_viewer_private.d.ts`.
|
||||
enum SaveRequestType {
|
||||
ANNOTATION,
|
||||
ORIGINAL,
|
||||
EDITED,
|
||||
SEARCHIFIED
|
||||
};
|
||||
|
||||
// Enumeration of save to drive error types. Must match `SaveToDriveErrorType`
|
||||
// in tools/typescript/definitions/pdf_viewer_private.d.ts.
|
||||
enum SaveToDriveErrorType {
|
||||
NO_ERROR,
|
||||
UNKNOWN_ERROR,
|
||||
QUOTA_EXCEEDED,
|
||||
OFFLINE,
|
||||
OAUTH_ERROR,
|
||||
ACCOUNT_CHOOSER_CANCELED,
|
||||
PARENT_FOLDER_SELECTION_FAILED
|
||||
};
|
||||
|
||||
// Enumeration of save to drive status. Must match `SaveToDriveStatus` in
|
||||
// tools/typescript/definitions/pdf_viewer_private.d.ts.
|
||||
enum SaveToDriveStatus {
|
||||
NOT_STARTED,
|
||||
INITIATED,
|
||||
ACCOUNT_CHOOSER_SHOWN,
|
||||
ACCOUNT_SELECTED,
|
||||
ACCOUNT_ADD_SELECTED,
|
||||
ACCOUNT_ADDED,
|
||||
FETCH_OAUTH,
|
||||
FETCH_PARENT_FOLDER,
|
||||
UPLOAD_STARTED,
|
||||
UPLOAD_IN_PROGRESS,
|
||||
UPLOAD_COMPLETED,
|
||||
UPLOAD_RETRIED,
|
||||
UPLOAD_FAILED
|
||||
};
|
||||
|
||||
// Progress of a save to drive request.
|
||||
dictionary SaveToDriveProgress {
|
||||
// The status of the upload.
|
||||
SaveToDriveStatus status;
|
||||
|
||||
// The error type of the upload.
|
||||
SaveToDriveErrorType errorType;
|
||||
|
||||
// The ID of the drive item that was uploaded.
|
||||
DOMString? driveItemId;
|
||||
|
||||
// The total size of the file in bytes.
|
||||
long? fileSizeBytes;
|
||||
|
||||
// The number of bytes that have been uploaded.
|
||||
long? uploadedBytes;
|
||||
};
|
||||
|
||||
// Nearly identical to mimeHandlerPrivate.StreamInfo, but without a mime type
|
||||
// nor a response header field. Those fields are unused by the PDF viewer.
|
||||
dictionary StreamInfo {
|
||||
@@ -52,6 +109,11 @@ namespace pdfViewerPrivate {
|
||||
DOMString url,
|
||||
IsAllowedLocalFileAccessCallback callback);
|
||||
|
||||
// Sends a request to save the PDF to Google Drive.
|
||||
static void saveToDrive(
|
||||
SaveRequestType saveRequestType,
|
||||
optional VoidCallback callback);
|
||||
|
||||
// Sets the current tab title to `title` for a full-page PDF.
|
||||
static void setPdfDocumentTitle(
|
||||
DOMString title,
|
||||
@@ -69,6 +131,13 @@ namespace pdfViewerPrivate {
|
||||
// `streamUrl`: Unique ID for the instance that should perform the save.
|
||||
static void onSave(DOMString streamUrl);
|
||||
|
||||
// Fired when the browser wants the listener to update the save to drive
|
||||
// progress.
|
||||
// `streamUrl`: Unique ID for the instance that should perform the save.
|
||||
// `progress`: The progress of the save to drive.
|
||||
static void onSaveToDriveProgress(DOMString streamUrl,
|
||||
SaveToDriveProgress progress);
|
||||
|
||||
// Fired when the browser wants the listener to update the viewport based on
|
||||
// a different PDF URL.
|
||||
// `pdfUrl`: The string of the PDF URL that should update the viewport.
|
||||
|
||||
@@ -11,9 +11,9 @@ namespace processes {
|
||||
renderer,
|
||||
extension,
|
||||
notification,
|
||||
plugin,
|
||||
plugin, // Obsolete, will never be returned.
|
||||
worker,
|
||||
nacl,
|
||||
nacl, // Obsolete, will never be returned.
|
||||
service_worker,
|
||||
utility,
|
||||
gpu,
|
||||
|
||||
@@ -14,6 +14,17 @@ namespace sidePanel {
|
||||
SidePanel side_panel;
|
||||
};
|
||||
|
||||
// Defines the possible alignment for the side panel in the browser UI.
|
||||
enum Side {
|
||||
left,
|
||||
right
|
||||
};
|
||||
|
||||
// Represents the layout of the side panel, indicating which side it is shown.
|
||||
dictionary PanelLayout {
|
||||
Side side;
|
||||
};
|
||||
|
||||
// The options used when setting a side panel. Omitted properties are
|
||||
// unchanged.
|
||||
dictionary PanelOptions {
|
||||
@@ -69,6 +80,7 @@ namespace sidePanel {
|
||||
callback VoidCallback = void();
|
||||
callback PanelOptionsCallback = void(PanelOptions options);
|
||||
callback PanelBehaviorCallback = void(PanelBehavior behavior);
|
||||
callback PanelLayoutCallback = void(PanelLayout layout);
|
||||
|
||||
interface Functions {
|
||||
// Configures the side panel.
|
||||
@@ -105,5 +117,9 @@ namespace sidePanel {
|
||||
static void open(
|
||||
OpenOptions options,
|
||||
VoidCallback callback);
|
||||
|
||||
// Returns the side panel's current layout.
|
||||
// |callback|: Called with a $(ref:PanelLayout) containing the side value.
|
||||
static void getLayout(PanelLayoutCallback callback);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -37,8 +37,6 @@
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "chrome/common/crash_keys.h"
|
||||
#include "chrome/common/pepper_permission_util.h"
|
||||
#include "chrome/common/ppapi_utils.h"
|
||||
#include "chrome/common/profiler/chrome_thread_group_profiler_client.h"
|
||||
#include "chrome/common/profiler/chrome_thread_profiler_client.h"
|
||||
#include "chrome/common/profiler/core_unwinders.h"
|
||||
@@ -120,6 +118,7 @@
|
||||
#include "components/subresource_filter/content/renderer/subresource_filter_agent.h"
|
||||
#include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h"
|
||||
#include "components/subresource_filter/core/common/common_features.h"
|
||||
#include "components/subresource_filter/core/common/memory_mapped_ruleset.h"
|
||||
#include "components/variations/net/variations_http_headers.h"
|
||||
#include "components/variations/variations_switches.h"
|
||||
#include "components/version_info/version_info.h"
|
||||
@@ -137,14 +136,12 @@
|
||||
#include "content/public/renderer/render_frame_visitor.h"
|
||||
#include "extensions/buildflags/buildflags.h"
|
||||
#include "extensions/renderer/extensions_renderer_api_provider.h"
|
||||
#include "ipc/ipc_sync_channel.h"
|
||||
#include "media/base/media_switches.h"
|
||||
#include "media/media_buildflags.h"
|
||||
#include "mojo/public/cpp/bindings/generic_pending_receiver.h"
|
||||
#include "mojo/public/cpp/bindings/remote.h"
|
||||
#include "net/base/net_errors.h"
|
||||
#include "pdf/buildflags.h"
|
||||
#include "ppapi/buildflags/buildflags.h"
|
||||
#include "printing/buildflags/buildflags.h"
|
||||
#include "services/network/public/cpp/is_potentially_trustworthy.h"
|
||||
#include "services/service_manager/public/cpp/interface_provider.h"
|
||||
@@ -203,11 +200,6 @@
|
||||
#include "chrome/renderer/render_frame_font_family_accessor.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
#include "components/nacl/common/nacl_constants.h"
|
||||
#include "components/nacl/renderer/nacl_helper.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
#include "chrome/common/initialize_extensions_client.h"
|
||||
#include "chrome/renderer/extensions/api/chrome_extensions_renderer_api_provider.h"
|
||||
@@ -237,11 +229,6 @@
|
||||
#include "chrome/renderer/plugins/chrome_plugin_placeholder.h"
|
||||
#endif // BUILDFLAG(ENABLE_PLUGINS)
|
||||
|
||||
#if BUILDFLAG(ENABLE_PPAPI)
|
||||
#include "chrome/renderer/pepper/pepper_helper.h"
|
||||
#include "ppapi/shared_impl/ppapi_switches.h" // nogncheck crbug.com/1125897
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_PRINTING)
|
||||
#include "chrome/renderer/printing/chrome_print_render_frame_helper_delegate.h"
|
||||
#include "components/printing/renderer/print_render_frame_helper.h" // nogncheck
|
||||
@@ -300,13 +287,6 @@ using UsesKeyboardAccessoryForSuggestions =
|
||||
|
||||
namespace {
|
||||
|
||||
// Allow PPAPI for Android Runtime for Chromium. (See crbug.com/383937)
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
const char* const kPredefinedAllowedCameraDeviceOrigins[] = {
|
||||
"6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",
|
||||
"4EB74897CB187C7633357C2FE832E0AD6A44883A"};
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_PDF)
|
||||
std::vector<url::Origin> GetAdditionalPdfInternalPluginAllowedOrigins() {
|
||||
return {url::Origin::Create(GURL(chrome::kChromeUIPrintURL))};
|
||||
@@ -354,17 +334,6 @@ std::unique_ptr<base::Unwinder> CreateV8Unwinder(v8::Isolate* isolate) {
|
||||
return std::make_unique<V8Unwinder>(isolate);
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL) && BUILDFLAG(ENABLE_EXTENSIONS) && \
|
||||
BUILDFLAG(IS_CHROMEOS)
|
||||
bool IsTerminalSystemWebAppNaClPage(GURL url) {
|
||||
GURL::Replacements replacements;
|
||||
replacements.ClearQuery();
|
||||
replacements.ClearRef();
|
||||
url = url.ReplaceComponents(replacements);
|
||||
return url == "chrome-untrusted://terminal/html/terminal_ssh.html";
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace
|
||||
|
||||
ChromeContentRendererClient::ChromeContentRendererClient()
|
||||
@@ -388,10 +357,6 @@ ChromeContentRendererClient::ChromeContentRendererClient()
|
||||
EnsureExtensionsClientInitialized();
|
||||
ChromeExtensionsRendererClient::Create();
|
||||
#endif
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
for (const char* origin : kPredefinedAllowedCameraDeviceOrigins)
|
||||
allowed_camera_device_origins_.insert(origin);
|
||||
#endif
|
||||
}
|
||||
|
||||
ChromeContentRendererClient::~ChromeContentRendererClient() = default;
|
||||
@@ -446,6 +411,8 @@ void ChromeContentRendererClient::RenderThreadStarted() {
|
||||
extensions_renderer_client->RenderThreadStarted();
|
||||
WebSecurityPolicy::RegisterURLSchemeAsExtension(
|
||||
WebString::FromASCII(extensions::kExtensionScheme));
|
||||
WebSecurityPolicy::RegisterURLSchemeAsIsolatedApp(
|
||||
WebString::FromASCII(chrome::kIsolatedAppScheme));
|
||||
WebSecurityPolicy::RegisterURLSchemeAsCodeCacheWithHashing(
|
||||
WebString::FromASCII(extensions::kExtensionScheme));
|
||||
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
@@ -621,14 +588,6 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
||||
registry);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_PPAPI)
|
||||
new PepperHelper(render_frame);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
new nacl::NaClHelper(render_frame);
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(SAFE_BROWSING_DB_LOCAL) || BUILDFLAG(SAFE_BROWSING_DB_REMOTE)
|
||||
safe_browsing::ThreatDOMDetails::Create(render_frame, registry);
|
||||
#endif
|
||||
@@ -738,8 +697,7 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
||||
if (content_based_fingerprinting_protection_enabled_ &&
|
||||
fingerprinting_protection_ruleset_dealer_) {
|
||||
auto* fingerprinting_protection_renderer_agent =
|
||||
new fingerprinting_protection_filter::RendererAgent(
|
||||
render_frame, fingerprinting_protection_ruleset_dealer_.get());
|
||||
new fingerprinting_protection_filter::RendererAgent(render_frame);
|
||||
fingerprinting_protection_renderer_agent->Initialize();
|
||||
}
|
||||
|
||||
@@ -1034,83 +992,6 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kAllowed:
|
||||
case chrome::mojom::PluginStatus::kPlayImportantContent: {
|
||||
#if BUILDFLAG(ENABLE_NACL) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
WebLocalFrame* frame = render_frame->GetWebFrame();
|
||||
const bool is_nacl_plugin =
|
||||
info.name == ASCIIToUTF16(nacl::kNaClPluginName);
|
||||
const bool is_nacl_mime_type =
|
||||
actual_mime_type == nacl::kNaClPluginMimeType;
|
||||
const bool is_pnacl_mime_type =
|
||||
actual_mime_type == nacl::kPnaclPluginMimeType;
|
||||
if (is_nacl_plugin || is_nacl_mime_type || is_pnacl_mime_type) {
|
||||
bool has_enable_nacl_switch =
|
||||
base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kEnableNaCl);
|
||||
bool is_nacl_unrestricted =
|
||||
has_enable_nacl_switch || is_pnacl_mime_type;
|
||||
GURL manifest_url;
|
||||
GURL app_url;
|
||||
if (is_nacl_mime_type || is_pnacl_mime_type) {
|
||||
// Normal NaCl/PNaCl embed. The app URL is the page URL.
|
||||
manifest_url = url;
|
||||
app_url = frame->GetDocument().Url();
|
||||
} else {
|
||||
// NaCl is being invoked as a content handler. Look up the NaCl
|
||||
// module using the MIME type. The app URL is the manifest URL.
|
||||
manifest_url = GetNaClContentHandlerURL(actual_mime_type, info);
|
||||
app_url = manifest_url;
|
||||
}
|
||||
bool is_module_allowed = false;
|
||||
const extensions::Extension* extension =
|
||||
extensions::RendererExtensionRegistry::Get()
|
||||
->GetExtensionOrAppByURL(manifest_url);
|
||||
if (IsNaclAllowed()) {
|
||||
if (extension) {
|
||||
is_module_allowed =
|
||||
IsNativeNaClAllowed(app_url, is_nacl_unrestricted, extension);
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
// Allow Terminal System App to load the SSH extension NaCl
|
||||
// module.
|
||||
} else if (IsTerminalSystemWebAppNaClPage(app_url)) {
|
||||
is_module_allowed = true;
|
||||
#endif
|
||||
} else {
|
||||
WebDocument document = frame->GetDocument();
|
||||
is_module_allowed =
|
||||
has_enable_nacl_switch ||
|
||||
(is_pnacl_mime_type &&
|
||||
blink::WebOriginTrials::IsPNaClEnabled(&document));
|
||||
}
|
||||
}
|
||||
if (!is_module_allowed) {
|
||||
WebString error_message;
|
||||
if (!IsNaclAllowed()) {
|
||||
error_message = "NaCl is disabled.";
|
||||
} else if (is_nacl_mime_type) {
|
||||
error_message =
|
||||
"Only unpacked extensions and apps installed from the Chrome "
|
||||
"Web Store can load NaCl modules without enabling Native "
|
||||
"Client in about:flags.";
|
||||
} else if (is_pnacl_mime_type) {
|
||||
error_message =
|
||||
"PNaCl modules can only be used on the open web (non-app/"
|
||||
"extension) when the PNaCl Origin Trial is enabled";
|
||||
}
|
||||
frame->AddMessageToConsole(WebConsoleMessage(
|
||||
blink::mojom::ConsoleMessageLevel::kError, error_message));
|
||||
placeholder = create_blocked_plugin(
|
||||
IDR_BLOCKED_PLUGIN_HTML,
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
l10n_util::GetStringUTF16(IDS_NACL_PLUGIN_BLOCKED));
|
||||
#else
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
ReportNaClAppType(is_pnacl_mime_type, extension);
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_NACL) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
|
||||
if (info.path.value() == ChromeContentClient::kPDFExtensionPluginPath) {
|
||||
// Report PDF load metrics. Since the PDF plugin is comprised of an
|
||||
// extension that loads a second plugin, avoid double counting by
|
||||
@@ -1150,7 +1031,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_PDF)
|
||||
|
||||
return render_frame->CreatePlugin(info, params);
|
||||
return nullptr;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kDisabled: {
|
||||
if (info.path.value() == ChromeContentClient::kPDFExtensionPluginPath) {
|
||||
@@ -1205,25 +1086,6 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_PLUGINS)
|
||||
|
||||
// For NaCl content handling plugins, the NaCl manifest is stored in an
|
||||
// additonal 'nacl' param associated with the MIME type.
|
||||
// static
|
||||
GURL ChromeContentRendererClient::GetNaClContentHandlerURL(
|
||||
const std::string& actual_mime_type,
|
||||
const content::WebPluginInfo& plugin) {
|
||||
// Look for the manifest URL among the MIME type's additonal parameters.
|
||||
for (const auto& mime_type : plugin.mime_types) {
|
||||
if (mime_type.mime_type == actual_mime_type) {
|
||||
for (const auto& p : mime_type.additional_params) {
|
||||
if (p.name == u"nacl")
|
||||
return GURL(p.value);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return GURL();
|
||||
}
|
||||
|
||||
void ChromeContentRendererClient::GetInterface(
|
||||
const std::string& interface_name,
|
||||
mojo::ScopedMessagePipeHandle interface_pipe) {
|
||||
@@ -1236,117 +1098,6 @@ void ChromeContentRendererClient::GetInterface(
|
||||
mojo::GenericPendingReceiver(interface_name, std::move(interface_pipe)));
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
// static
|
||||
bool ChromeContentRendererClient::IsNativeNaClAllowed(
|
||||
const GURL& app_url,
|
||||
bool is_nacl_unrestricted,
|
||||
const extensions::Extension* extension) {
|
||||
bool is_invoked_by_webstore_installed_extension = false;
|
||||
bool is_extension_unrestricted = false;
|
||||
bool is_extension_force_installed = false;
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
bool is_extension_from_webstore = extension && extension->from_webstore();
|
||||
|
||||
bool is_invoked_by_extension = app_url.SchemeIs(extensions::kExtensionScheme);
|
||||
bool is_invoked_by_hosted_app = extension && extension->is_hosted_app() &&
|
||||
extension->web_extent().MatchesURL(app_url);
|
||||
|
||||
is_invoked_by_webstore_installed_extension =
|
||||
is_extension_from_webstore &&
|
||||
(is_invoked_by_extension || is_invoked_by_hosted_app);
|
||||
|
||||
// Allow built-in extensions and developer mode extensions.
|
||||
is_extension_unrestricted =
|
||||
extension &&
|
||||
(extensions::Manifest::IsUnpackedLocation(extension->location()) ||
|
||||
extensions::Manifest::IsComponentLocation(extension->location()));
|
||||
// Allow extensions force installed by admin policy.
|
||||
is_extension_force_installed =
|
||||
extension &&
|
||||
extensions::Manifest::IsPolicyLocation(extension->location());
|
||||
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
|
||||
// Allow NaCl under any of the following circumstances:
|
||||
// 1) An extension is loaded unpacked or built-in (component) to Chrome.
|
||||
// 2) An extension is force installed by policy.
|
||||
// 3) An extension is installed from the webstore, and invoked in that
|
||||
// context (hosted app URL or chrome-extension:// scheme).
|
||||
// 4) --enable-nacl is set.
|
||||
bool is_nacl_allowed_by_location = is_extension_unrestricted ||
|
||||
is_extension_force_installed ||
|
||||
is_invoked_by_webstore_installed_extension;
|
||||
bool is_nacl_allowed = is_nacl_allowed_by_location || is_nacl_unrestricted;
|
||||
return is_nacl_allowed;
|
||||
}
|
||||
|
||||
// static
|
||||
void ChromeContentRendererClient::ReportNaClAppType(
|
||||
bool is_pnacl,
|
||||
const extensions::Extension* extension) {
|
||||
// These values are persisted to logs. Entries should not be renumbered and
|
||||
// numeric values should never be reused.
|
||||
enum class NaClAppType {
|
||||
kPNaClOpenWeb = 0,
|
||||
kPNaClHostedApp = 1,
|
||||
kPNaClPlatformApp = 2,
|
||||
kPNaClLegacyPackagedApp = 3,
|
||||
kPNaClMv2Extension = 4,
|
||||
kPNaClMv3Extension = 5,
|
||||
kPNaClLoginScreenMv2Extension = 6,
|
||||
kPNaClLoginScreenMv3Extension = 7,
|
||||
kNaClOpenWeb = 8,
|
||||
kNaClHostedApp = 9,
|
||||
kNaClPlatformApp = 10,
|
||||
kNaClLegacyPackagedApp = 11,
|
||||
kNaClMv2Extension = 12,
|
||||
kNaClMv3Extension = 13,
|
||||
kNaClLoginScreenMv2Extension = 14,
|
||||
kNaClLoginScreenMv3Extension = 15,
|
||||
kMaxValue = kNaClLoginScreenMv3Extension
|
||||
};
|
||||
|
||||
// Not all combinations are allowed by default (e.g. kNaClOpenWeb), but they
|
||||
// can be used with the --enable-nacl flag.
|
||||
NaClAppType app_type =
|
||||
is_pnacl ? NaClAppType::kPNaClOpenWeb : NaClAppType::kNaClOpenWeb;
|
||||
if (extension) {
|
||||
if (extension->is_extension()) {
|
||||
if (extension->manifest_version() >= 3) {
|
||||
app_type = is_pnacl ? NaClAppType::kPNaClMv3Extension
|
||||
: NaClAppType::kNaClMv3Extension;
|
||||
} else {
|
||||
app_type = is_pnacl ? NaClAppType::kPNaClMv2Extension
|
||||
: NaClAppType::kNaClMv2Extension;
|
||||
}
|
||||
} else if (extension->is_hosted_app()) {
|
||||
app_type =
|
||||
is_pnacl ? NaClAppType::kPNaClHostedApp : NaClAppType::kNaClHostedApp;
|
||||
} else if (extension->is_legacy_packaged_app()) {
|
||||
app_type = is_pnacl ? NaClAppType::kPNaClLegacyPackagedApp
|
||||
: NaClAppType::kNaClLegacyPackagedApp;
|
||||
} else if (extension->is_platform_app()) {
|
||||
app_type = is_pnacl ? NaClAppType::kPNaClPlatformApp
|
||||
: NaClAppType::kNaClPlatformApp;
|
||||
} else if (extension->is_login_screen_extension()) {
|
||||
if (extension->manifest_version() >= 3) {
|
||||
app_type = is_pnacl ? NaClAppType::kPNaClLoginScreenMv3Extension
|
||||
: NaClAppType::kNaClLoginScreenMv3Extension;
|
||||
} else {
|
||||
app_type = is_pnacl ? NaClAppType::kPNaClLoginScreenMv2Extension
|
||||
: NaClAppType::kNaClLoginScreenMv2Extension;
|
||||
}
|
||||
} else {
|
||||
// We found an extension that is not covered by any metric
|
||||
NOTREACHED() << "Invalid NaCl usage in extension. Extension name: "
|
||||
<< extension->name() << ", type: " << extension->GetType();
|
||||
}
|
||||
}
|
||||
|
||||
base::UmaHistogramEnumeration("NaCl.EmbedderType", app_type);
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_NACL)
|
||||
|
||||
void ChromeContentRendererClient::PrepareErrorPage(
|
||||
content::RenderFrame* render_frame,
|
||||
const blink::WebURLError& web_error,
|
||||
@@ -1442,9 +1193,6 @@ bool ChromeContentRendererClient::ShouldNotifyServiceWorkerOnWebSocketActivity(
|
||||
blink::ProtocolHandlerSecurityLevel
|
||||
ChromeContentRendererClient::GetProtocolHandlerSecurityLevel(
|
||||
const url::Origin& origin) {
|
||||
if (origin.scheme() == chrome::kIsolatedAppScheme) {
|
||||
return blink::ProtocolHandlerSecurityLevel::kSameOrigin;
|
||||
}
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
return extensions::ExtensionsRendererClient::Get()
|
||||
->GetProtocolHandlerSecurityLevel();
|
||||
@@ -1525,48 +1273,6 @@ ChromeContentRendererClient::CreatePrescientNetworking(
|
||||
render_frame);
|
||||
}
|
||||
|
||||
bool ChromeContentRendererClient::IsExternalPepperPlugin(
|
||||
const std::string& module_name) {
|
||||
// TODO(bbudge) remove this when the trusted NaCl plugin has been removed.
|
||||
// We must defer certain plugin events for NaCl instances since we switch
|
||||
// from the in-process to the out-of-process proxy after instantiating them.
|
||||
return module_name == "Native Client";
|
||||
}
|
||||
|
||||
bool ChromeContentRendererClient::IsOriginIsolatedPepperPlugin(
|
||||
const base::FilePath& plugin_path) {
|
||||
// Hosting plugins in-process is inherently incompatible with attempting to
|
||||
// process-isolate plugins from different origins.
|
||||
auto* cmdline = base::CommandLine::ForCurrentProcess();
|
||||
if (cmdline->HasSwitch(switches::kPpapiInProcess)) {
|
||||
// The kPpapiInProcess switch should only be used by tests. In particular,
|
||||
// we expect that the PDF plugin should always be isolated in the product
|
||||
// (and that the switch won't interfere with PDF isolation).
|
||||
CHECK_NE(ChromeContentClient::kPDFInternalPluginPath, plugin_path.value());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_NACL)
|
||||
// Don't isolate the NaCl plugin (preserving legacy behavior).
|
||||
if (plugin_path.value() == nacl::kInternalNaClPluginFileName)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
// Isolate all the other plugins (including the PDF plugin + test plugins).
|
||||
return true;
|
||||
}
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
bool ChromeContentRendererClient::IsExtensionOrSharedModuleAllowed(
|
||||
const GURL& url,
|
||||
const std::set<std::string>& allowlist) {
|
||||
const extensions::ExtensionSet* extension_set =
|
||||
extensions::RendererExtensionRegistry::Get()->GetMainThreadExtensionSet();
|
||||
return ::IsExtensionOrSharedModuleAllowed(url, extension_set, allowlist);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(ENABLE_SPELLCHECK)
|
||||
void ChromeContentRendererClient::InitSpellCheck() {
|
||||
spellcheck_ = std::make_unique<SpellCheck>(this);
|
||||
@@ -1606,7 +1312,7 @@ ChromeContentRendererClient::CreateWebSocketHandshakeThrottleProvider() {
|
||||
bool ChromeContentRendererClient::ShouldUseCodeCacheWithHashing(
|
||||
const blink::WebURL& request_url) const {
|
||||
if (content::HasWebUIScheme(request_url)) {
|
||||
return chrome::ShouldUseCodeCacheForWebUIUrl(GURL(request_url));
|
||||
return ShouldUseCodeCacheForWebUIUrl(GURL(request_url));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1646,22 +1352,6 @@ ChromeContentRendererClient::CreateSpeechRecognitionClient(
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_SPEECH_SERVICE)
|
||||
|
||||
bool ChromeContentRendererClient::IsPluginAllowedToUseCameraDeviceAPI(
|
||||
const GURL& url) {
|
||||
#if BUILDFLAG(ENABLE_PLUGINS) && BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#if BUILDFLAG(ENABLE_PPAPI)
|
||||
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kEnablePepperTesting))
|
||||
return true;
|
||||
#endif // BUILDFLAG(ENABLE_PPAPI)
|
||||
|
||||
if (IsExtensionOrSharedModuleAllowed(url, allowed_camera_device_origins_))
|
||||
return true;
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void ChromeContentRendererClient::RunScriptsAtDocumentStart(
|
||||
content::RenderFrame* render_frame) {
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
@@ -1833,8 +1523,10 @@ blink::WebFrame* ChromeContentRendererClient::FindFrame(
|
||||
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
}
|
||||
|
||||
bool ChromeContentRendererClient::IsSafeRedirectTarget(const GURL& upstream_url,
|
||||
const GURL& target_url) {
|
||||
bool ChromeContentRendererClient::IsSafeRedirectTarget(
|
||||
const GURL& upstream_url,
|
||||
const GURL& target_url,
|
||||
const std::optional<url::Origin>& request_initiator) {
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
if (target_url.SchemeIs(extensions::kExtensionScheme)) {
|
||||
const extensions::Extension* extension =
|
||||
@@ -1843,10 +1535,8 @@ bool ChromeContentRendererClient::IsSafeRedirectTarget(const GURL& upstream_url,
|
||||
if (!extension) {
|
||||
return false;
|
||||
}
|
||||
// TODO(solomonkinard): Use initiator_origin and add tests.
|
||||
if (extensions::WebAccessibleResourcesInfo::IsResourceWebAccessibleRedirect(
|
||||
extension, target_url, /*initiator_origin=*/std::nullopt,
|
||||
upstream_url)) {
|
||||
extension, target_url, request_initiator, upstream_url)) {
|
||||
return true;
|
||||
}
|
||||
return extension->guid() == upstream_url.host();
|
||||
@@ -1901,6 +1591,17 @@ bool ChromeContentRendererClient::
|
||||
return content_based_fingerprinting_protection_enabled_;
|
||||
}
|
||||
|
||||
scoped_refptr<const subresource_filter::MemoryMappedRuleset>
|
||||
ChromeContentRendererClient::GetFingerprintingProtectionRuleset() {
|
||||
if (fingerprinting_protection_ruleset_dealer_) {
|
||||
// Returns nullptr if no ruleset file is available.
|
||||
fingerprinting_protection_ruleset_ =
|
||||
fingerprinting_protection_ruleset_dealer_->GetRuleset();
|
||||
return fingerprinting_protection_ruleset_;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::unique_ptr<blink::WebLinkPreviewTriggerer>
|
||||
ChromeContentRendererClient::CreateLinkPreviewTriggerer() {
|
||||
return ::CreateWebLinkPreviewTriggerer();
|
||||
|
||||
@@ -1260,7 +1260,7 @@ policies:
|
||||
1259: ExtensibleEnterpriseSSOBlocklist
|
||||
1260: CSSCustomStateDeprecatedSyntaxEnabled
|
||||
1261: MemorySaverModeSavings
|
||||
1262: KioskVisionTelemetryEnabled
|
||||
1262: ''
|
||||
1263: GenAIWallpaperSettings
|
||||
1264: GenAIVcBackgroundSettings
|
||||
1265: DynamicCodeSettings
|
||||
@@ -1313,7 +1313,7 @@ policies:
|
||||
1312: NTPSharepointCardVisible
|
||||
1313: SharedWorkerBlobURLFixEnabled
|
||||
1314: DeviceNativeClientForceAllowed
|
||||
1315: GenAiLensOverlaySettings
|
||||
1315: ''
|
||||
1316: PasswordManagerPasskeysEnabled
|
||||
1317: FilePickerChooseFromDriveSettings
|
||||
1318: LiveTranslateEnabled
|
||||
@@ -1371,7 +1371,21 @@ policies:
|
||||
1370: EnableUnsafeSwiftShader
|
||||
1371: LocalNetworkAccessAllowedForUrls
|
||||
1372: LocalNetworkAccessBlockedForUrls
|
||||
|
||||
1373: DeviceBluetoothJustWorksPairingEnabled
|
||||
1374: LiveCaptionEnabled
|
||||
1375: DeviceUserInitiatedFlexSystemFirmwareUpdatesEnabled
|
||||
1376: AutomatedPasswordChangeSettings
|
||||
1377: DefaultDeviceAttributesSetting
|
||||
1378: DeviceAttributesBlockedForOrigins
|
||||
1379: FloatingSsoSessionCookiesIncluded
|
||||
1380: ServiceWorkerAutoPreloadEnabled
|
||||
1381: ProtectedContentIdentifiersAllowed
|
||||
1382: LegacyCookieScopeEnabled
|
||||
1383: LegacyCookieScopeEnabledForDomainList
|
||||
1384: WebRtcPostQuantumKeyAgreement
|
||||
1385: DeviceLoginScreenSecurityKeyPermitAttestation
|
||||
1386: RestrictCoreSharingOnRenderer
|
||||
1387: OriginKeyedProcessesEnabled
|
||||
atomic_groups:
|
||||
1: Homepage
|
||||
2: RemoteAccess
|
||||
@@ -1431,3 +1445,6 @@ atomic_groups:
|
||||
56: WebRtc
|
||||
57: ControlledFrameSettings
|
||||
58: LocalNetworkAccessSettings
|
||||
59: DeviceAttributesSettings
|
||||
60: ProtectedContent
|
||||
61: LegacyCookieScopeSettings
|
||||
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
caption: Enable Live Caption
|
||||
default: null
|
||||
desc: |-
|
||||
Enable the Live Caption feature.
|
||||
|
||||
If this policy is set to Enabled, Live Caption will always be turned on.
|
||||
|
||||
If this policy is set to Disabled, Live Caption will always be turned off.
|
||||
|
||||
If you set this policy as mandatory, users cannot change or override it.
|
||||
|
||||
If this policy is left unset, Live Caption is disabled initially but can be enabled by the user anytime.
|
||||
example_value: true
|
||||
features:
|
||||
can_be_recommended: true
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
items:
|
||||
- caption: Enable Live Caption
|
||||
value: true
|
||||
- caption: Disable Live Caption
|
||||
value: false
|
||||
- caption: Allow the user to decide
|
||||
value: null
|
||||
owners:
|
||||
- evliu@google.com
|
||||
- chrome-media-ux@google.com
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
- chrome.*:140-
|
||||
tags: []
|
||||
type: main
|
||||
+2
@@ -10,6 +10,8 @@ desc: |-
|
||||
If you set this policy as mandatory, users cannot change or override it.
|
||||
|
||||
If this policy is left unset, Live Translate is disabled initially but can be enabled by the user anytime.
|
||||
|
||||
In <ph name="LIVE_CAPTION_ENABLED_POLICY_NAME">LiveCaptionEnabled</ph> is set to Disabled, Live Translate will be disabled regardless of this policy setting.
|
||||
example_value: true
|
||||
features:
|
||||
can_be_recommended: true
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ items:
|
||||
value: false
|
||||
owners:
|
||||
- ovn@google.com
|
||||
- cros-web-apps-team@google.com
|
||||
- lt-web-apps-team@google.com
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
caption: Control Android Google location services
|
||||
deprecated: true
|
||||
default: 0
|
||||
default_for_enterprise_users: 0
|
||||
desc: |-
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ items:
|
||||
- caption: Open links in Android apps by default
|
||||
value: false
|
||||
owners:
|
||||
- cros-web-apps-team@google.com
|
||||
- lt-web-apps-team@google.com
|
||||
- ovn@google.com
|
||||
schema:
|
||||
type: boolean
|
||||
|
||||
+2
@@ -24,6 +24,8 @@ desc: |-
|
||||
|
||||
'<ph name="RELOAD_PAGES_ACTION">reload_pages</ph>': reload all webpages. For some pages, the user may be prompted for confirmation first. Not supported on iOS.
|
||||
|
||||
The user will stay signed into their Google account when deleting cookies using '<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION">clear_cookies_and_other_site_data</ph>'.
|
||||
|
||||
Setting '<ph name="CLEAR_BROWSING_HISTORY_ACTION">clear_browsing_history</ph>', '<ph name="CLEAR_PASSWORD_SIGNIN_ACTION">clear_password_signing</ph>', '<ph name="CLEAR_AUTOFILL_ACTION">clear_autofill</ph>', and '<ph name="CLEAR_SITE_SETTINGS_ACTION">clear_site_settings</ph>' will disable sync for the respective data types if neither `<ph name="CHROME_SYNC_NAME">Chrome Sync</ph>` is disabled by setting the <ph name="SYNC_DISABLED_POLICY_NAME">SyncDisabled</ph> policy nor <ph name="BROWSER_SIGNIN_POLICY_NAME">BrowserSignin</ph> is disabled.
|
||||
example_value:
|
||||
- close_browsers
|
||||
|
||||
+1
@@ -5,6 +5,7 @@ desc: |-
|
||||
Allow content to be cast to the device using <ph name="PRODUCT_NAME">Google Cast</ph>.
|
||||
|
||||
If this policy is set to False, users will not be able to cast content to their device. If this policy is set to True, users are allowed to cast content. If this policy is not set, users are not allowed to cast content to enrolled ChromeOS devices, but can cast to non enrolled devices.
|
||||
default: true
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ supported_on:
|
||||
future_on:
|
||||
- chrome_os
|
||||
- fuchsia
|
||||
- ios
|
||||
items:
|
||||
- caption: Enable managed profile cloud reporting
|
||||
value: true
|
||||
|
||||
+2
@@ -15,6 +15,8 @@ features:
|
||||
per_profile: true
|
||||
cloud_only: true
|
||||
user_only: true
|
||||
future_on:
|
||||
- android
|
||||
supported_on:
|
||||
- chrome.*:137-
|
||||
owners:
|
||||
|
||||
+2
@@ -15,6 +15,8 @@ features:
|
||||
per_profile: true
|
||||
cloud_only: true
|
||||
user_only: true
|
||||
future_on:
|
||||
- android
|
||||
supported_on:
|
||||
- chrome.*:137-
|
||||
owners:
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ features:
|
||||
future_on:
|
||||
- fuchsia
|
||||
owners:
|
||||
- file://components/policy/OWNERS
|
||||
- chromeos-commercial-networking-team@google.com
|
||||
- miersh@google.com
|
||||
schema:
|
||||
items:
|
||||
|
||||
+1
@@ -5,6 +5,7 @@ desc: |-
|
||||
Leaving the policy unset results in the use of <ph name="DEFAULT_COOKIES_SETTINGS_POLICY_NAME">DefaultCookiesSetting</ph> for all sites, if it's set. If not, the user's personal setting applies. URLs not covered by the patterns specified also result in the use of defaults.
|
||||
|
||||
While no specific policy takes precedence, see <ph name="COOKIES_BLOCKED_FOR_URLS_POLICY_NAME">CookiesBlockedForUrls</ph> and <ph name="COOKIES_ALLOWED_FOR_URLS_POLICY_NAME">CookiesAllowedForUrls</ph>. URL patterns among these 3 policies must not conflict.
|
||||
default: null
|
||||
example_value: 1
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
caption: Control use of the Device Attributes API
|
||||
default: null
|
||||
desc: |-
|
||||
Setting the policy specifies whether a force-installed Isolated Web App or kiosk application has access to the Device Attributes API by default.
|
||||
Please see https://wicg.github.io/WebApiDevice/device_attributes for details.
|
||||
|
||||
Setting the policy to 1 or leaving it unset allows force-installed Isolated Web Apps and kiosk applications to use the API.
|
||||
|
||||
Setting the policy to 2 blocks force-installed Isolated Web Apps and kiosk applications from using the API.
|
||||
|
||||
example_value: 1
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
items:
|
||||
- caption: Allow force-installed Isolated Web Apps and kiosk applications to use the Device Attributes API
|
||||
name: AllowDeviceAttributes
|
||||
value: 1
|
||||
- caption: Do not allow force-installed Isolated Web Apps and kiosk applications to use the Device Attributes API
|
||||
name: BlockDeviceAttributes
|
||||
value: 2
|
||||
owners:
|
||||
- file://chrome/browser/device_api/OWNERS
|
||||
- iwa-team@google.com
|
||||
schema:
|
||||
enum:
|
||||
- 1
|
||||
- 2
|
||||
type: integer
|
||||
supported_on:
|
||||
- chrome_os:140-
|
||||
tags: []
|
||||
type: int-enum
|
||||
+1
-1
@@ -9,7 +9,6 @@ features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
future_on:
|
||||
- android
|
||||
- fuchsia
|
||||
items:
|
||||
- caption: Do not allow any site to request access to serial ports via the Serial
|
||||
@@ -29,6 +28,7 @@ schema:
|
||||
supported_on:
|
||||
- chrome_os:86-
|
||||
- chrome.*:86-
|
||||
- android:140-
|
||||
tags:
|
||||
- website-sharing
|
||||
type: int-enum
|
||||
|
||||
+1
@@ -35,5 +35,6 @@ supported_on:
|
||||
- android:113-
|
||||
- chrome.*:113-
|
||||
- chrome_os:113-
|
||||
deprecated: true
|
||||
tags: []
|
||||
type: int-enum
|
||||
|
||||
+5
-4
@@ -1,8 +1,8 @@
|
||||
caption: Allow origins to query device attributes
|
||||
caption: Allow Device Attributes API on these sites
|
||||
desc: |-
|
||||
Setting the policy allows listed origins to get device attributes (e.g. serial number, hostname) by using Device Attributes API.
|
||||
Setting the policy allows listed origins to get device attributes (e.g. serial number, hostname) using the Device Attributes API.
|
||||
|
||||
Origins must correspond to web applications that are force-installed using <ph name="WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME">WebAppInstallForceList</ph> or <ph name="ISOLATED_WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME">IsolatedWebAppInstallForceList</ph> (since version 125) policy or set up as a kiosk app. For Device Attributes API specification please see https://wicg.github.io/WebApiDevice/device_attributes.
|
||||
Origins must correspond to web applications that are force-installed Isolated Web Apps (using <ph name="ISOLATED_WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME">IsolatedWebAppInstallForceList</ph> policy) (since version 125), set up as a kiosk app, or web applications that are force-installed (using <ph name="WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME">WebAppInstallForceList</ph>) (before version 140). For Device Attributes API specification please see https://wicg.github.io/WebApiDevice/device_attributes.
|
||||
|
||||
For detailed information on valid <ph name="URL_LABEL">url</ph> patterns (since version 127), please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. <ph name="WILDCARD_VALUE">*</ph> is not an accepted value for this policy.
|
||||
example_value:
|
||||
@@ -15,8 +15,9 @@ features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
owners:
|
||||
- file://components/policy/OWNERS
|
||||
- file://chrome/browser/device_api/OWNERS
|
||||
- anqing@chromium.org
|
||||
- iwa-team@google.com
|
||||
schema:
|
||||
items:
|
||||
type: string
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
caption: Block Device Attributes API on these sites
|
||||
desc: |-
|
||||
Setting the policy blocks listed origins from getting device attributes (e.g. serial number, hostname) using the Device Attributes API.
|
||||
|
||||
Origins must correspond to web applications that are force-installed Isolated Web Apps (using <ph name="ISOLATED_WEB_APP_INSTALL_FORCE_LIST_POLICY_NAME">IsolatedWebAppInstallForceList</ph> policy) or set up as a kiosk app. For Device Attributes API specification please see https://wicg.github.io/WebApiDevice/device_attributes.
|
||||
|
||||
For detailed information on valid <ph name="URL_LABEL">url</ph> patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. <ph name="WILDCARD_VALUE">*</ph> is not an accepted value for this policy.
|
||||
example_value:
|
||||
- https://www.google.com
|
||||
- '[*.]example.com'
|
||||
- example.edu
|
||||
- '*://example.edu:*/'
|
||||
- isolated-app://ggx2sheak3vpmm7vmjqnjwuzx3xwot3vdayrlgnvbkq2mp5lg4daaaic
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
owners:
|
||||
- file://chrome/browser/device_api/OWNERS
|
||||
- iwa-team@google.com
|
||||
schema:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
supported_on:
|
||||
- chrome_os:140-
|
||||
tags: []
|
||||
type: list
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
caption: Revert to legacy cookie scope behavior
|
||||
default: 0
|
||||
desc: |-
|
||||
This policy allows to revert back to the legacy behavior for cookie scoping.
|
||||
|
||||
It means cookies set on a specific protocol (e.g. HTTPS) or port can be accessed from another.
|
||||
|
||||
Setting the policy to Enabled, cookies will not be bound to their originating scheme and port.
|
||||
|
||||
Setting the policy to Disabled or not set, cookies will behave with origin-bound scope.
|
||||
|
||||
This configuration will only apply to top-level domains (e.g. example.com) and not to
|
||||
subdomains (e.g. sub.example.com).
|
||||
|
||||
This policy will be removed in the future.
|
||||
|
||||
|
||||
example_value: 1
|
||||
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
|
||||
future_on:
|
||||
- chrome.*
|
||||
- chrome_os
|
||||
- android
|
||||
|
||||
items:
|
||||
- caption: Cookies have origin-bound scope
|
||||
value: 0
|
||||
- caption: Revert back to legacy cookie scope behavior
|
||||
value: 1
|
||||
|
||||
owners:
|
||||
- amarjotgill@chromium.org
|
||||
- bingler@chromium.org
|
||||
|
||||
schema:
|
||||
enum:
|
||||
- 0
|
||||
- 1
|
||||
type: integer
|
||||
|
||||
tags: []
|
||||
|
||||
type: int
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
caption: Enable Legacy Cookie Scope behavior for a list of domains
|
||||
desc: |-
|
||||
This policy provides a temporary exemption for specified domains from the new origin-bound cookie behavior.
|
||||
|
||||
Adding a domain to the list will allow cookies from those domain being used by different scheme or port.
|
||||
More information can be found with <ph name ="LEGACY_COOKIE_SCOPE_ENABLED_POLICY_NAME">LegacyCookieScopeEnabled</ph>.
|
||||
|
||||
For cookies on domains not covered by the patterns specified here, or for all cookies if this policy is not set, they will behave with origin-bound cookie behavior.
|
||||
|
||||
This policy will be removed in the future.
|
||||
|
||||
example_value:
|
||||
- www.example.com
|
||||
- '[*.]example.edu'
|
||||
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
|
||||
future_on:
|
||||
- chrome.*
|
||||
- chrome_os
|
||||
- android
|
||||
|
||||
owners:
|
||||
- amarjotgill@chromium.org
|
||||
- bingler@chromium.org
|
||||
|
||||
schema:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
tags: []
|
||||
type: list
|
||||
-2
@@ -15,8 +15,6 @@ deprecated: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
future_on:
|
||||
- fuchsia
|
||||
owners:
|
||||
- bingler@chromium.org
|
||||
- file://net/cookies/OWNERS
|
||||
|
||||
+1
-1
@@ -13,7 +13,6 @@ features:
|
||||
dynamic_refresh: true
|
||||
per_profile: false
|
||||
future_on:
|
||||
- android
|
||||
- fuchsia
|
||||
owners:
|
||||
- reillyg@chromium.org
|
||||
@@ -25,5 +24,6 @@ schema:
|
||||
supported_on:
|
||||
- chrome_os:94-
|
||||
- chrome.*:94-
|
||||
- android:140-
|
||||
tags: []
|
||||
type: list
|
||||
|
||||
+1
-1
@@ -16,7 +16,6 @@ features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
future_on:
|
||||
- android
|
||||
- fuchsia
|
||||
owners:
|
||||
- reillyg@chromium.org
|
||||
@@ -27,6 +26,7 @@ schema:
|
||||
supported_on:
|
||||
- chrome_os:86-
|
||||
- chrome.*:86-
|
||||
- android:140-
|
||||
tags:
|
||||
- website-sharing
|
||||
type: list
|
||||
|
||||
+1
-1
@@ -16,7 +16,6 @@ features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
future_on:
|
||||
- android
|
||||
- fuchsia
|
||||
owners:
|
||||
- reillyg@chromium.org
|
||||
@@ -27,5 +26,6 @@ schema:
|
||||
supported_on:
|
||||
- chrome_os:86-
|
||||
- chrome.*:86-
|
||||
- android:140-
|
||||
tags: []
|
||||
type: list
|
||||
|
||||
+1
@@ -28,5 +28,6 @@ supported_on:
|
||||
- android:113-
|
||||
- chrome.*:113-
|
||||
- chrome_os:113-
|
||||
deprecated: true
|
||||
tags: []
|
||||
type: list
|
||||
|
||||
+11
@@ -108,3 +108,14 @@ SmartCardConnectSettings:
|
||||
- SmartCardConnectAllowedForUrls
|
||||
- SmartCardConnectBlockedForUrls
|
||||
- DefaultSmartCardConnectSetting
|
||||
LegacyCookieScopeSettings:
|
||||
caption: Legacy Cookie Scope settings
|
||||
policies:
|
||||
- LegacyCookieScopeEnabled
|
||||
- LegacyCookieScopeEnabledForDomainList
|
||||
DeviceAttributesSettings:
|
||||
caption: Device Attributes settings
|
||||
policies:
|
||||
- DefaultDeviceAttributesSetting
|
||||
- DeviceAttributesAllowedForOrigins
|
||||
- DeviceAttributesBlockedForOrigins
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
caption: Auto update P2P enabled
|
||||
default: true
|
||||
default_for_managed_devices_doc_only: true
|
||||
default: false
|
||||
default_for_managed_devices_doc_only: false
|
||||
desc: |-
|
||||
Specifies whether P2P is to be used for OS update payloads.
|
||||
If set to True, devices will share and attempt to consume update payloads on the LAN, potentially reducing Internet bandwidth usage and congestion. If the update payload is not available on the LAN, the device will fall back to downloading from an update server.
|
||||
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
caption: Include session cookies in Floating SSO functionality
|
||||
default: false
|
||||
desc: |-
|
||||
By default, Floating SSO moves only persistent cookies between devices. This policy controls whether session cookies should also be included. It takes effect only when <ph name="FLOATING_SSO_ENABLED_POLICY_NAME">FloatingSsoEnabled</ph> policy is Enabled.
|
||||
|
||||
When this policy is Enabled, Floating SSO will synchronize both session and persistent cookies.
|
||||
When this policy is Disabled or not set, Floating SSO will only synchronize persistent cookies.
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
future_on:
|
||||
- chrome_os
|
||||
items:
|
||||
- caption: Include session cookies in Floating SSO functionality
|
||||
value: true
|
||||
- caption: Don't sync session cookies with Floating SSO
|
||||
value: false
|
||||
owners:
|
||||
- andreydav@google.com
|
||||
- mpetrisor@chromium.org
|
||||
schema:
|
||||
type: boolean
|
||||
tags: []
|
||||
type: main
|
||||
+1
@@ -4,3 +4,4 @@ FloatingSso:
|
||||
- FloatingSsoEnabled
|
||||
- FloatingSsoDomainBlocklist
|
||||
- FloatingSsoDomainBlocklistExceptions
|
||||
- FloatingSsoSessionCookiesIncluded
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
caption: Settings for Autofill with AI
|
||||
caption: Settings for enhanced autofill
|
||||
|
||||
desc: |-
|
||||
Specifies whether users can let <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> use Generative AI to better understand forms and help them fill more fields.
|
||||
@@ -19,13 +19,13 @@ features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
items:
|
||||
- caption: Allow autofill with AI and improve AI models.
|
||||
- caption: Allow enhanced autofill and improve AI models.
|
||||
name: Allowed
|
||||
value: 0
|
||||
- caption: Allow autofill with AI without improving AI models.
|
||||
- caption: Allow enhanced autofill without improving AI models.
|
||||
name: AllowedWithoutLogging
|
||||
value: 1
|
||||
- caption: Do not allow autofill with AI.
|
||||
- caption: Do not allow enhanced autofill.
|
||||
name: Disabled
|
||||
value: 2
|
||||
owners:
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ desc: |-
|
||||
|
||||
If the policy is unset, its behavior is determined by the <ph name="GEN_AI_DEFAULT_SETTINGS_POLICY_NAME">GenAiDefaultSettings</ph> policy.
|
||||
|
||||
For more information, please check the Enterprise Release Notes (https://support.google.com/chrome/a/answer/7679408).
|
||||
For more information, please check the Help Center article https://support.google.com/chrome/a?p=gemini_in_chrome.
|
||||
owners:
|
||||
- salg@google.com
|
||||
- ssid@chromium.org
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
caption: Set the default policy value for <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s covered generative AI features
|
||||
|
||||
desc: |-
|
||||
This policy defines the default setting for all covered generative AI features. For example, if this policy is set to value 1, then 1 will be the default setting for all covered generative AI features. It will not impact any manually set policy values. This setting will define the defaults for <ph name="GEMINI_SETTINGS_POLICY_NAME">GeminiSettings</ph> and covered Chrome generative AI features. See https://support.google.com/chrome/a?p=generative_ai_settings for the list of covered features.
|
||||
This policy defines the default setting for all covered generative AI features. For example, if this policy is set to value 1, then 1 will be the default setting for all covered generative AI features. It will not impact any manually set policy values. This setting will define the defaults for covered generative AI features in Chrome. See https://support.google.com/chrome/a?p=generative_ai_settings for the list of covered features.
|
||||
|
||||
0 = Allow the feature to be used, while allowing Google to use relevant data to improve its AI models. Relevant data may include prompts, inputs, outputs, source materials, and written feedback, depending on the feature. It may also be reviewed by humans to improve AI models. 0 is the default value, except when noted below.
|
||||
|
||||
|
||||
-48
@@ -1,48 +0,0 @@
|
||||
caption: Settings for the Lens Overlay feature
|
||||
|
||||
desc: |-
|
||||
Lens Overlay lets users issue Google searches by interacting with a screenshot of the current page laid over the actual web contents. Additionally, lets users issue Google searches that are contextually aware of the current page. To provide contextual answers, the Lens Overlay send page content to Google to answer the user's query with the context of the page the user is on.
|
||||
|
||||
There is no user setting to control this feature, it is generally made available to all users with Google as their default search engine unless disabled by this policy.
|
||||
|
||||
0 = Allow the feature to be used, while allowing Google to use relevant data to improve its AI models. Relevant data may include prompts, inputs, outputs, source materials, and written feedback, depending on the feature. It may also be reviewed by humans to improve AI models. 0 is the default value, except when noted below.
|
||||
|
||||
1 = Allow the feature to be used, but does not allow Google to improve models using users' content (including prompts, inputs, outputs, source materials, and written feedback). 1 is the default value for Enterprise users managed by <ph name="GOOGLE_ADMIN_CONSOLE_PRODUCT_NAME">Google Admin console</ph> and for Education accounts managed by <ph name="GOOGLE_WORKSPACE_PRODUCT_NAME">Google Workspace</ph>.
|
||||
|
||||
2 = Do not allow the feature.
|
||||
|
||||
If the policy is unset, its behavior is determined by the <ph name="GEN_AI_DEFAULT_SETTINGS_POLICY_NAME">GenAiDefaultSettings</ph> policy.
|
||||
|
||||
For more information on data handling for generative AI features, please see https://support.google.com/chrome/a?p=generative_ai_settings.
|
||||
|
||||
default: 0
|
||||
example_value: 2
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: true
|
||||
items:
|
||||
- caption: Allow Lens Overlay and improve AI models.
|
||||
name: Allowed
|
||||
value: 0
|
||||
- caption: Allow Lens Overlay without improving AI models.
|
||||
name: AllowedWithoutLogging
|
||||
value: 1
|
||||
- caption: Do not allow Lens Overlay.
|
||||
name: Disabled
|
||||
value: 2
|
||||
owners:
|
||||
- mercerd@google.com
|
||||
- stanfield@google.com
|
||||
- file://components/lens/OWNERS
|
||||
schema:
|
||||
enum:
|
||||
- 0
|
||||
- 1
|
||||
- 2
|
||||
type: integer
|
||||
tags:
|
||||
- google-sharing
|
||||
future_on:
|
||||
- chrome.*
|
||||
- chrome_os
|
||||
type: int-enum
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
caption: Mode of the Assistant onboarding experience
|
||||
default: Default
|
||||
deprecated: true
|
||||
desc: |-
|
||||
This policy controls the mode of the Assistant onboarding experience.
|
||||
|
||||
@@ -27,6 +28,6 @@ schema:
|
||||
- Education
|
||||
type: string
|
||||
supported_on:
|
||||
- chrome_os:85-
|
||||
- chrome_os:85-137
|
||||
tags: []
|
||||
type: string-enum
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
caption: Enable Google Assistant voice match flow
|
||||
default: true
|
||||
deprecated: true
|
||||
desc: |-
|
||||
Setting the policy to Enabled lets show Google Assistant voice match flow during initial setup. Setting the policy to Disabled keeps Google Assistant from showing voice match flow during initial setup.
|
||||
|
||||
@@ -19,6 +20,6 @@ owners:
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
- chrome_os:93-
|
||||
- chrome_os:93-137
|
||||
tags: []
|
||||
type: main
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
caption: Allow Google Assistant to access screen context
|
||||
default: null
|
||||
deprecated: true
|
||||
desc: |-
|
||||
Setting the policy to Enabled lets Google Assistant access screen context and send that data to a server. Setting the policy to Disabled keeps Google Assistant from screen context.
|
||||
|
||||
@@ -20,7 +21,7 @@ owners:
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
- chrome_os:74-
|
||||
- chrome_os:74-137
|
||||
tags:
|
||||
- google-sharing
|
||||
type: main
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
caption: Allow Google Assistant to listen for the voice activation phrase
|
||||
default: null
|
||||
deprecated: true
|
||||
desc: |-
|
||||
Setting the policy to Enabled lets Google Assistant listen for the voice activation phrase. Setting the policy to Disabled keeps Google Assistant from listening for the phrase.
|
||||
|
||||
@@ -20,6 +21,6 @@ owners:
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
- chrome_os:74-
|
||||
- chrome_os:74-137
|
||||
tags: []
|
||||
type: main
|
||||
|
||||
+44
-4
@@ -5,18 +5,58 @@ desc: |-
|
||||
If the policy is unset or an empty list, there are no device-local accounts.
|
||||
device_only: true
|
||||
example_value:
|
||||
- demo@example.com
|
||||
- account_id: impjpekpbbjbphdokggglkmcnjpigcgf
|
||||
type: 1 # Chrome App
|
||||
kiosk_app:
|
||||
app_id: impjpekpbbjbphdokggglkmcnjpigcgf
|
||||
update_url: https://example.com/updates.xml
|
||||
- account_id: https://example.com
|
||||
type: 4 # Web App
|
||||
web_kiosk_app:
|
||||
url: https://example.com
|
||||
- account_id: aiv4bxauvcu3zvbu6r5yynoh4atkzqqaoeof5mwz54b4zfywcrjuoaacai
|
||||
type: 5 # Isolated Web App
|
||||
isolated_kiosk_app:
|
||||
web_bundle_id: aiv4bxauvcu3zvbu6r5yynoh4atkzqqaoeof5mwz54b4zfywcrjuoaacai
|
||||
update_manifest_url: https://example.com/update.json
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
owners:
|
||||
- file://components/policy/OWNERS
|
||||
- zmin@chromium.org
|
||||
schema:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
account_id:
|
||||
type: string
|
||||
type:
|
||||
type: integer
|
||||
kiosk_app:
|
||||
type: object
|
||||
properties:
|
||||
app_id:
|
||||
type: string
|
||||
update_url:
|
||||
type: string
|
||||
web_kiosk_app:
|
||||
type: object
|
||||
properties:
|
||||
url:
|
||||
type: string
|
||||
isolated_kiosk_app:
|
||||
type: object
|
||||
properties:
|
||||
web_bundle_id:
|
||||
type: string
|
||||
update_manifest_url:
|
||||
type: string
|
||||
required:
|
||||
- account_id
|
||||
- type
|
||||
supported_on:
|
||||
- chrome_os:25-
|
||||
tags: []
|
||||
type: list
|
||||
type: dict
|
||||
generate_device_proto: False
|
||||
|
||||
-24
@@ -1,24 +0,0 @@
|
||||
owners:
|
||||
- sseckler@chromium.org
|
||||
- file://chromeos/components/kiosk/OWNERS
|
||||
caption: Enable Kiosk Vision's telemetry reporting.
|
||||
desc: |-
|
||||
Setting the policy to Enabled means Kiosk Vision's telemetry reporting is enabled.
|
||||
It will start the Kiosk Vision framework and enable reporting of the audience telemetry.
|
||||
Leaving this policy unset or setting it to Disabled means Kiosk Vision's telemetry reporting is disabled.
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: false
|
||||
type: main
|
||||
schema:
|
||||
type: boolean
|
||||
items:
|
||||
- caption: Enable Kiosk Vision's telemetry reporting.
|
||||
value: true
|
||||
- caption: Disable Kiosk Vision's telemetry reporting.
|
||||
value: false
|
||||
default: false
|
||||
example_value: false
|
||||
future_on:
|
||||
- chrome_os
|
||||
tags: []
|
||||
+2
-1
@@ -14,7 +14,7 @@ desc: |-
|
||||
|
||||
For detailed information on valid URL patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
|
||||
|
||||
See https://github.com/explainers-by-googlers/local-network-access for <ph
|
||||
See https://wicg.github.io/local-network-access/ for <ph
|
||||
name="LOCAL_NETWORK_ACCESS">Local Network Access</ph> restrictions.
|
||||
|
||||
example_value:
|
||||
@@ -25,6 +25,7 @@ example_value:
|
||||
supported_on:
|
||||
- chrome.*:139-
|
||||
- chrome_os:139-
|
||||
- android:140-
|
||||
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+2
-1
@@ -16,7 +16,7 @@ desc: |-
|
||||
|
||||
For detailed information on valid URL patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
|
||||
|
||||
See https://github.com/explainers-by-googlers/local-network-access for <ph
|
||||
See https://wicg.github.io/local-network-access/ for <ph
|
||||
name="LOCAL_NETWORK_ACCESS">Local Network Access</ph> restrictions.
|
||||
|
||||
example_value:
|
||||
@@ -27,6 +27,7 @@ example_value:
|
||||
supported_on:
|
||||
- chrome.*:139-
|
||||
- chrome_os:139-
|
||||
- android:140-
|
||||
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+2
-1
@@ -16,8 +16,9 @@ desc: |-
|
||||
name="LOCAL_NETWORK_ACCESS">Local Network Access</ph> requests will use the
|
||||
default handling of these requests.
|
||||
|
||||
See https://github.com/explainers-by-googlers/local-network-access for <ph
|
||||
See https://wicg.github.io/local-network-access/ for <ph
|
||||
name="LOCAL_NETWORK_ACCESS">Local Network Access</ph> restrictions.
|
||||
default: false
|
||||
|
||||
supported_on:
|
||||
- chrome.*:138-
|
||||
|
||||
+1
@@ -5,6 +5,7 @@ desc: |-
|
||||
Setting the policy to false or not setting it doesn't enforce any enabled input methods and <ph name="ALLOWED_INPUT_METHODS_POLICY_NAME">AllowedInputMethods</ph> policy only configures which input methods are available to the user.
|
||||
|
||||
If <ph name="ALLOWED_INPUT_METHODS_POLICY_NAME">AllowedInputMethods</ph> policy is unset or set to an empty list, this policy is ignored and users can enable any input methods.
|
||||
default: false
|
||||
device_only: false
|
||||
example_value: true
|
||||
features:
|
||||
|
||||
+1
@@ -15,6 +15,7 @@ desc: |-
|
||||
Note that, ambient authentication is always allowed on regular profiles.
|
||||
|
||||
In <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 81 and later, if the policy is left not set, ambient authentication will be enabled in regular sessions only.
|
||||
default: 0
|
||||
example_value: 0
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -7,6 +7,7 @@ desc: |-
|
||||
Setting the policy to Disabled turns off prompts, and audio capture is only available to URLs set in the AudioCaptureAllowedUrls list.
|
||||
|
||||
Note: The policy affects all audio input (not just the built-in microphone).
|
||||
default: true
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -5,6 +5,7 @@ desc: |-
|
||||
Setting the policy to Disabled allows no audio output while users are signed in.
|
||||
|
||||
Note: The policy affects all audio output, including audio accessibility features. Do not turn the policy off if a user requires a screen reader.
|
||||
default: true
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -8,6 +8,7 @@ desc: |-
|
||||
If you disable this setting, AutoFill will be inaccessible to users.
|
||||
|
||||
If you enable this setting or do not set a value, AutoFill will remain under the control of the user. This will allow them to configure AutoFill profiles and to switch AutoFill on or off at their own discretion.
|
||||
default: true
|
||||
example_value: false
|
||||
features:
|
||||
can_be_recommended: true
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ desc: |-
|
||||
Setting the policy to True or leaving it unset gives users control of Autofill for addresses in the UI.
|
||||
|
||||
Setting the policy to False means Autofill never suggests or fills address information, nor does it save additional address information that users submit while browsing the web.
|
||||
default: true
|
||||
example_value: false
|
||||
features:
|
||||
can_be_recommended: true
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ desc: |-
|
||||
Setting the policy to True or leaving it unset means users can control autofill suggestions for credit cards in the UI.
|
||||
|
||||
Setting the policy to False means autofill never suggests or fills credit card information, nor will it save additional credit card information that users might submit while browsing the web.
|
||||
default: true
|
||||
example_value: false
|
||||
features:
|
||||
can_be_recommended: true
|
||||
|
||||
+5
-2
@@ -2,9 +2,10 @@ caption: Allow media autoplay
|
||||
desc: |-
|
||||
Setting the policy to True lets <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> autoplay media. Setting the policy to False stops <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> from autoplaying media.
|
||||
|
||||
By default, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> doesn't autoplay media. But, for certain URL patterns, you can use the <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME">AutoplayAllowlist</ph> policy to change this setting.
|
||||
If this policy is left unset, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> doesn't autoplay media. But, for certain URL patterns, you can use the <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME">AutoplayAllowlist</ph> policy to change this setting.
|
||||
|
||||
If this policy changes while <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is running, it only applies to newly opened tabs.
|
||||
If this policy changes while <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is running, it only applies to newly opened tabs.
|
||||
default: null
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
@@ -16,6 +17,8 @@ items:
|
||||
value: true
|
||||
- caption: Do not allow Chrome to autoplay media
|
||||
value: false
|
||||
- caption: Do not allow Chrome to autoplay media unless the URL is specified in the <ph name="AUTOPLAY_ALLOWLIST_POLICY_NAME">AutoplayAllowlist</ph> policy
|
||||
value: null
|
||||
owners:
|
||||
- fbeaufort@chromium.org
|
||||
- beccahughes@chromium.org
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ desc: |-
|
||||
If this policy is set to true or not configured, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and <ph name="LACROS_NAME">Lacros</ph> will allow to add a new person from the user manager.
|
||||
|
||||
If this policy is set to false, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and <ph name="LACROS_NAME">Lacros</ph> will not allow adding a new person from the user manager.
|
||||
default: true
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ desc: |-
|
||||
If this policy is set to Enabled or not configured, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will enable guest logins. Guest logins are <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> profiles where all windows are in incognito mode.
|
||||
|
||||
If this policy is set to Disabled, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will not allow guest profiles to be started.
|
||||
default: true
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ desc: |-
|
||||
Setting the policy to Enabled means <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> enforces guest sessions and prevents profile sign-ins. Guest sign-ins are <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> profiles where windows are in Incognito mode.
|
||||
|
||||
Setting the policy to Disabled, leaving it unset, or disabling browser Guest mode (through <ph name="BROWSER_GUEST_MODE_ENABLED_POLICY_NAME">BrowserGuestModeEnabled</ph>) allows the use of new and existing profiles.
|
||||
default: false
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: false
|
||||
|
||||
+2
@@ -10,6 +10,8 @@ desc: |-
|
||||
|
||||
The deletion of expired data will happen 15 seconds after the browser starts then every 30 minutes while the browser is running.
|
||||
|
||||
The user will stay signed into their Google account when deleting cookies.
|
||||
|
||||
Until Chrome 114, this policy required the <ph name="SYNC_DISABLED_POLICY_NAME">SyncDisabled</ph> policy to be set to true. Starting Chrome 115, setting this policy will disable sync for the respective data types if neither `<ph name="CHROME_SYNC_NAME">Chrome Sync</ph>` is disabled by setting the <ph name="SYNC_DISABLED_POLICY_NAME">SyncDisabled</ph> policy nor <ph name="BROWSER_SIGNIN_POLICY_NAME">BrowserSignin</ph> is disabled.
|
||||
example_value:
|
||||
- data_types:
|
||||
|
||||
+1
@@ -4,6 +4,7 @@ desc: |-
|
||||
Setting the policy to Enabled lets <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> bypass any proxy for captive portal authentication. These authentication webpages, starting from the captive portal sign-in page until Chrome detects a successful internet connection, open in a separate window, ignoring all policy settings and restrictions for the current user. This policy only takes effect if a proxy is set up (by policy, extension, or the user in chrome://settings).
|
||||
|
||||
Setting the policy to Disabled or leaving it unset means any captive portal authentication pages are shown in a (regular) new browser tab, using the current user's proxy settings.
|
||||
default: false
|
||||
example_value: true
|
||||
features:
|
||||
can_be_recommended: false
|
||||
|
||||
+1
@@ -16,6 +16,7 @@ desc: |-
|
||||
If the setting is changed while the user is signed into a multiprofile session, all users in the session will be checked against their corresponding settings. The session will be closed if any one of the users is no longer allowed to be in the session.
|
||||
|
||||
If the policy is left not set, the default value 'MultiProfileUserBehaviorMustBePrimary' applies for enterprise-managed users and 'MultiProfileUserBehaviorUnrestricted' will be used for non-managed users.
|
||||
default: unrestricted
|
||||
example_value: unrestricted
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+2
@@ -6,6 +6,8 @@ desc: |-
|
||||
|
||||
The available data types are browsing history (<ph name="DATA_TYPE_BROWSING_HISTORY">browsing_history</ph>), download history (<ph name="DATA_TYPE_DOWNLOAD_HISTORY">download_history</ph>), cookies (<ph name="DATA_TYPE_COOKIES_AND_OTHER_SITE_DATA">cookies_and_other_site_data</ph>), cache<ph name="DATA_TYPE_CACHED_IMAGES_AND_FILES"> (cached_images_and_files)</ph>, autofill (<ph name="DATA_TYPE_AUTOFILL">autofill</ph>), passwords (<ph name="DATA_TYPE_PASSWORD">password_signin</ph>), site settings (<ph name="DATA_TYPE_SITE_SETTINGS">site_settings</ph>) and hosted apps data (<ph name="DATA_TYPE_HOSTED_APP_DATA">hosted_app_data</ph>). This policy does not take precedence over <ph name="ALLOW_DELETING_BROWSER_HISTORY_POLICY_NAME">AllowDeletingBrowserHistory</ph>.
|
||||
|
||||
The user will stay signed into their Google account when deleting cookies.
|
||||
|
||||
Until Chrome 114, this policy required the <ph name="SYNC_DISABLED_POLICY_NAME">SyncDisabled</ph> policy to be set to true. Starting Chrome 115, setting this policy will disable sync for the respective data types if neither `<ph name="CHROME_SYNC_NAME">Chrome Sync</ph>` is disabled by setting the <ph name="SYNC_DISABLED_POLICY_NAME">SyncDisabled</ph> policy nor <ph name="BROWSER_SIGNIN_POLICY_NAME">BrowserSignin</ph> is disabled.
|
||||
|
||||
If for some reason the data deletion has started and did not complete, the browsing data will be cleared the next time the profile is loaded.
|
||||
|
||||
+1
@@ -5,6 +5,7 @@ desc: |-
|
||||
Setting the policy to Disabled or leaving it unset renders <ph name="CHROME_ENTERPRISE_CORE_NAME">Chrome Enterprise Core</ph> browser enrollment optional and doesn't block <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> launch process if failed.
|
||||
|
||||
Machine scope cloud policy enrollment on desktop uses this policy. See https://support.google.com/chrome/a/answer/9301891 for details.
|
||||
default: false
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: false
|
||||
|
||||
+1
@@ -9,6 +9,7 @@ desc: |-
|
||||
|
||||
This policy is specific to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and does not affect <ph name="GOOGLE_UPDATE_NAME">Google Update</ph> because they are independent applications.
|
||||
<ph name="GOOGLE_UPDATE_NAME">Google Update</ph> has a separate policy with the same name.
|
||||
default: false
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -4,6 +4,7 @@ desc: |-
|
||||
|
||||
If set to disabled, updates to components are disabled. However, some components are exempt from this policy: updates to any component that does not contain executable code and is critical for the security of the browser will not be disabled.
|
||||
Examples of such components include the certificate revocation lists and subresource filters.
|
||||
default: true
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: false
|
||||
|
||||
+3
@@ -19,6 +19,7 @@ desc: |-
|
||||
whether iCloud Drive is enabled, and whether the user has recently used or
|
||||
created a credential in their
|
||||
<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> profile.
|
||||
default: null
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
@@ -33,6 +34,8 @@ items:
|
||||
value: true
|
||||
- caption: Default to creating passkeys in other stores such as the <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> profile.
|
||||
value: false
|
||||
- caption: Default is determined by other factors
|
||||
value: null
|
||||
tags: []
|
||||
supported_on:
|
||||
- chrome.mac:118-
|
||||
|
||||
+1
-2
@@ -189,9 +189,8 @@ schema:
|
||||
type: object
|
||||
type: object
|
||||
type: array
|
||||
future_on:
|
||||
- android
|
||||
supported_on:
|
||||
- android:140-
|
||||
- chrome.*:128-
|
||||
- chrome_os:128-
|
||||
tags: []
|
||||
|
||||
+3
@@ -5,6 +5,7 @@ desc: |-
|
||||
Leaving the policy unset means <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> lets users control whether it's the default and, if not, whether user notifications should appear.
|
||||
|
||||
Note: For <ph name="MS_WIN_NAME">Microsoft®Windows®</ph> administrators, turning this setting on only works for machines running Windows 7. For later versions, you must deploy a "default application associations" file that makes <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> the handler for the <ph name="HTTPS_PROTOCOL">https</ph> and <ph name="HTTP_PROTOCOL">http</ph> protocols (and, optionally, the <ph name="FTP_PROTOCOL">ftp</ph> protocol and other file formats). See Chrome Help ( https://support.google.com/chrome?p=make_chrome_default_win ).
|
||||
default: null
|
||||
example_value: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
@@ -16,6 +17,8 @@ items:
|
||||
value: true
|
||||
- caption: Disable the default browser check on startup
|
||||
value: false
|
||||
- caption: Allow the user to decide
|
||||
value: null
|
||||
label: Set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as Default Browser
|
||||
owners:
|
||||
- file://components/policy/OWNERS
|
||||
|
||||
+1
@@ -7,6 +7,7 @@ desc: |-
|
||||
If this policy is set to enabled or not set, the context menu item for your default search provider will be available.
|
||||
|
||||
The policy value is only appled when the <ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME">DefaultSearchProviderEnabled</ph> policy is enabled, and is not applicable otherwise.
|
||||
default: true
|
||||
example_value: true
|
||||
features:
|
||||
can_be_recommended: true
|
||||
|
||||
+1
@@ -14,6 +14,7 @@ desc: |-
|
||||
As of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 119, this setting also controls whether developer mode for Isolated Web Apps can be activated and used.
|
||||
|
||||
As of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 128, this setting will not control developer mode on extensions page if <ph name="EXTENSION_DEVELOPER_MODE_SETTINGS_POLICY_NAME">ExtensionDeveloperModeSettings</ph> policy is set.
|
||||
default: 0
|
||||
example_value: 2
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -14,6 +14,7 @@ desc: |-
|
||||
Setting this option to disabled or leaving it not set allows the user to use the Developer Tools and the JavaScript console.
|
||||
|
||||
If the policy DeveloperToolsAvailability is set, the value of the policy DeveloperToolsDisabled is ignored.
|
||||
default: false
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -5,6 +5,7 @@ desc: |-
|
||||
Setting the policy to Disabled means <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> turns Bluetooth off, and users can't turn it on.
|
||||
|
||||
Note: To turn on Bluetooth, users must sign out and in again.
|
||||
default: true
|
||||
device_only: true
|
||||
example_value: true
|
||||
features:
|
||||
|
||||
+1
@@ -7,6 +7,7 @@ desc: |-
|
||||
Setting the policy to Enabled means <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> stops the device from going into Developer mode.
|
||||
|
||||
Setting the policy to Disabled or leaving it unset keeps Developer mode available for the device.
|
||||
default: false
|
||||
device_only: true
|
||||
example_value: true
|
||||
features:
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
caption: Enable "Just Works" Bluetooth pairing
|
||||
desc: |-
|
||||
If this policy is disabled or left unset, your <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> device will reject "Just Works" pairing requests initiated by nearby Bluetooth peripherals.
|
||||
|
||||
If this policy is enabled, your <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> device will accept "Just Works" pairing requests initiated by nearby Bluetooth peripherals.
|
||||
|
||||
Note: This policy only takes effect once a user has logged in and does not apply to the login screen.
|
||||
device_only: true
|
||||
example_value: true
|
||||
default: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
items:
|
||||
- caption: Accept "Just Works" Bluetooth pairing requests
|
||||
value: true
|
||||
- caption: Reject "Just Works" Bluetooth pairing requests
|
||||
value: false
|
||||
owners:
|
||||
- michaelfsun@google.com
|
||||
- ghostbusters@google.com
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
- chrome_os:140-
|
||||
tags: []
|
||||
type: main
|
||||
generate_device_proto: True
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
caption: URLs/domains automatically permitted direct Security Key attestation on the login screen
|
||||
desc: |-
|
||||
Setting the policy specifies WebAuthn RP IDs for which no prompt appears when attestation certificates from security keys are requested on the login screen. A signal is also sent to the security key indicating that enterprise attestation may be used. Without this, when sites request attestation of security keys, users are prompted.
|
||||
|
||||
This device policy is equivalent to the existing user policy <ph name="SECURITY_KEY_PERMIT_ATTESTATION_POLICY_NAME">SecurityKeyPermitAttestation</ph>, but applies to the sign-in profile on the login screen instead.
|
||||
example_value:
|
||||
- example.com
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: false
|
||||
owners:
|
||||
- agl@chromium.org
|
||||
- martinkr@google.com
|
||||
- file://components/webauthn/OWNERS
|
||||
- chrome-webauthn@google.com
|
||||
schema:
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
supported_on:
|
||||
- chrome_os:140-
|
||||
tags:
|
||||
- website-sharing
|
||||
type: list
|
||||
device_only: true
|
||||
+3
@@ -5,6 +5,7 @@ desc: |2-
|
||||
If this policy is enabled, user will be able to fully connect their Thunderbolt/USB4 peripheral device through PCIe tunneling.
|
||||
|
||||
If policy is left unset, defaults to false and the user will be able to select whichever state (true/false) for this setting.
|
||||
default: null
|
||||
device_only: true
|
||||
example_value: false
|
||||
features:
|
||||
@@ -17,6 +18,8 @@ items:
|
||||
- caption: Disables PCIe tunneling for Thunderbolt/USB4 peripheral devices, limiting
|
||||
the device capabilities
|
||||
value: false
|
||||
- caption: Allow the user to decide
|
||||
value: null
|
||||
owners:
|
||||
- jimmyxgong@chromium.org
|
||||
- cros-peripheral@google.com
|
||||
|
||||
+2
-4
@@ -3,17 +3,15 @@ default: true
|
||||
desc: |-
|
||||
This device-level policy configures whether <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> will offer a post-quantum key agreement algorithm in TLS, using the ML-KEM NIST standard. Prior to <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> 131, the algorithm was Kyber, an earlier draft iteration of the standard. This allows supporting servers to protect user traffic from being later decrypted by quantum computers.
|
||||
|
||||
If this policy is Enabled, <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> will offer a post-quantum key agreement in TLS connections. User traffic will then be protected from quantum computers when communicating with compatible servers.
|
||||
If this policy is Enabled or not set, <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> will offer a post-quantum key agreement in TLS connections. User traffic will then be protected from quantum computers when communicating with compatible servers.
|
||||
|
||||
If this policy is Disabled, <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> will not offer a post-quantum key agreement in TLS connections. User traffic will then be unprotected from quantum computers.
|
||||
|
||||
If this policy is not set, <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> will follow the default rollout process for offering a post-quantum key agreement.
|
||||
|
||||
Offering Kyber is backwards-compatible. Existing TLS servers and networking middleware are expected to ignore the new option and continue selecting previous options.
|
||||
|
||||
However, devices that do not correctly implement TLS may malfunction when offered the new option. For example, they may disconnect in response to unrecognized options or the resulting larger messages. Such devices are not post-quantum-ready and will interfere with an enterprise's post-quantum transition. If encountered, administrators should contact the vendor for a fix.
|
||||
|
||||
This policy is a temporary measure and will be removed sometime after <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> version 141. It may be Enabled to allow you to test for issues, and may be Disabled while issues are being resolved.
|
||||
This policy is a temporary measure and will be removed sometime after <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> version 145. It may be Enabled to allow you to test for issues, and may be Disabled while issues are being resolved.
|
||||
|
||||
If both this policy and the PostQuantumKeyAgreementEnabled policy are set, this policy will take precedence.
|
||||
|
||||
|
||||
+1
@@ -3,6 +3,7 @@ desc: |-
|
||||
Setting the policy to Enabled or leaving it unset lets a device trigger powerwash.
|
||||
|
||||
Setting the policy to Disabled doesn't let a device trigger powerwash. An exception to still allow a powerwash can occur if <ph name="TPM_FIRMWARE_UPDATE_SETTINGS_NAME">TPMFirmwareUpdateSettings</ph> is set to a value that lets the TPM firmware update, but it hasn't updated yet.
|
||||
default: true
|
||||
device_only: true
|
||||
example_value: true
|
||||
features:
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ desc: "\n This policy, when set to ArcSession, forces the device to reboot
|
||||
\ If left unset, it has no effect and no reboot is forced on user sign out.\
|
||||
\ The same applies if set to Never.\n This policy has effect only for unaffiliated\
|
||||
\ users.\n "
|
||||
default: 1
|
||||
device_only: true
|
||||
example_value: 2
|
||||
features:
|
||||
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
owners:
|
||||
- skend@google.com
|
||||
- chromeos-flex-eng@google.com
|
||||
caption: Allow users to initiate internal firmware updates
|
||||
desc: |-
|
||||
This policy allows users to initiate firmware updates for the local machine rather than peripherals.
|
||||
|
||||
Setting the policy to Enabled allows users such as device owner to initiate firmware updates.
|
||||
|
||||
Setting the policy to Disabled or leaving it unset prevents all users from applying firmware updates.
|
||||
|
||||
This policy applies to firmware for internal component firmware updates for <ph name="PRODUCT_OS_FLEX_NAME">Google ChromeOS Flex</ph> devices. Internal component firmware updates for <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph> devices are not affected by this policy.
|
||||
future_on:
|
||||
- chrome_os
|
||||
device_only: true
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
per_profile: false
|
||||
type: main
|
||||
schema:
|
||||
type: boolean
|
||||
items:
|
||||
- caption: Users may initiate firmware updates
|
||||
value: true
|
||||
- caption: Users may not initiate firmware updates
|
||||
value: false
|
||||
default: false
|
||||
example_value: true
|
||||
tags: ['google-sharing']
|
||||
generate_device_proto: True
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
caption: Disable support for 3D graphics APIs
|
||||
desc: |-
|
||||
Setting the policy to True (or setting <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME">HardwareAccelerationModeEnabled</ph> to False) prevents webpages from accessing the WebGL API, and plugins can't use the Pepper 3D API.
|
||||
Setting the policy to True (or setting <ph name="HARDWARE_ACCELERATION_MODE_ENABLED_POLICY_NAME">HardwareAccelerationModeEnabled</ph> to False) prevents webpages from accessing the WebGL API.
|
||||
|
||||
Setting the policy to False or leaving it unset lets webpages use the WebGL API and plugins use the Pepper 3D API, but the browser's default settings might still require command line arguments to use these APIs.
|
||||
Setting the policy to False or leaving it unset lets webpages use the WebGL API, but the browser's default settings might still require command line arguments to use these APIs.
|
||||
default: false
|
||||
example_value: false
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+1
@@ -7,6 +7,7 @@ desc: |-
|
||||
If not set, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> uses the default size. Users can change that setting using the --disk-cache-size flag.
|
||||
|
||||
Note: The value specified in this policy is used as a hint to various cache subsystems in the browser. Therefore the actual total disk consumption of all caches will be higher but within the same order of magnitude as the value specified.
|
||||
default: null
|
||||
example_value: 104857600
|
||||
features:
|
||||
dynamic_refresh: false
|
||||
|
||||
+1
@@ -23,6 +23,7 @@ desc: |-
|
||||
If this policy is unset, for managed devices DNS-over-HTTPS queries will not
|
||||
be sent. Otherwise, the browser may send DNS-over-HTTPS requests to a
|
||||
resolver associated with the user's configured system resolver.
|
||||
default: null
|
||||
example_value: 'off'
|
||||
features:
|
||||
dynamic_refresh: true
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ owners:
|
||||
schema:
|
||||
type: boolean
|
||||
supported_on:
|
||||
- 'chrome.*: 102-118'
|
||||
- 'chrome_os: 102-118'
|
||||
- chrome.*:102-118
|
||||
- chrome_os:102-118
|
||||
tags: []
|
||||
type: main
|
||||
|
||||
+1
@@ -21,6 +21,7 @@ desc: |-
|
||||
4: Blocks malicious files flagged by the Safe Browsing server, does not block dangerous file types. Recommended.
|
||||
|
||||
Note: These restrictions apply to downloads triggered from webpage content, as well as the Download link… menu option. They don't apply to the download of the currently displayed page or to saving as PDF from the printing options. Read more about Safe Browsing ( https://developers.google.com/safe-browsing ).
|
||||
default: 0
|
||||
example_value: 4
|
||||
features:
|
||||
can_be_recommended: true
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user