diff --git a/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl b/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl
index fe6e3b18..dde3cbce 100755
--- a/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl
@@ -372,7 +372,7 @@ namespace passwordsPrivate {
callback ExceptionListCallback = void(ExceptionEntry[] exceptions);
callback ExportProgressStatusCallback = void(ExportProgressStatus status);
callback VoidCallback = void();
- callback IsAccountStorageEnabledCallback = void(boolean enabled);
+ callback IsAccountStorageActiveCallback = void(boolean enabled);
callback ShouldShowAccountStorageSettingToggleCallback = void(boolean show);
callback PasswordCheckStatusCallback = void(PasswordCheckStatus status);
callback ImportPasswordsCallback = void(ImportResults results);
@@ -508,9 +508,9 @@ namespace passwordsPrivate {
static void requestExportProgressStatus(
ExportProgressStatusCallback callback);
- // Requests the account-storage enabled state of the current user.
- static void isAccountStorageEnabled(
- IsAccountStorageEnabledCallback callback);
+ // Requests the account-storage active state of the current user.
+ static void isAccountStorageActive(
+ IsAccountStorageActiveCallback callback);
// Triggers the enabling / disabling flow for the account storage.
static void setAccountStorageEnabled(boolean enabled);
@@ -621,9 +621,9 @@ namespace passwordsPrivate {
// |status|: The progress status and an optional UI message.
static void onPasswordsFileExportProgress(PasswordExportProgress status);
- // Fired when the enabled state for the account-scoped storage has changed.
- // |enabled|: The new enabled state.
- static void onAccountStorageEnabledStateChanged(boolean enabled);
+ // Fired when the active state for the account-scoped storage has changed.
+ // |enabled|: The new active state.
+ static void onAccountStorageActiveStateChanged(boolean enabled);
// Fired when the visibility of the account storage toggle in Settings
// should change.
diff --git a/tools/under-control/src/chrome/common/extensions/api/side_panel.idl b/tools/under-control/src/chrome/common/extensions/api/side_panel.idl
index 08f9b615..afc66fce 100755
--- a/tools/under-control/src/chrome/common/extensions/api/side_panel.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/side_panel.idl
@@ -87,8 +87,11 @@ namespace sidePanel {
long? windowId;
// The tab in which to close the side panel. If a tab-specific side panel
- // is open in the specified tab, it will be closed for that tab.
- // At least one of this or windowId must be provided.
+ // is open in the specified tab, it will be closed for that tab. If only the
+ // global side panel is open, the promise returned by the call to
+ // close() will reject with an error. This behavior was changed
+ // in Chrome 145, with prior versions falling back to closing the global
+ // panel. At least one of this or windowId must be provided.
long? tabId;
};
@@ -179,7 +182,7 @@ namespace sidePanel {
// |options|: Specifies the context in which to close the side panel.
// |callback|: Returns a Promise which resolves when the side panel has been
// closed.
- [nodoc] static void close(
+ static void close(
CloseOptions options,
VoidCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/webrtc_logging_private.idl b/tools/under-control/src/chrome/common/extensions/api/webrtc_logging_private.idl
index fca8e3dd..b48fa55e 100755
--- a/tools/under-control/src/chrome/common/extensions/api/webrtc_logging_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/webrtc_logging_private.idl
@@ -103,14 +103,6 @@ namespace webrtcLoggingPrivate {
DOMString logId,
GenericDoneCallback callback);
- // Uploads a previously kept log that was stored via a call to store().
- // The caller needs to know the logId as was originally provided in the
- // call to store().
- static void uploadStored(RequestInfo request,
- DOMString securityOrigin,
- DOMString logId,
- UploadDoneCallback callback);
-
// Uploads the log and the RTP dumps, if they exist. Logging and RTP dumping
// must be stopped before this function is called.
static void upload(RequestInfo request,
diff --git a/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc b/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc
index 1a0da18e..a9d53bb5 100755
--- a/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc
+++ b/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc
@@ -119,6 +119,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/surface_embed/buildflags/buildflags.h"
#include "components/variations/net/variations_http_headers.h"
#include "components/variations/variations_switches.h"
#include "components/version_info/version_info.h"
@@ -225,9 +226,9 @@
#include "third_party/blink/public/web/web_settings.h"
#endif // BUIDFLAG(ENABLE_EXTENSIONS_CORE)
-#if BUILDFLAG(ENABLE_GUEST_VIEW)
+#if BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(ENABLE_GUEST_VIEW)
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
-#endif // BUILDFLAG(ENABLE_GUEST_VIEW)
+#endif // BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(ENABLE_GUEST_VIEW)
#if BUILDFLAG(ENABLE_PDF)
#include "components/pdf/renderer/internal_plugin_renderer_helpers.h"
@@ -256,6 +257,11 @@
#endif // BUILDFLAG(HAS_SPELLCHECK_PANEL)
#endif // BUILDFLAG(ENABLE_SPELLCHECK)
+#if BUILDFLAG(ENABLE_SURFACE_EMBED)
+#include "components/surface_embed/common/features.h"
+#include "components/surface_embed/renderer/create_plugin.h"
+#endif // BUILDFLAG(ENABLE_SURFACE_EMBED)
+
#if BUILDFLAG(ENABLE_LIBRARY_CDMS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
#include "chrome/renderer/media/chrome_key_systems.h"
#endif
@@ -693,13 +699,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
associated_interfaces);
}
-#if BUILDFLAG(ENABLE_GUEST_VIEW)
+#if BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(ENABLE_GUEST_VIEW)
associated_interfaces
->AddInterface(
base::BindRepeating(
&extensions::MimeHandlerViewContainerManager::BindReceiver,
base::Unretained(render_frame)));
-#endif
+#endif // BUILDFLAG(ENABLE_EXTENSIONS) && BUILDFLAG(ENABLE_GUEST_VIEW)
// Owned by |render_frame|.
new page_load_metrics::MetricsRenderFrameObserver(render_frame);
@@ -811,7 +817,7 @@ bool ChromeContentRendererClient::IsPluginHandledExternally(
mime_type, &plugin_info);
// TODO(ekaramad): Not continuing here due to a disallowed status should take
// us to CreatePlugin. See if more in depths investigation of |status| is
- // necessary here (see https://crbug.com/965747). For now, returning false
+ // necessary here (see https://crbug.com/41460326). For now, returning false
// should take us to CreatePlugin after HTMLPlugInElement which is called
// through HTMLPlugInElement::LoadPlugin code path.
if (plugin_info->status != chrome::mojom::PluginStatus::kAllowed) {
@@ -842,10 +848,6 @@ bool ChromeContentRendererClient::IsPluginHandledExternally(
}
bool ChromeContentRendererClient::IsDomStorageDisabled() const {
- if (!base::FeatureList::IsEnabled(features::kPdfEnforcements)) {
- return false;
- }
-
#if BUILDFLAG(ENABLE_PDF) && BUILDFLAG(ENABLE_EXTENSIONS)
// PDF renderers shouldn't need to access DOM storage interfaces. Note that
// it's still possible to access localStorage or sessionStorage in a PDF
@@ -877,6 +879,19 @@ bool ChromeContentRendererClient::OverrideCreatePlugin(
const WebPluginParams& params,
WebPlugin** plugin) {
std::string orig_mime_type = params.mime_type.Utf8();
+
+#if BUILDFLAG(ENABLE_SURFACE_EMBED)
+ if (base::FeatureList::IsEnabled(surface_embed::features::kSurfaceEmbed)) {
+ GURL url = render_frame->GetWebFrame()->GetDocument().Url();
+ if (url.SchemeIs(content::kChromeUIScheme) &&
+ url.host() == chrome::kChromeUIWebuiBrowserHost) {
+ if (surface_embed::MaybeCreatePlugin(render_frame, params, plugin)) {
+ return true;
+ }
+ }
+ }
+#endif // BUILDFLAG(ENABLE_SURFACE_EMBED)
+
#if BUILDFLAG(ENABLE_EXTENSIONS)
// Used for plugins.
if (!extensions::ExtensionsRendererClient::Get()->OverrideCreatePlugin(
diff --git a/tools/under-control/src/components/policy/resources/templates/policies.yaml b/tools/under-control/src/components/policy/resources/templates/policies.yaml
index 295deafc..8a583243 100755
--- a/tools/under-control/src/components/policy/resources/templates/policies.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policies.yaml
@@ -1285,7 +1285,7 @@ policies:
1284: SystemShortcutBehavior
1285: DeletingUndecryptablePasswordsEnabled
1286: StandardizedBrowserZoomEnabled
- 1287: ReportingEndpoints
+ 1287: ''
1288: PrintingLPACSandboxEnabled
1289: ShowGeminiIntroScreenEnabled
1290: DeviceRestrictionSchedule
@@ -1403,7 +1403,7 @@ policies:
1402: GeminiActOnWebSettings
1403: LocalAuthFactorsComplexity
1404: ProxyOverrideRules
- 1405: LocalAuthFactors
+ 1405: AllowedLocalAuthFactors
1406: EnableProxyOverrideRulesForAllUsers
1407: DefaultIdleDetectionSetting
1408: IdleDetectionAllowedForUrls
@@ -1416,13 +1416,21 @@ policies:
1415: DeviceLoginScreenPreferSlowCiphers
1416: SearchContentSharingSettings
1417: StaticStorageQuotaEnabled
- 1418: SaaSReportDomainUrlsForBrowser
- 1419: SaaSReportDomainUrlsForProfile
+ 1418: SaasUsageReportingDomainUrlsForBrowsers
+ 1419: SaasUsageReportingDomainUrlsForProfiles
1420: GeminiActOnWebAllowedForURLs
1421: GeminiActOnWebBlockedForURLs
1422: WebAppInstallByUserEnabled
- 1423: ''
+ 1423: LocalNetworkAccessIpAddressSpaceOverrides
1424: RestrictPdfSaveToGoogleDriveAccountsToPattern
+ 1425: LocalNetworkAllowedForUrls
+ 1426: LocalNetworkBlockedForUrls
+ 1427: LoopbackNetworkAllowedForUrls
+ 1428: LoopbackNetworkBlockedForUrls
+ 1429: XSLTEnabled
+ 1430: LocalNetworkAccessPermissionsPolicyDefaultEnabled
+ 1431: ForceForegroundPriorityForAllTabs
+ 1432: WebRtcDiagnosticLogCollectionAllowedForOrigins
atomic_groups:
1: Homepage
@@ -1478,7 +1486,7 @@ atomic_groups:
51: WebPrintingSettings
52: DirectSocketsSettings
53: SkyVaultSettings
- 54: BrowserEventReporting
+ 54: ''
55: SmartCardConnectSettings
56: WebRtc
57: ControlledFrameSettings
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveCaptionEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveCaptionEnabled.yaml
index ded06db0..ad37db79 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveCaptionEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveCaptionEnabled.yaml
@@ -29,5 +29,6 @@ schema:
type: boolean
supported_on:
- chrome.*:140-
+- chrome_os:145-
tags: []
type: main
\ No newline at end of file
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveTranslateEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveTranslateEnabled.yaml
index 2dbcefdb..09440ca8 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveTranslateEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Accessibility/LiveTranslateEnabled.yaml
@@ -31,5 +31,6 @@ schema:
type: boolean
supported_on:
- chrome.*:133-
+- chrome_os:145-
tags: []
type: main
\ No newline at end of file
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/.group.details.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/.group.details.yaml
deleted file mode 100755
index 04362d2c..00000000
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/.group.details.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-caption: Browser Event Reporting
-desc: Controls settings for Browser Event Reporting.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/ReportingEndpoints.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/ReportingEndpoints.yaml
deleted file mode 100755
index 095f59fb..00000000
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/ReportingEndpoints.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-caption: Reporting Endpoints
-default: {}
-desc: |-
- Allows you to configure the list of Reporting API Endpoints[1] where
- enterprise reports can be sent.
-
- [1] https://www.w3.org/TR/reporting-1/#endpoint
-example_value:
- endpoint-1: https://example.com
- reporting-endpoint: https://reporting.example/cookie-issues
-features:
- dynamic_refresh: true
- per_profile: true
-owners:
-- sandormajor@chromium.org
-- selya@google.com
-schema:
- type: object
- additionalProperties:
- type: string
-future_on:
-- android
-- chrome.*
-- chrome_os
-tags: []
-type: dict
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/policy_atomic_groups.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/policy_atomic_groups.yaml
deleted file mode 100755
index f8aeadc8..00000000
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/BrowserEventReporting/policy_atomic_groups.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-BrowserEventReporting:
- caption: Browser Event Reporting
- policies:
- - ReportingEndpoints
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaaSReportDomainUrlsForBrowser.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaasUsageReportingDomainUrlsForBrowsers.yaml
similarity index 95%
rename from tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaaSReportDomainUrlsForBrowser.yaml
rename to tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaasUsageReportingDomainUrlsForBrowsers.yaml
index db48b5d4..545093bc 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaaSReportDomainUrlsForBrowser.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaasUsageReportingDomainUrlsForBrowsers.yaml
@@ -2,7 +2,7 @@ caption: Specifies a list of SaaS domains that will be reported for managed brow
desc: |-
This policy controls $1Google Chrome reporting of SaaS domain visits and content transfers for a managed browser.
- When the policy is set, the URLs matching SaaS domains will be used to generate report and uploaded. Unmatched URLs will be ignored.
+ When the policy is set, the URLs matching SaaS domains will be used to generate report. Unmatched URLs will be ignored.
When the policy is not set or set to an empty list, no report will be generated.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaaSReportDomainUrlsForProfile.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaasUsageReportingDomainUrlsForProfiles.yaml
similarity index 95%
rename from tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaaSReportDomainUrlsForProfile.yaml
rename to tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaasUsageReportingDomainUrlsForProfiles.yaml
index 3d3e3a72..e86565e8 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaaSReportDomainUrlsForProfile.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/SaasUsageReportingDomainUrlsForProfiles.yaml
@@ -2,7 +2,7 @@ caption: Specifies a list of SaaS domains that will be reported for managed prof
desc: |-
This policy controls $1Google Chrome reporting of SaaS domain visits and content transfers for a managed profile.
- When the policy is set, the URLs matching SaaS domains will be used to generate report and uploaded. Unmatched URLs will be ignored.
+ When the policy is set, the URLs matching SaaS domains will be used to generate report. Unmatched URLs will be ignored.
When the policy is not set or set to an empty list, no report will be generated.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenAllowedForUrls.yaml
index 624471a5..b70741a0 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenAllowedForUrls.yaml
@@ -24,6 +24,7 @@ features:
dynamic_refresh: true
per_profile: true
future_on:
+- android
- fuchsia
owners:
- file://third_party/blink/renderer/core/fullscreen/OWNERS
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenBlockedForUrls.yaml
index d0ca728b..e4ef15ad 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/AutomaticFullscreenBlockedForUrls.yaml
@@ -24,6 +24,7 @@ features:
dynamic_refresh: true
per_profile: true
future_on:
+- android
- fuchsia
owners:
- file://third_party/blink/renderer/core/fullscreen/OWNERS
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultIdleDetectionSetting.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultIdleDetectionSetting.yaml
index b92bdc20..7802ce99 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultIdleDetectionSetting.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultIdleDetectionSetting.yaml
@@ -25,10 +25,10 @@ label: Idle detection
owners:
- pastarmovj@chromium.org
- zmin@chromium.org
-future_on:
-- chrome.*
-- chrome_os
-- android
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
tags:
- website-sharing
type: int-enum
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultThirdPartyStoragePartitioningSetting.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultThirdPartyStoragePartitioningSetting.yaml
index 94e745c3..e8069709 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultThirdPartyStoragePartitioningSetting.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultThirdPartyStoragePartitioningSetting.yaml
@@ -9,7 +9,7 @@ desc: |-
Use ThirdPartyStoragePartitioningBlockedForOrigins to disable third-party storage partitioning for specific top-level origins. For detailed information on third-party storage partitioning, please see https://developers.google.com/privacy-sandbox/cookies/storage-partitioning.
- This will be removed in Chrome 145, and the requestStorageAccess method is recommended for use instead: https://developer.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccess. Feedback can be left at https://crbug.com/425248669.
+ This was removed in Chrome 145, and the requestStorageAccess method is recommended for use instead: https://developer.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccess. Feedback can be left at https://crbug.com/425248669.
example_value: 1
features:
dynamic_refresh: true
@@ -32,9 +32,9 @@ schema:
- 2
type: integer
supported_on:
-- android:113-
-- chrome.*:113-
-- chrome_os:113-
+- android:113-145
+- chrome.*:113-145
+- chrome_os:113-145
deprecated: true
tags: []
type: int-enum
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionAllowedForUrls.yaml
index 8fec768d..cb16a667 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionAllowedForUrls.yaml
@@ -19,10 +19,10 @@ schema:
type: array
items:
type: string
-future_on:
-- chrome.*
-- chrome_os
-- android
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
tags:
- website-sharing
type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionBlockedForUrls.yaml
index 24d6e928..d17edc68 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionBlockedForUrls.yaml
@@ -19,10 +19,10 @@ schema:
type: array
items:
type: string
-future_on:
-- chrome.*
-- chrome_os
-- android
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
tags:
- website-sharing
type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PartitionedBlobUrlUsage.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PartitionedBlobUrlUsage.yaml
index 211f5605..de8ac4a9 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PartitionedBlobUrlUsage.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PartitionedBlobUrlUsage.yaml
@@ -7,11 +7,6 @@ desc: |-
If this policy is set to Enabled or not set, Blob URLs will be partitioned.
If this policy is set to Disabled, Blob URLs won't be partitioned.
- If storage partitioning is disabled for a given top-level origin by either
- ThirdPartyStoragePartitioningBlockedForOrigins
- or DefaultThirdPartyStoragePartitioningSetting,
- then Blob URLs will also not be partitioned.
-
If you must use the policy, please file a bug at
$1https://crbug.com/new?component=1779870&cc=awillia@chromium.org&priority=p1&type=bug&noWizard=true
explaining your use case. The policy is scheduled to be offered through
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ThirdPartyStoragePartitioningBlockedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ThirdPartyStoragePartitioningBlockedForOrigins.yaml
index 02b9811e..b8ebe8d5 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ThirdPartyStoragePartitioningBlockedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ThirdPartyStoragePartitioningBlockedForOrigins.yaml
@@ -8,7 +8,7 @@ desc: |-
For detailed information on third-party storage partitioning, please see https://developers.google.com/privacy-sandbox/cookies/storage-partitioning.
- This will be removed in Chrome 145, and the requestStorageAccess method is recommended for use instead: https://developer.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccess. Feedback can be left at https://crbug.com/425248669.
+ This was removed in Chrome 145, and the requestStorageAccess method is recommended for use instead: https://developer.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccess. Feedback can be left at https://crbug.com/425248669.
example_value:
- www.example.com
- '[*.]example.edu'
@@ -25,9 +25,9 @@ schema:
type: string
type: array
supported_on:
-- android:113-
-- chrome.*:113-
-- chrome_os:113-
+- android:113-145
+- chrome.*:113-145
+- chrome_os:113-145
deprecated: true
tags: []
type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/policy_atomic_groups.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/policy_atomic_groups.yaml
index 17483223..83f86ac9 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/policy_atomic_groups.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/policy_atomic_groups.yaml
@@ -59,11 +59,6 @@ SensorsSettings:
- DefaultSensorsSetting
- SensorsAllowedForUrls
- SensorsBlockedForUrls
-ThirdPartyStoragePartitioningSettings:
- caption: Third-party storage partitioning settings
- policies:
- - DefaultThirdPartyStoragePartitioningSetting
- - ThirdPartyStoragePartitioningBlockedForOrigins
WebUsbSettings:
caption: Web USB settings
policies:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowCiphers.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowCiphers.yaml
index fa8b4a21..efb9c73e 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowCiphers.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowCiphers.yaml
@@ -33,8 +33,8 @@ items:
owners:
- file://crypto/OWNERS
- trusty-transport@chromium.org
-future_on:
-- chrome_os
+supported_on:
+- chrome_os:146-
schema:
enum:
- cnsa
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowKexAlgorithms.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowKexAlgorithms.yaml
index 1cbb95b4..b3de60e6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowKexAlgorithms.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowKexAlgorithms.yaml
@@ -35,8 +35,8 @@ items:
owners:
- file://crypto/OWNERS
- trusty-transport@chromium.org
-future_on:
-- chrome_os
+supported_on:
+- chrome_os:146-
schema:
enum:
- cnsa2
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowCiphers.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowCiphers.yaml
index f53f2a0a..94c6e19a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowCiphers.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowCiphers.yaml
@@ -30,10 +30,10 @@ items:
owners:
- file://crypto/OWNERS
- trusty-transport@chromium.org
-future_on:
-- android
-- chrome.*
-- chrome_os
+supported_on:
+- android:146-
+- chrome.*:146-
+- chrome_os:146-
schema:
enum:
- cnsa
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowKexAlgorithms.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowKexAlgorithms.yaml
index bb825026..253d9cc1 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowKexAlgorithms.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/PreferSlowKexAlgorithms.yaml
@@ -32,10 +32,10 @@ items:
owners:
- file://crypto/OWNERS
- trusty-transport@chromium.org
-future_on:
-- android
-- chrome.*
-- chrome_os
+supported_on:
+- android:146-
+- chrome.*:146-
+- chrome_os:146-
schema:
enum:
- cnsa2
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/DeviceUpdate/DeviceExtendedAutoUpdateEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/DeviceUpdate/DeviceExtendedAutoUpdateEnabled.yaml
index ed268961..bdede29c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/DeviceUpdate/DeviceExtendedAutoUpdateEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/DeviceUpdate/DeviceExtendedAutoUpdateEnabled.yaml
@@ -1,5 +1,5 @@
owners:
-- artyomchen@chromium.org
+- vsavu@google.com
- chromeos-commercial-remote-management@google.com
caption: Enable/disable Extended Automatic Updates
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/BlockExternalExtensions.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/BlockExternalExtensions.yaml
index e0bd24e4..703da088 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/BlockExternalExtensions.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/BlockExternalExtensions.yaml
@@ -9,12 +9,12 @@ desc: |-
External extensions and their installation are documented at https://developer.chrome.com/docs/extensions/how-to/distribute/install-extensions.
+ Note: This policy only applies to platforms that support extensions.
+
example_value: true
features:
dynamic_refresh: false
per_profile: true
-future_on:
-- android
items:
- caption: Block installation of external extensions
value: true
@@ -27,5 +27,6 @@ schema:
type: boolean
supported_on:
- chrome.*:80-
+- android:146-
tags: []
type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionAllowedTypes.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionAllowedTypes.yaml
index a5d7038e..04ffb101 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionAllowedTypes.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionAllowedTypes.yaml
@@ -2,34 +2,35 @@ caption: Configure allowed app/extension types
desc: |-
Setting the policy controls which apps and extensions may be installed in $1Google Chrome, which hosts they can interact with, and limits runtime access.
- Leaving the policy unset results in no restrictions on the acceptable extension and app types.
+ Leaving the policy unset results in no restrictions on the acceptable extension and app types.
- Extensions and apps which have a type that's not on the list won't be installed. Each value should be one of these strings:
+ Extensions and apps which have a type that's not on the list won't be installed. Each value should be one of these strings:
- * "extension"
+ * "extension"
- * "theme"
+ * "theme"
- * "user_script"
+ * "user_script"
- * "hosted_app"
+ * "hosted_app"
- * "legacy_packaged_app"
+ * "legacy_packaged_app"
- * "platform_app"
+ * "platform_app"
- See the $1Google Chrome extensions documentation for more information on these types.
+ See the $1Google Chrome extensions documentation for more information on these types.
- Versions earlier than 75 that use multiple comma separated extension IDs aren't supported and are skipped. The rest of the policy applies.
+ Versions earlier than 75 that use multiple comma separated extension IDs aren't supported and are skipped. The rest of the policy applies.
+
+ Note: This policy also affects extensions and apps to be force-installed using ExtensionInstallForcelist.
+
+ Note: This policy only applies to platforms that support extensions.
- Note: This policy also affects extensions and apps to be force-installed using ExtensionInstallForcelist.
example_value:
- hosted_app
features:
dynamic_refresh: true
per_profile: true
-future_on:
-- android
items:
- caption: Extension
name: extension
@@ -57,5 +58,6 @@ schema:
supported_on:
- chrome.*:25-
- chrome_os:25-
+- android:146-
tags: []
type: string-enum-list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionDeveloperModeSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionDeveloperModeSettings.yaml
index 63537016..3f37e043 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionDeveloperModeSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionDeveloperModeSettings.yaml
@@ -8,9 +8,12 @@ desc: |-
If this policy is set, DeveloperToolsAvailability can no longer control extensions developer mode.
+ Note: This policy only applies to platforms that support extensions.
+
supported_on:
- chrome.*:128-
- chrome_os:128-
+- android:146-
features:
dynamic_refresh: true
per_profile: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallAllowlist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallAllowlist.yaml
index 68d09b62..b9058852 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallAllowlist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallAllowlist.yaml
@@ -2,17 +2,18 @@ caption: Configure extension installation allow list
desc: |-
Setting the policy specifies which extensions are not subject to the blocklist.
- A blocklist value of * means all extensions are blocked and users can only install extensions listed in the allow list.
+ A blocklist value of * means all extensions are blocked and users can only install extensions listed in the allow list.
+
+ By default, all extensions are allowed. But, if you prohibited extensions by policy, use the list of allowed extensions to change that policy.
+
+ Note: This policy only applies to platforms that support extensions.
- By default, all extensions are allowed. But, if you prohibited extensions by policy, use the list of allowed extensions to change that policy.
example_value:
- extension_id1
- extension_id2
features:
dynamic_refresh: true
per_profile: true
-future_on:
-- android
label: Extension IDs to exempt from the blocklist
owners:
- rdevlin.cronin@chromium.org
@@ -24,5 +25,6 @@ schema:
supported_on:
- chrome.*:86-
- chrome_os:86-
+- android:146-
tags: []
type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallBlocklist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallBlocklist.yaml
index 771d0455..25c22baf 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallBlocklist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallBlocklist.yaml
@@ -2,17 +2,18 @@ caption: Configure extension installation blocklist
desc: |-
Allows you to specify which extensions the users can NOT install. Extensions already installed will be disabled if blocked, without a way for the user to enable them. Once an extension disabled due to the blocklist is removed from it, it will automatically get re-enabled.
- A blocklist value of '*' means all extensions are blocked by default. Extensions that are explicitly listed in the allowlist are allowed if they are signed (packed). All unpacked extensions are blocked.
+ A blocklist value of '*' means all extensions are blocked by default. Extensions that are explicitly listed in the allowlist are allowed if they are signed (packed). All unpacked extensions are blocked.
+
+ If this policy is left not set the user can install any extension in $1Google Chrome.
+
+ Note: This policy only applies to platforms that support extensions.
- If this policy is left not set the user can install any extension in $1Google Chrome.
example_value:
- extension_id1
- extension_id2
features:
dynamic_refresh: true
per_profile: true
-future_on:
-- android
label: Extension IDs the user should be prevented from installing (or * for all)
owners:
- lazyboy@chromium.org
@@ -24,5 +25,6 @@ schema:
supported_on:
- chrome.*:86-
- chrome_os:86-
+- android:146-
tags: []
type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallForcelist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallForcelist.yaml
index 4bc3f295..658261ae 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallForcelist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallForcelist.yaml
@@ -19,14 +19,15 @@ desc: |-
On macOS instances, apps and extensions from outside the Chrome Web Store can only be force installed if the instance is managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
Note: This policy doesn't apply to Incognito mode. Read about hosting extensions ( https://developer.chrome.com/extensions/hosting ).
+
+ Note: This policy only applies to platforms that support extensions.
+
example_value:
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;https://clients2.google.com/service/update2/crx
- abcdefghijklmnopabcdefghijklmnop
features:
dynamic_refresh: true
per_profile: true
-future_on:
-- android
label: Extension/App IDs and update URLs to be silently installed
owners:
- karandeepb@chromium.org
@@ -38,6 +39,7 @@ schema:
supported_on:
- chrome.*:9-
- chrome_os:11-
+- android:146-
tags:
- full-admin-access
type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallSources.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallSources.yaml
index 6233a889..e32140bc 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallSources.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionInstallSources.yaml
@@ -2,16 +2,17 @@ caption: Configure extension, app, and user script install sources
desc: |-
Setting the policy specifies which URLs may install extensions, apps, and themes. Before $1Google Chrome 21, users could click on a link to a *.crx file, and $1Google Chrome would offer to install the file after a few warnings. Afterwards, such files must be downloaded and dragged to the $1Google Chrome settings page. This setting allows specific URLs to have the old, easier installation flow.
- Each item in this list is an extension-style match pattern (see https://developer.chrome.com/extensions/match_patterns). Users can easily install items from any URL that matches an item in this list. Both the location of the *.crx file and the page where the download is started from (the referrer) must be allowed by these patterns.
+ Each item in this list is an extension-style match pattern (see https://developer.chrome.com/extensions/match_patterns). Users can easily install items from any URL that matches an item in this list. Both the location of the *.crx file and the page where the download is started from (the referrer) must be allowed by these patterns.
+
+ ExtensionInstallBlocklist takes precedence over this policy. That is, an extension on the blocklist won't be installed, even if it happens from a site on this list.
+
+ Note: This policy only applies to platforms that support extensions.
- ExtensionInstallBlocklist takes precedence over this policy. That is, an extension on the blocklist won't be installed, even if it happens from a site on this list.
example_value:
- https://corp.mycompany.com/*
features:
dynamic_refresh: true
per_profile: true
-future_on:
-- android
label: URL patterns to allow extension, app, and user script installs from
owners:
- dbertoni@chromium.org
@@ -21,6 +22,7 @@ schema:
supported_on:
- chrome.*:21-
- chrome_os:21-
+- android:146-
tags:
- full-admin-access
- system-security
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionSettings.yaml
index f16b6bb8..a3cb2205 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Extensions/ExtensionSettings.yaml
@@ -7,6 +7,9 @@ desc: |-
On Microsoft® Windows® instances, apps and extensions from outside the Chrome Web Store can only be forced installed if the instance is joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
On macOS instances, apps and extensions from outside the Chrome Web Store can only be force installed if the instance is managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
+
+ Note: This policy only applies to platforms that support extensions.
+
example_value:
'*':
allowed_types:
@@ -60,8 +63,6 @@ example_value:
features:
dynamic_refresh: true
per_profile: true
-future_on:
-- android
owners:
- finnur@chromium.org
- file://extensions/OWNERS
@@ -144,6 +145,7 @@ schema:
supported_on:
- chrome.*:62-
- chrome_os:62-
+- android:146-
tags: []
type: dict
url_schema: https://www.chromium.org/administrators/policy-list-3/extension-settings-full
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/FirstPartySets/FirstPartySetsOverrides.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/FirstPartySets/FirstPartySetsOverrides.yaml
index 9cff845f..60ed5e2a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/FirstPartySets/FirstPartySetsOverrides.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/FirstPartySets/FirstPartySetsOverrides.yaml
@@ -7,7 +7,7 @@ desc: |-
Each set in the browser's list of First-Party Sets must meet the requirements of a First-Party Set.
A First-Party Set must contain a primary site and one or more member sites.
A set can also contain a list of service sites that it owns, as well as a map from a site to all of its ccTLD variants.
- See https://github.com/WICG/first-party-sets for more information on First-Party Sets are used by $1Google Chrome.
+ See https://github.com/WICG/first-party-sets for more information on how First-Party Sets are used by $1Google Chrome.
All sites in a First-Party Set must be a registrable domain served over HTTPS. Each site in a First-Party Set must also be unique,
meaning a site cannot be listed more than once in a First-Party Set.
@@ -33,10 +33,6 @@ desc: |-
All sets provided by the policy must be valid First-Party Sets, if they aren't then an
appropriate error will be outputted.
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
-
This is the equivalent of the RelatedWebsiteSetsOverrides policy.
Either policy may be used with the same effect on the browser's behavior.
Both these policies are deprecated following Related Website Sets feature deprecation in $1Google Chrome version 144.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebAllowedForURLs.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebAllowedForURLs.yaml
index daa80d7c..d12f30fe 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebAllowedForURLs.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebAllowedForURLs.yaml
@@ -19,9 +19,10 @@ example_value:
- https://server:8080/path
- .exact.hostname.com
future_on:
-- chrome.*
-- chrome_os
- android
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
features:
dynamic_refresh: true
per_profile: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebBlockedForURLs.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebBlockedForURLs.yaml
index de788674..64e798a6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebBlockedForURLs.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebBlockedForURLs.yaml
@@ -19,9 +19,10 @@ example_value:
- https://server:8080/path
- .exact.hostname.com
future_on:
-- chrome.*
-- chrome_os
- android
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
features:
dynamic_refresh: true
per_profile: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAILocalFoundationalModelSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAILocalFoundationalModelSettings.yaml
index 91867884..2c1e0021 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAILocalFoundationalModelSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAILocalFoundationalModelSettings.yaml
@@ -5,7 +5,7 @@ desc: |-
When the policy is set to Allowed (0) or not set, the model is downloaded automatically, and used for inference.
- When the policy is set to Disabled (1), the model will not be downloaded.
+ When the policy is set to Disabled (1), the model will not be downloaded, and the existing model (if already downloaded) will be deleted.
On desktop platforms, model downloading can also be disabled by ComponentUpdatesEnabled.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAiDefaultSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAiDefaultSettings.yaml
index c67818d5..fae584b2 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAiDefaultSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GenAiDefaultSettings.yaml
@@ -3,14 +3,14 @@ caption: Set the default policy value for $1Google C
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 covered generative AI features in Chrome. See https://support.google.com/chrome/a?p=generative_ai_settings for the list of covered features.
+ Some policies, e.g. GeminiSettings, only support the states Allowed and Do not allow. In this case, if GenAiDefaultSettings is set to 0 or 1, this feature will be enabled. If GenAiDefaultSettings is set to 2, this feature will be disabled. The documentation for each feature contains more details about how it interacts with values in this policy (e.g. Gemini in Chrome - https://support.google.com/chrome/a/?p=gemini_in_chrome). This applies to the following features: Gemini in Chrome, Google Lens, and AI Mode as they are subject to their own guarantees and/or terms of service (https://support.google.com/chrome/a/?p=genai_features_chrome).
+
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 Google Admin console and for Education accounts managed by Google Workspace.
2 = Do not allow the feature.
- If a covered Chrome feature does not have an equivalent policy value, the closest higher value will be used. Some policies, e.g. GeminiSettings, only support the states Allowed and Not Allowed. If GenAiDefaultSettings policy is set to 0 or 1, this feature will be allowed. If policy is set to 2, this feature will not be allowed. Please review documentation for each feature for more details about how it interacts with values in this 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
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/SearchContentSharingSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/SearchContentSharingSettings.yaml
index 74946466..71daf346 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/SearchContentSharingSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/SearchContentSharingSettings.yaml
@@ -7,7 +7,7 @@ desc: |-
0/unset = users can share page or file content with Google AI Mode.
- 1 = users cannot share page or file content with Google AI Mode. The entry points for sharing context will be disabled or hidden.
+ 1 = users cannot share page or file content with Google AI Mode. The entry points for sharing context and the side panel will be disabled or hidden.
This policy will be ignored when Google Search is not users' default search engine as the feature is disabled.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessAllowedForUrls.yaml
index 5cd234a7..e43aa9a5 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessAllowedForUrls.yaml
@@ -3,12 +3,10 @@ owners:
- cthomp@chromium.org
- chrome-secure-web-and-net@chromium.org
-caption: Allow sites to make requests to local network endpoints.
+caption: Allow sites to make network requests to local devices and local network endpoints.
desc: |-
- List of URL patterns. Requests initiated from websites served by matching origins are not subject to Local Network Access checks.
-
- If an origin is covered by both this policy and by LocalNetworkAccessBlockedForUrls, LocalNetworkAccessBlockedForUrls takes precedence.
+ List of URL patterns. Network requests initiated from websites served by matching origins are not subject to Local Network Access checks.
For origins not covered by the patterns specified here, the user's personal configuration will apply.
@@ -17,6 +15,15 @@ desc: |-
See https://wicg.github.io/local-network-access/ for Local Network Access restrictions.
+ There are multiple policies listing origins that impact requests to local device and local network endpoints. If an origin is matched by more than one of the following policies, the policies take precedence in the following order:
+
+ - LocalNetworkBlockedForUrls
+ - LocalNetworkAllowedForUrls
+ - LoopbackNetworkAccessBlockedForUrls
+ - LoopbackNetworkAccessAllowedForUrls
+ - LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessAllowedForUrls
+
example_value:
- http://www.example.com:8080
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessBlockedForUrls.yaml
index 96004980..26739918 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessBlockedForUrls.yaml
@@ -3,14 +3,10 @@ owners:
- cthomp@chromium.org
- chrome-secure-web-and-net@chromium.org
-caption: Block sites from making requests to local network endpoints.
+caption: Block sites from making network requests to local devices and local network endpoints.
desc: |-
- List of URL patterns. Requests initiated from websites served by matching origins are blocked from issuing Local Network Access requests.
-
- If an origin is covered by both this policy and by LocalNetworkAccessAllowedForUrls, this policy takes precedence.
-
- Depending on the stage of the rollout of Local Network Access, LocalNetworkAccessRestrictionsEnabled may also need to be enabled for this policy to block Local Network Access requests.
+ List of URL patterns. Network requests initiated from websites served by matching origins are blocked from issuing Local Network Access requests.
For origins not covered by the patterns specified here, the user's personal configuration will apply.
@@ -19,6 +15,15 @@ desc: |-
See https://wicg.github.io/local-network-access/ for Local Network Access restrictions.
+ There are multiple policies listing origins that impact requests to local device and local network endpoints. If an origin is matched by more than one of the following policies, the policies take precedence in the following order:
+
+ - LocalNetworkBlockedForUrls
+ - LocalNetworkAllowedForUrls
+ - LoopbackNetworkAccessBlockedForUrls
+ - LoopbackNetworkAccessAllowedForUrls
+ - LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessAllowedForUrls
+
example_value:
- http://www.example.com:8080
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessIpAddressSpaceOverrides.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessIpAddressSpaceOverrides.yaml
new file mode 100755
index 00000000..89984c4f
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessIpAddressSpaceOverrides.yaml
@@ -0,0 +1,50 @@
+owners:
+- cthomp@chromium.org
+- hchao@chromium.org
+- chrome-swan@google.com
+
+caption: Override IP address space mappings
+
+desc: |-
+ This can be used to treat certain internal address ranges as "public" and thus not subject to Local Network Access checks. Conversely, this can be used to treat certain public address ranges that might be used internally as "local" so that they are protected by Local Network Access checks.
+
+ IP address space overrides have two forms:
+
+ [cidr]=[public|local|loopback]
+
+ where [cidr] is a IP address range in CIDR notation (see section 3.1 of https://tools.ietf.org/html/rfc4632 for IPv4 and section 2.3 of https://tools.ietf.org/html/rfc4291 for IPv6). IPv6 addresses must be specified in URL-safe (bracketed) format. CIDR overrides apply to all ports.
+
+ or
+
+ [ip-address]:[port]=[public|local|loopback]
+
+ For more information on Local Network Access, see https://wicg.github.io/local-network-access/ and https://developer.chrome.com/blog/local-network-access.
+
+ This policy does not support dynamic refresh.
+
+ Overrides from the command-line switch --ip-address-space-overrides take precedence over overrides set by this policy.
+
+example_value:
+- '100.64.0.0/10=public'
+- '[2001:db8::]/32=local'
+- '192.168.0.1:8000=public'
+- '[2001:DB8::8:800:200C:417A]:8080=local'
+
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+
+features:
+ dynamic_refresh: false
+ per_profile: false
+
+type: list
+
+schema:
+ items:
+ type: string
+ type: array
+
+tags:
+- system-security
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessPermissionsPolicyDefaultEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessPermissionsPolicyDefaultEnabled.yaml
new file mode 100755
index 00000000..afe62448
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessPermissionsPolicyDefaultEnabled.yaml
@@ -0,0 +1,46 @@
+owners:
+- cthomp@chromium.org
+- hchao@chromium.org
+- chrome-swan@google.com
+
+caption: Allow Local Network Access (LNA) requests in subframes without explicit delegation
+
+desc: |-
+ By default, the permissions for Local Network Access (LNA) are only allowed to be requested in cross-origin subframes if they are explicitly delegated. This policy can be used to override this default behavior so that LNA permissions are default inherited into subframes, unless explicitly denied in permissions policy.
+
+ If this policy is set to enabled, then subframes are by default delegated all LNA permissions policy features and can make local network requests (triggering the permission prompt).
+
+ If this policy is set to disabled or not set, then subframes must be explicitly delegated the permissions policy feature in order make local network requests and trigger the permission prompt.
+
+ This policy applies to the permissions policy features "local-network-access", "loopback-network", and "local-network".
+
+ For more information on Local Network Access, see https://wicg.github.io/local-network-access/ and https://developer.chrome.com/blog/local-network-access.
+
+ For more information on permissions policy, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Permissions_Policy.
+
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+
+features:
+ dynamic_refresh: false
+ per_profile: false
+
+items:
+- caption: Allow LNA requests in subframes without explicit delegation
+ value: true
+- caption: Do not allow LNA requests in subframes without explicit delegation
+ value: false
+
+type: main
+
+schema:
+ type: boolean
+
+default: false
+
+example_value: true
+
+tags:
+- system-security
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAllowedForUrls.yaml
new file mode 100755
index 00000000..9d54809e
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAllowedForUrls.yaml
@@ -0,0 +1,47 @@
+owners:
+- hchao@chromium.org
+- cthomp@chromium.org
+- chrome-secure-web-and-net@chromium.org
+
+caption: Allow sites to make network requests to local network endpoints.
+
+desc: |-
+ List of URL patterns. Network requests initiated from websites served by matching origins to local network endpoints are not subject to Local Network Access checks.
+
+ For origins not covered by the patterns specified here, the user's personal configuration will apply.
+
+ For detailed information on valid URL patterns, please see https://chromeenterprise.google/policies/url-patterns/.
+
+ See https://wicg.github.io/local-network-access/ for Local Network Access restrictions.
+
+ There are multiple policies listing origins that impact requests to local network endpoints. If an origin is matched by more than one of the following policies, the policies take precedence in the following order:
+
+ - LocalNetworkBlockedForUrls
+ - LocalNetworkAllowedForUrls
+ - LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessAllowedForUrls
+
+example_value:
+- http://www.example.com:8080
+- '[*.]example.edu'
+- '*'
+
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+
+features:
+ dynamic_refresh: true
+ per_profile: true
+
+type: list
+
+schema:
+ items:
+ type: string
+ type: array
+
+tags:
+- system-security
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkBlockedForUrls.yaml
new file mode 100755
index 00000000..f1ae5a17
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkBlockedForUrls.yaml
@@ -0,0 +1,47 @@
+owners:
+- hchao@chromium.org
+- cthomp@chromium.org
+- chrome-secure-web-and-net@chromium.org
+
+caption: Block sites from making network requests to local network endpoints.
+
+desc: |-
+ List of URL patterns. Network requests initiated from websites served by matching origins to local network endpoints are blocked from issuing Local Network Access requests.
+
+ For origins not covered by the patterns specified here, the user's personal configuration will apply.
+
+ For detailed information on valid URL patterns, please see https://chromeenterprise.google/policies/url-patterns/.
+
+ See https://wicg.github.io/local-network-access/ for Local Network Access restrictions.
+
+ There are multiple policies listing origins that impact requests to local network endpoints. If an origin is matched by more than one of the following policies, the policies take precedence in the following order:
+
+ - LocalNetworkBlockedForUrls
+ - LocalNetworkAllowedForUrls
+ - LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessAllowedForUrls
+
+
+example_value:
+- http://www.example.com:8080
+- '[*.]example.edu'
+- '*'
+
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+
+features:
+ dynamic_refresh: true
+ per_profile: true
+
+type: list
+
+schema:
+ items:
+ type: string
+ type: array
+
+tags: []
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LoopbackNetworkAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LoopbackNetworkAllowedForUrls.yaml
new file mode 100755
index 00000000..ade05c16
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LoopbackNetworkAllowedForUrls.yaml
@@ -0,0 +1,47 @@
+owners:
+- hchao@chromium.org
+- cthomp@chromium.org
+- chrome-secure-web-and-net@chromium.org
+
+caption: Allow sites to make network requests to the local device.
+
+desc: |-
+ List of URL patterns. Network requests initiated from websites served by matching origins to the local device are not subject to Local Network Access checks.
+
+ For origins not covered by the patterns specified here, the user's personal configuration will apply.
+
+ For detailed information on valid URL patterns, please see https://chromeenterprise.google/policies/url-patterns/.
+
+ See https://wicg.github.io/local-network-access/ for Local Network Access restrictions.
+
+ There are multiple policies listing origins that impact requests to the local device. If an origin is matched by more than one of the following policies, the policies take precedence in the following order:
+
+ - LoopbackNetworkBlockedForUrls
+ - LoopbackNetworkAllowedForUrls
+ - LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessAllowedForUrls
+
+example_value:
+- http://www.example.com:8080
+- '[*.]example.edu'
+- '*'
+
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+
+features:
+ dynamic_refresh: true
+ per_profile: true
+
+type: list
+
+schema:
+ items:
+ type: string
+ type: array
+
+tags:
+- system-security
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LoopbackNetworkBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LoopbackNetworkBlockedForUrls.yaml
new file mode 100755
index 00000000..9982873f
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LoopbackNetworkBlockedForUrls.yaml
@@ -0,0 +1,46 @@
+owners:
+- hchao@chromium.org
+- cthomp@chromium.org
+- chrome-secure-web-and-net@chromium.org
+
+caption: Block sites from making network requests to the local device.
+
+desc: |-
+ List of URL patterns. Network requests initiated from websites served by matching origins to the local device are blocked from issuing Local Network Access requests.
+
+ For origins not covered by the patterns specified here, the user's personal configuration will apply.
+
+ For detailed information on valid URL patterns, please see https://chromeenterprise.google/policies/url-patterns/.
+
+ See https://wicg.github.io/local-network-access/ for Local Network Access restrictions.
+
+ There are multiple policies listing origins that impact requests to the local device. If an origin is matched by more than one of the following policies, the policies take precedence in the following order:
+
+ - LoopbackNetworkBlockedForUrls
+ - LoopbackNetworkAllowedForUrls
+ - LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessAllowedForUrls
+
+example_value:
+- http://www.example.com:8080
+- '[*.]example.edu'
+- '*'
+
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+
+features:
+ dynamic_refresh: true
+ per_profile: true
+
+type: list
+
+schema:
+ items:
+ type: string
+ type: array
+
+tags: []
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/policy_atomic_groups.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/policy_atomic_groups.yaml
index 3bbda7fb..f088b793 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/policy_atomic_groups.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/policy_atomic_groups.yaml
@@ -3,5 +3,11 @@ LocalNetworkAccessSettings:
policies:
- LocalNetworkAccessAllowedForUrls
- LocalNetworkAccessBlockedForUrls
+ - LocalNetworkAccessIpAddressSpaceOverrides
+ - LocalNetworkAllowedForUrls
+ - LocalNetworkBlockedForUrls
- LocalNetworkAccessRestrictionsEnabled
- LocalNetworkAccessRestrictionsTemporaryOptOut
+ - LoopbackNetworkAllowedForUrls
+ - LoopbackNetworkBlockedForUrls
+ - LocalNetworkAccessPermissionsPolicyDefaultEnabled
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoOpenFileTypes.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoOpenFileTypes.yaml
index 9a7b2905..88b59157 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoOpenFileTypes.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoOpenFileTypes.yaml
@@ -5,8 +5,6 @@ desc: |-
Files with types that should be automatically opened will still be subject to the enabled safe browsing checks and won't be opened if they fail those checks.
If this policy isn't set, only file types that a user has already specified to automatically be opened will do so when downloaded.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
example_value:
- exe
- txt
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BrowserLabsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BrowserLabsEnabled.yaml
index be6609eb..66c7cf0b 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BrowserLabsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BrowserLabsEnabled.yaml
@@ -18,7 +18,6 @@ items:
- caption: Disable browser experimental features toolbar entrypoint
value: false
owners:
-- elainechien@chromium.org
- labs-on-chrome@google.com
schema:
type: boolean
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml
index 5c72c994..860c0dcc 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml
@@ -12,9 +12,10 @@ owners:
- valadkevich@google.com
- cbe-cep-eng@google.com
future_on:
-- chrome.*
-- chrome_os
- android
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
features:
dynamic_refresh: true
per_profile: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CameraSaveLocation.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CameraSaveLocation.yaml
index 22a2f08d..9841a2f2 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CameraSaveLocation.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CameraSaveLocation.yaml
@@ -12,7 +12,7 @@ desc: |-
example_value: ${google_drive}/Camera
features:
can_be_recommended: false
- dynamic_refresh: true
+ dynamic_refresh: false
per_profile: false
owners:
- file://components/policy/OWNERS
@@ -21,8 +21,8 @@ owners:
- orko@igalia.com
schema:
type: string
-future_on:
-- chrome_os
+supported_on:
+- chrome_os:146-
tags:
- local-data-access
type: string
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CommandLineFlagSecurityWarningsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CommandLineFlagSecurityWarningsEnabled.yaml
index cf368390..c480ffaf 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CommandLineFlagSecurityWarningsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CommandLineFlagSecurityWarningsEnabled.yaml
@@ -4,10 +4,6 @@ desc: |-
Setting the policy to Enabled or leaving it unset means security warnings appear when potentially dangerous command-line flags are used to launch Chrome.
Setting the policy to Disabled prevents security warnings from appearing when Chrome is launched with potentially dangerous command-line flags.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
example_value: true
features:
dynamic_refresh: false
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseCustomLabelForBrowser.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseCustomLabelForBrowser.yaml
index 525d0ce0..ed177fa6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseCustomLabelForBrowser.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseCustomLabelForBrowser.yaml
@@ -4,10 +4,6 @@ desc: |-
This policy controls a custom label used to indicate a managed browser. For managed browsers, this label will be shown in a management disclaimer on a footer on the New Tab page. The custom label will not be translated.
Note that this policy is only applied for managed browsers, so it will have no effect for managed users on unmanaged browsers.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
example_value: Chromium
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseLogoUrlForBrowser.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseLogoUrlForBrowser.yaml
index bb505435..57f3b65a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseLogoUrlForBrowser.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseLogoUrlForBrowser.yaml
@@ -6,10 +6,6 @@ desc: |-
It is recommended to use the favicon (example https://www.google.com/favicon.ico) or an icon no smaller than 48 x 48 px.
Note that this policy is only applied for managed browsers, so it will have no effect for managed users on unmanaged browsers.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
example_value: https://example.com/image.png
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseSearchAggregatorSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseSearchAggregatorSettings.yaml
index b0eca795..0eb3bfc2 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseSearchAggregatorSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/EnterpriseSearchAggregatorSettings.yaml
@@ -17,11 +17,6 @@ desc: |-
The icon_url field specifies the URL to an image that will be used on the search suggestions. A default icon will be used when this field is not set. It's recommended to use a favicon (example https://www.google.com/favicon.ico). Supported image file formats: JPEG, PNG, and ICO.
The require_shortcut field specifies whether the address bar shortcut is required to see search recommendations. If required, suggestions will not be shown in the search box on the New Tab page, but will continue to be shown in the omnibox (address bar) in scoped search mode. If this field is not set, the address bar shortcut is not required.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
-
example_value:
name: My Search Aggregator
shortcut: work
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ForceForegroundPriorityForAllTabs.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ForceForegroundPriorityForAllTabs.yaml
new file mode 100755
index 00000000..f3fbd7b7
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ForceForegroundPriorityForAllTabs.yaml
@@ -0,0 +1,39 @@
+caption: Force foreground priority for all tabs
+desc: |-
+ This policy controls whether background web content is forced to run at
+ foreground priority.
+
+ By default, the browser optimizes resources by deprioritizing content in
+ background tabs. Enabling this policy overrides that behavior, causing
+ background tabs to be scheduled the same way as the active tab.
+
+ Note that forcing background content to run at foreground priority may
+ slightly impact the responsiveness of the active tab.
+
+ If this policy is set to Enabled, all web content runs at foreground priority
+ regardless of its visibility state.
+
+ If this policy is set to Disabled or not set, the browser determines priority
+ based on standard heuristics (e.g., deprioritizing content that is not
+ visible, not playing audio, not participating in video calls...).
+
+owners:
+- mdanowski@google.com
+- file://components/policy/OWNERS
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+features:
+ dynamic_refresh: false
+ per_profile: false
+type: main
+schema:
+ type: boolean
+items:
+- caption: Force foreground priority for all tabs
+ value: true
+- caption: Use standard tab prioritization
+ value: false
+default: false
+example_value: true
+tags: []
\ No newline at end of file
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeAvailability.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeAvailability.yaml
index b591368c..ec05fa69 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeAvailability.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeAvailability.yaml
@@ -8,6 +8,8 @@ desc: |-
If 'Forced' is selected, pages may be opened ONLY in Incognito mode. Note that 'Forced' does not work for Android-on-Chrome
+ The IncognitoModeUrlAllowlist policy takes precedence over this policy and can re-enable Incognito mode for specific URLs. When Incognito mode is disabled by this policy when an allowlist is provided, Incognito mode is available only for URLs matching the allowlist, while all other pages are blocked.
+
Note: On iOS, if the policy is changed during a session, it will only take effect on relaunch.
default: 0
example_value: 1
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlAllowlist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlAllowlist.yaml
index 7843f412..af218bbf 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlAllowlist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlAllowlist.yaml
@@ -1,10 +1,18 @@
caption: Allow access to a list of URLs in Incognito mode.
desc: |-
- Setting the policy provides access to the listed URLs in Incognito mode, as exceptions to IncognitoModeUrlBlocklist. For example, setting IncognitoModeUrlBlocklist to * will block all requests in Incognito mode, and you can use this policy to allow access to a limited list of URLs. Use it to open exceptions to certain schemes, subdomains of other domains, ports, or specific paths, using the format specified at ( https://support.google.com/chrome/a?p=url_blocklist_filter_format ). The IncognitoModeUrlAllowlist policy takes precedence over IncognitoModeUrlBlocklist. This policy is limited to 1,000 entries.
+ Setting the policy provides access to the listed URLs in Incognito mode. Use it to open exceptions to certain URL patterns defined in IncognitoModeUrlBlocklist, using the format specified at ( https://support.google.com/chrome/a?p=url_blocklist_filter_format ).
- Leaving the policy unset allows no exceptions to IncognitoModeUrlBlocklist.
+ If both this policy and IncognitoModeUrlBlocklist are set, the allowlist takes precedence. If a URL matches a pattern on the allowlist, it will be allowed. If it matches a pattern on the blocklist (but not the allowlist), it will be blocked. If a URL matches neither, the general URLBlocklist/URLAllowlist policies will be used as a fallback.
+
+ If this policy is set and IncognitoModeUrlBlocklist is not, any URL not on the allowlist will be blocked in Incognito mode.
+
+ If IncognitoModeAvailability is set to disallow (value 1), but this policy is configured, Incognito mode will be available only for the URLs matching the allowlist.
+
+ Leaving the policy unset allows no exceptions to IncognitoModeUrlBlocklist and IncognitoModeAvailability.
This policy only affects Incognito mode. To allow URLs for all user profiles, please use the URLAllowlist policy.
+
+ This policy is limited to 1000 entries.
example_value:
- example.com
- https://ssl.server.com
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlBlocklist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlBlocklist.yaml
index ee342f40..36c0798a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlBlocklist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/IncognitoModeUrlBlocklist.yaml
@@ -1,8 +1,16 @@
caption: Block access to a list of URLs in Incognito mode.
desc: |-
- Setting the IncognitoModeUrlBlocklist policy stops web pages with prohibited URLs from loading in Incognito mode. Administrators can specify the list of URL patterns to be blocked. If left unset, no URLs are blocked in the Incognito mode. Up to 1,000 exceptions can be defined in IncognitoModeUrlAllowlist. See how to format a URL pattern ( https://support.google.com/chrome/a?p=url_blocklist_filter_format ).
+ Setting the IncognitoModeUrlBlocklist policy stops web pages with prohibited URLs from loading in Incognito mode. Administrators can specify the list of URL patterns to be blocked. See how to format a URL pattern ( https://support.google.com/chrome/a?p=url_blocklist_filter_format ).
+
+ If both this and the IncognitoModeUrlAllowlist are set, the allowlist takes precedence. If a URL matches a pattern on the allowlist, it will be allowed. If it matches a pattern on the blocklist but not the allowlist, it will be blocked. If a URL matches neither, the general URLBlocklist/URLAllowlist policies will be used as a fallback.
+
+ If the IncognitoModeUrlAllowlist policy is set and this policy is not, any URL not on the allowlist will be blocked in Incognito mode.
+
+ If IncognitoModeAvailability is set to disallow (value 1), but the IncognitoModeUrlAllowlist policy is configured, Incognito mode will be available only for the URLs matching the allowlist.
This policy only affects Incognito mode. To block URLs for all user profiles, please use the URLBlocklist policy.
+
+ This policy is limited to 1000 entries.
example_value:
- example.com
- https://ssl.server.com
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/LensCameraAssistedSearchEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/LensCameraAssistedSearchEnabled.yaml
index 95b937ac..9555e0ff 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/LensCameraAssistedSearchEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/LensCameraAssistedSearchEnabled.yaml
@@ -6,6 +6,9 @@ desc: Leaving the policy unset or setting it to Enabled allows users to search w
the policy to Disabled means users can't see the Google
Lens button in the search box when Google
Lens camera assisted search is supported.
+
+ Starting in $1Google Chrome 147, this policy will be deprecated. IT Admins can use SearchContentSharingSettings to control this feature going forward.
+
example_value: true
features:
dynamic_refresh: false
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/MetricsReportingEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/MetricsReportingEnabled.yaml
index a27f3514..31df634c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/MetricsReportingEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/MetricsReportingEnabled.yaml
@@ -7,10 +7,6 @@ desc: |-
When this policy is not set, users can choose the anonymous reporting behavior at installation or first run, and can change this setting later.
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
-
(For $2Google ChromeOS, see DeviceMetricsReportingEnabled.)
example_value: true
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPCustomBackgroundEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPCustomBackgroundEnabled.yaml
index 65383b1a..b312e530 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPCustomBackgroundEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPCustomBackgroundEnabled.yaml
@@ -11,6 +11,7 @@ features:
per_profile: true
future_on:
- fuchsia
+- android
items:
- caption: Users can customize the New Tab page background
value: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPFooterManagementNoticeEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPFooterManagementNoticeEnabled.yaml
index 6e664238..982ae1a1 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPFooterManagementNoticeEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/NTPFooterManagementNoticeEnabled.yaml
@@ -8,10 +8,6 @@ desc: |-
If this policy is set to false, the management notice will be hidden.
Note that this policy is only applied for managed browsers, so it will have no effect for managed users on unmanaged browsers.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
example_value: true
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/OnFileDownloadedEnterpriseConnector.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/OnFileDownloadedEnterpriseConnector.yaml
index 0d271a44..f85d9f7d 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/OnFileDownloadedEnterpriseConnector.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/OnFileDownloadedEnterpriseConnector.yaml
@@ -71,7 +71,6 @@ future_on:
- fuchsia
owners:
- cbe-cep-eng@google.com
-- drubery@chromium.org
- domfc@chromium.org
schema:
items:
@@ -155,6 +154,8 @@ schema:
type: object
type: object
type: array
+future_on:
+- android
supported_on:
- chrome.*:84-
- chrome_os:84-
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/RestrictPdfSaveToGoogleDriveAccountsToPattern.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/RestrictPdfSaveToGoogleDriveAccountsToPattern.yaml
index e2f76b27..7de83c78 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/RestrictPdfSaveToGoogleDriveAccountsToPattern.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/RestrictPdfSaveToGoogleDriveAccountsToPattern.yaml
@@ -16,6 +16,7 @@ owners:
schema:
type: string
supported_on:
+- chrome_os:146-
- chrome.*:145-
tags: []
type: string
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SafeBrowsingForTrustedSourcesEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SafeBrowsingForTrustedSourcesEnabled.yaml
index 2b5d6314..12622a84 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SafeBrowsingForTrustedSourcesEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SafeBrowsingForTrustedSourcesEnabled.yaml
@@ -6,8 +6,6 @@ desc: |-
Setting the policy to Disabled means downloaded files won't be sent to be analyzed by Safe Browsing when it's from a trusted source.
These restrictions apply to downloads triggered from webpage content, as well as the Download link menu option. These restrictions don't apply to the save or download of the currently displayed page or to saving as PDF from the printing options.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
example_value: false
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ShowFullUrlsInAddressBar.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ShowFullUrlsInAddressBar.yaml
index 8242e27c..09c24361 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ShowFullUrlsInAddressBar.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ShowFullUrlsInAddressBar.yaml
@@ -14,6 +14,7 @@ features:
per_profile: true
future_on:
- fuchsia
+- android
items:
- caption: Display the full URL
value: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SiteSearchSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SiteSearchSettings.yaml
index fc52d1f0..b103b673 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SiteSearchSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SiteSearchSettings.yaml
@@ -17,11 +17,6 @@ desc: |-
Users cannot create new site search entries with a shortcut previously created via this policy unless allow_user_override is set to true for the site search entry.
In case of a conflict with a shortcut previously created by the user, the user setting takes precedence. However, users can still trigger the option created by the policy by typing "@" in the search bar. For example, if the user already defined "work" as a shortcut to URL1 and the policy defines "work" as a shortcut to URL2, then typing "work" in the search bar will trigger a search to URL1, but typing "@work" in the search bar will trigger a search to URL2.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
-
example_value:
- featured: true
name: Google Wikipedia
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/XSLTEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/XSLTEnabled.yaml
new file mode 100755
index 00000000..06771090
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/XSLTEnabled.yaml
@@ -0,0 +1,31 @@
+caption: Control the availability of the XSLT feature
+default: null
+desc: |-
+ This policy controls the availability of the XSLT feature (the XSLTProcessor Javascript API and the XSL processing instruction).
+ If this policy is set to Enabled, XSLT will be available, regardless of the default state of the feature in the browser.
+ If this policy is set to Disabled, XSLT will be unavailable, regardless of the default state of the feature in the browser.
+ If this policy is left unset, XSLT availability will be determined by the browser's default settings and field trials.
+ This policy is a temporary measure, and will be removed in M164.
+example_value: true
+features:
+ dynamic_refresh: true
+ per_profile: true
+items:
+- caption: 'Enabled: XSLT is explicitly enabled.'
+ value: true
+- caption: 'Disabled: XSLT is explicitly disabled.'
+ value: false
+- caption: 'Default: XSLT availability will be determined by browser defaults and field trials.'
+ value: null
+owners:
+- masonf@chromium.org
+- dom-dev@google.com
+schema:
+ type: boolean
+supported_on:
+- chrome.*:146-
+- chrome_os:146-
+- android:146-
+- webview_android:146-
+tags: []
+type: main
\ No newline at end of file
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Network/DeviceHostnameUserConfigurable.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Network/DeviceHostnameUserConfigurable.yaml
index 80a2b92c..28285e98 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Network/DeviceHostnameUserConfigurable.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Network/DeviceHostnameUserConfigurable.yaml
@@ -1,6 +1,9 @@
caption: Allow user to configure their device hostname
default: false
+deprecated: true
desc: |-
+ Deprecated: The host name setting feature was removed in M145. The Administrator can still control the hostname using the DeviceHostnameTemplate policy.
+
Determine whether a user is allowed to configure the device hostname.
If DeviceHostnameTemplate is set, the admininistrator sets hostname and the user cannot choose regardless of what this policy is set to.
@@ -23,7 +26,7 @@ owners:
schema:
type: boolean
supported_on:
-- chrome_os:97-
+- chrome_os:97-144
tags: []
type: main
generate_device_proto: False
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml
index 30db2a88..6febf626 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml
@@ -2,7 +2,6 @@ caption: Enable adaptive charging model to hold charging process to extend batte
life
deprecated: true
default: true
-default_for_enterprise_users: false
desc: |-
Specifies whether an adaptive charging model is allowed to hold charging process to extend battery life.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactors.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/AllowedLocalAuthFactors.yaml
similarity index 95%
rename from tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactors.yaml
rename to tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/AllowedLocalAuthFactors.yaml
index 6661a0ad..f48a8698 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactors.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/AllowedLocalAuthFactors.yaml
@@ -1,4 +1,4 @@
-caption: Configure allowed local auth factors
+caption: Configure allowed local authentication factors
desc: |-
Setting the policy controls which local authentication factors can be used for both login and reauthentication on $2Google ChromeOS.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/NewTabPageLocation.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/NewTabPageLocation.yaml
index f4e30c70..fed57ca9 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/NewTabPageLocation.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/NewTabPageLocation.yaml
@@ -15,6 +15,7 @@ features:
per_profile: true
future_on:
- fuchsia
+- android
label: New Tab page URL
owners:
- chrome-desktop-ntp@google.com
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartup.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartup.yaml
index 1a6dfcaf..aecf48f3 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartup.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartup.yaml
@@ -7,10 +7,6 @@ desc: |-
Setting this policy to RestoreOnStartupIsLastSession or RestoreOnStartupIsLastSessionAndURLs turns off some settings that rely on sessions or that perform actions on exit, such as clearing browsing data on exit or session-only cookies.
If this policy is set to RestoreOnStartupIsLastSessionAndURLs, browser will restore previous session and open a separate window to show URLs that are set from RestoreOnStartupURLs. Note that users can choose to keep those URLs open and they will also be restored in the future session.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
-
- On macOS, this policy is only available on instances that are managed via MDM, joined to a domain via MCX or enrolled in Chrome Enterprise Core.
default: null
example_value: 4
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartupURLs.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartupURLs.yaml
index 817d081f..bebfb5fa 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartupURLs.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/RestoreOnStartupURLs.yaml
@@ -3,8 +3,6 @@ desc: |-
If RestoreOnStartup is set to RestoreOnStartupIsURLs, then setting RestoreOnStartupURLs to a list of URLs specify which URLs open.
If not set, the New Tab page opens on start up.
-
- On Microsoft® Windows®, this policy is only available on instances that are joined to a Microsoft® Active Directory® domain, joined to Microsoft® Azure® Active Directory® or enrolled in Chrome Enterprise Core.
example_value:
- https://example.com
- https://www.chromium.org
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcDiagnosticLogCollectionAllowedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcDiagnosticLogCollectionAllowedForOrigins.yaml
new file mode 100755
index 00000000..1ed826e3
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcDiagnosticLogCollectionAllowedForOrigins.yaml
@@ -0,0 +1,32 @@
+caption: Enable WebRTC diagnostic log collection for specific origins
+default: null
+desc: |-
+ This policy allows enabling diagnostic log collection for WebRTC for specific origins.
+
+ For detailed information on valid input patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy. This policy only matches based on origin, so any path in the URL pattern is ignored. Scheme and subdomains are supported.
+
+ If the policy is set, diagnostic log collection will be enabled for the origins matched by the patterns in the list.
+
+ If the policy is not set, diagnostic log collection will be disabled by default.
+example_value:
+- https://www.example.com
+- example.com
+- '[*.]example.com'
+- '*://example.edu:*/'
+- https://example.com:8080
+features:
+ dynamic_refresh: true
+ per_profile: true
+owners:
+- file://third_party/blink/renderer/modules/peerconnection/OWNERS
+- agpalak@chromium.org
+- guidou@chromium.org
+schema:
+ items:
+ type: string
+ type: array
+future_on:
+- chrome.*
+- chrome_os
+tags: []
+type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/policy_atomic_groups.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/policy_atomic_groups.yaml
index 1488ef58..0f870ab1 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/policy_atomic_groups.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/policy_atomic_groups.yaml
@@ -3,4 +3,5 @@ WebRtc:
policies:
- WebRtcIPHandling
- WebRtcIPHandlingUrl
- - WebRtcPostQuantumKeyAgreement
\ No newline at end of file
+ - WebRtcPostQuantumKeyAgreement
+ - WebRtcDiagnosticLogCollectionAllowedForOrigins
\ No newline at end of file
diff --git a/tools/under-control/src/content/browser/web_contents/web_contents_impl.cc b/tools/under-control/src/content/browser/web_contents/web_contents_impl.cc
index 395ba8bf..345951d7 100755
--- a/tools/under-control/src/content/browser/web_contents/web_contents_impl.cc
+++ b/tools/under-control/src/content/browser/web_contents/web_contents_impl.cc
@@ -21,7 +21,6 @@
#include "base/base_switches.h"
#include "base/check_op.h"
#include "base/command_line.h"
-#include "base/containers/contains.h"
#include "base/containers/flat_set.h"
#include "base/debug/crash_logging.h"
#include "base/feature_list.h"
@@ -73,7 +72,6 @@
#include "content/browser/browser_plugin/browser_plugin_embedder.h"
#include "content/browser/browser_plugin/browser_plugin_guest.h"
#include "content/browser/btm/btm_bounce_detector.h"
-#include "content/browser/btm/btm_navigation_flow_detector.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/closewatcher/close_listener_manager.h"
#include "content/browser/compositor/surface_utils.h"
@@ -93,6 +91,7 @@
#include "content/browser/host_zoom_map_impl.h"
#include "content/browser/media/audio_stream_monitor.h"
#include "content/browser/media/media_web_contents_observer.h"
+#include "content/browser/memory/scheduler_loop_quarantine_web_contents_observer.h"
#include "content/browser/permissions/permission_controller_impl.h"
#include "content/browser/permissions/permission_util.h"
#include "content/browser/preloading/prefetch/prefetch_request.h"
@@ -1052,7 +1051,7 @@ void WebContentsImpl::WebContentsTreeNode::DetachInnerWebContents(
bool WebContentsImpl::WebContentsTreeNode::IsUnownedInnerWebContents(
WebContents* inner_web_contents) const {
CHECK_EQ(inner_web_contents->GetOuterWebContents(), current_web_contents_);
- return base::Contains(unowned_inner_web_contents_, inner_web_contents);
+ return std::ranges::contains(unowned_inner_web_contents_, inner_web_contents);
}
void WebContentsImpl::WebContentsTreeNode::DetachUnownedInnerWebContents(
@@ -3135,8 +3134,6 @@ void WebContentsImpl::SetPrimaryPageImportance(
base::android::ScopedServiceBindingBatch scoped_service_binding_batch;
if (base::FeatureList::IsEnabled(features::kSubframeImportance)) {
- CHECK(
- base::FeatureList::IsEnabled(features::kSubframePriorityContribution));
if (subframe_importance != primary_subframe_importance_) {
primary_subframe_importance_ = subframe_importance;
ApplyPrimaryPageSubframeImportance();
@@ -3796,9 +3793,6 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
prefs.strict_mixed_content_checking =
command_line.HasSwitch(switches::kEnableStrictMixedContentChecking);
- prefs.strict_powerful_feature_restrictions = command_line.HasSwitch(
- switches::kEnableStrictPowerfulFeatureRestrictions);
-
const std::string blockable_mixed_content_group =
base::FieldTrialList::FindFullName("BlockableMixedContent");
prefs.strictly_block_blockable_mixed_content =
@@ -4086,16 +4080,6 @@ void WebContentsImpl::OnVibrate(RenderFrameHostImpl* rfh) {
observers_.NotifyObservers(&WebContentsObserver::VibrationRequested);
}
-std::optional
-WebContentsImpl::GetPermissionsPolicyForIsolatedWebApp(
- RenderFrameHostImpl* source) {
- WebExposedIsolationInfo weii =
- source->GetSiteInstance()->GetWebExposedIsolationInfo();
- CHECK(weii.is_isolated_application());
- return GetContentClient()->browser()->GetPermissionsPolicyForIsolatedWebApp(
- this, weii.origin());
-}
-
void WebContentsImpl::Stop() {
TRACE_EVENT0("content", "WebContentsImpl::Stop");
ForEachFrameTree([](FrameTree& frame_tree) { frame_tree.StopLoading(); });
@@ -4231,9 +4215,9 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
AttributionHost::CreateForWebContents(this);
}
+ SchedulerLoopQuarantineWebContentsObserver::MaybeCreateForWebContents(this);
RedirectChainDetector::CreateForWebContents(this);
BtmWebContentsObserver::MaybeCreateForWebContents(this);
- BtmNavigationFlowDetector::CreateForWebContents(this);
RedirectHeuristicTabHelper::CreateForWebContents(this);
OpenerHeuristicTabHelper::CreateForWebContents(this);
@@ -4567,6 +4551,23 @@ bool WebContentsImpl::PreHandleGestureEvent(
const blink::WebGestureEvent& event) {
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
"WebContentsImpl::PreHandleGestureEvent");
+ if (ignore_zoom_gestures_) {
+ if (event.GetType() == blink::WebInputEvent::Type::kGestureDoubleTap) {
+ return true;
+ }
+
+ // Disable pinch zooming in app windows.
+ if (blink::WebInputEvent::IsPinchGestureEventType(event.GetType())) {
+ // Only suppress pinch events that cause a scale change. We still
+ // allow synthetic wheel events for touchpad pinch to go to the page.
+ return !(event.SourceDevice() == blink::WebGestureDevice::kTouchpad &&
+ event.NeedsWheelEvent());
+ }
+ }
+
+ // TODO(crbug.com/475836809)
+ // Remove this delegate method. It exposes Blink types to the embedder. Since
+ // zoom blocking is now handled natively, we should audit remaining consumers.
return delegate_ && delegate_->PreHandleGestureEvent(this, event);
}
@@ -4820,6 +4821,13 @@ void WebContentsImpl::Restore() {
}
GetDelegate()->RestoreFromWebAPI();
}
+
+void WebContentsImpl::SetResizable(bool resizable) {
+ if (!GetDelegate()) {
+ return;
+ }
+ GetDelegate()->SetResizableFromWebAPI(resizable);
+}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
// TODO(laurila, crbug.com/1466855): Map into new `ui::DisplayState` enum
@@ -5521,8 +5529,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
? NavigationController::UA_OVERRIDE_TRUE
: NavigationController::UA_OVERRIDE_FALSE;
load_params->download_policy = params.download_policy;
- load_params->initiator_activation_and_ad_status =
- params.initiator_activation_and_ad_status;
+ load_params->started_by_ad = params.started_by_ad;
if (delegate_ && !is_guest &&
!delegate_->ShouldResumeRequestsForCreatedWindow()) {
@@ -6025,7 +6032,7 @@ std::string WebContentsImpl::DumpAccessibilityTree(
// This only runs during integration tests, or if a developer is
// using an inspection tool, e.g. chrome://accessibility.
ui::AXTreeManager::AlwaysFailFast();
- DCHECK(base::Contains(AXInspectFactory::SupportedApis(), api_type));
+ DCHECK(std::ranges::contains(AXInspectFactory::SupportedApis(), api_type));
std::unique_ptr formatter =
AXInspectFactory::CreateFormatter(api_type);
@@ -6060,7 +6067,7 @@ void WebContentsImpl::RecordAccessibilityEvents(
ax_mgr->GetBrowserAccessibilityRoot()
->GetTargetForNativeAccessibilityEvent();
- DCHECK(base::Contains(AXInspectFactory::SupportedApis(), api_type));
+ DCHECK(std::ranges::contains(AXInspectFactory::SupportedApis(), api_type));
event_recorder_ = content::AXInspectFactory::CreateRecorder(
api_type, ax_mgr, pid, ui::AXTreeSelector(widget));
event_recorder_->ListenToEvents(*callback);
@@ -6946,6 +6953,10 @@ void WebContentsImpl::SetPageScale(float scale_factor) {
scale_factor);
}
+void WebContentsImpl::SetIgnoreZoomGestures(bool ignore) {
+ ignore_zoom_gestures_ = ignore;
+}
+
gfx::Size WebContentsImpl::GetPreferredSize() {
return IsBeingCaptured() ? preferred_size_for_capture_ : preferred_size_;
}
@@ -11905,10 +11916,6 @@ void WebContentsImpl::CancelPreviewByMojoBinderPolicy(
}
}
-void WebContentsImpl::OnWebApiWindowResizableChanged() {
- delegate_->OnWebApiWindowResizableChanged();
-}
-
FrameTreeNodeId WebContentsImpl::GetOuterDelegateFrameTreeNodeId() {
return node_.outer_contents_frame_tree_node_id();
}
diff --git a/tools/under-control/src/content/child/runtime_features.cc b/tools/under-control/src/content/child/runtime_features.cc
index 7a04e274..b89d7bb5 100755
--- a/tools/under-control/src/content/child/runtime_features.cc
+++ b/tools/under-control/src/content/child/runtime_features.cc
@@ -219,6 +219,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(features::kFedCmIdPRegistration), kDefault},
{wf::EnableFedCmLightweightMode,
raw_ref(features::kFedCmLightweightMode), kDefault},
+ {wf::EnableFedCmNavigationInterception,
+ raw_ref(features::kFedCmNavigationInterception), kDefault},
{wf::EnableFedCmErrorAttribute,
raw_ref(features::kFedCmErrorAttribute), kDefault},
{wf::EnableFedCmNonStringToken,
@@ -278,8 +280,6 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(device::kWebAuthnAmbientSignin)},
{wf::EnableWebAuthenticationImmediateGet,
raw_ref(device::kWebAuthnImmediateGet), kSetOnlyIfOverridden},
- {wf::EnableWebAuthenticationConditionalCreate,
- raw_ref(device::kWebAuthnPasskeyUpgrade)},
{wf::EnableWebBluetooth, raw_ref(features::kWebBluetooth),
kSetOnlyIfOverridden},
{wf::EnableWebBluetoothGetDevices,
@@ -310,12 +310,13 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(device::features::kWebXRIncubations)},
{wf::EnableWebXRLayers, raw_ref(device::features::kWebXRLayers)},
{wf::EnableWebXRPlaneDetection,
- raw_ref(device::features::kWebXRIncubations)},
+ raw_ref(device::features::kWebXRPlaneDetection)},
{wf::EnableWebXRPoseMotionData,
raw_ref(device::features::kWebXRIncubations)},
{wf::EnableWebXRSpecParity,
raw_ref(device::features::kWebXRIncubations)},
#endif
+ {wf::EnableXSLT, raw_ref(blink::features::kXSLT)},
{wf::EnablePermissions, raw_ref(features::kWebPermissionsApi),
kSetOnlyIfOverridden},
};
@@ -531,8 +532,6 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
ui::NativeTheme::GetInstanceForWeb()->use_overlay_scrollbar());
#endif
WebRuntimeFeatures::EnableFluentScrollbars(ui::IsFluentScrollbarEnabled());
- WebRuntimeFeatures::EnableFluentOverlayScrollbars(
- ui::IsFluentOverlayScrollbarEnabled());
// TODO(rodneyding): This is a rare case for a stable feature
// Need to investigate more to determine whether to refactor it.
@@ -716,6 +715,12 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs(
WebRuntimeFeatures::EnableFeatureFromString(feature, false);
}
+ if (command_line.HasSwitch(blink::switches::kXSLTEnabledPolicy)) {
+ std::string value =
+ command_line.GetSwitchValueASCII(blink::switches::kXSLTEnabledPolicy);
+ WebRuntimeFeatures::EnableXSLT(value == "true");
+ }
+
ResolveInvalidConfigurations();
}
diff --git a/tools/under-control/src/content/public/browser/content_browser_client.cc b/tools/under-control/src/content/public/browser/content_browser_client.cc
index e6bd8b31..d6b69893 100755
--- a/tools/under-control/src/content/public/browser/content_browser_client.cc
+++ b/tools/under-control/src/content/public/browser/content_browser_client.cc
@@ -189,7 +189,7 @@ bool ContentBrowserClient::
BrowserContext* browser_context,
const GURL& site_instance_original_url) {
DCHECK(browser_context);
- return true;
+ return false;
}
bool ContentBrowserClient::ShouldAllowProcessPerSiteForMultipleMainFrames(
@@ -227,10 +227,6 @@ bool ContentBrowserClient::ShouldLockProcessToSite(
return true;
}
-bool ContentBrowserClient::ShouldEnforceNewCanCommitUrlChecks() {
- return true;
-}
-
bool ContentBrowserClient::DoesWebUIUrlRequireProcessLock(const GURL& url) {
return true;
}
@@ -323,11 +319,11 @@ size_t ContentBrowserClient::GetProcessCountToIgnoreForLimit() {
return 0;
}
-std::optional
+std::optional>
ContentBrowserClient::GetPermissionsPolicyForIsolatedWebApp(
- WebContents* web_contents,
- const url::Origin& app_origin) {
- return network::ParsedPermissionsPolicy();
+ BrowserContext* browser_context,
+ const url::Origin& iwa_origin) {
+ return std::nullopt;
}
bool ContentBrowserClient::ShouldTryToUseExistingProcessHost(
@@ -1082,6 +1078,13 @@ bool ContentBrowserClient::ShouldRestrictCoreSharingOnRenderer() {
return false;
}
+std::optional
+ContentBrowserClient::GetWindowsSecurityAttributeName() const {
+ // Embedders should override this method and return the name of the security
+ // attribute previously assigned to the browser's process token.
+ return std::nullopt;
+}
+
#endif // BUILDFLAG(IS_WIN)
std::vector>
@@ -1223,8 +1226,8 @@ ContentBrowserClient::GetNetworkContextsParentDirectory() {
return {};
}
-base::Value::Dict ContentBrowserClient::GetNetLogConstants() {
- return base::Value::Dict();
+base::DictValue ContentBrowserClient::GetNetLogConstants() {
+ return base::DictValue();
}
#if BUILDFLAG(IS_ANDROID)
@@ -1576,6 +1579,12 @@ void ContentBrowserClient::IsClipboardCopyAllowedByPolicy(
std::move(callback).Run(metadata.format_type, data, std::nullopt);
}
+bool ContentBrowserClient::IsDragAllowedByPolicy(
+ const ClipboardEndpoint& source,
+ const DropData& drop_data) {
+ return true;
+}
+
#if BUILDFLAG(ENABLE_VR)
XrIntegrationClient* ContentBrowserClient::GetXrIntegrationClient() {
return nullptr;
@@ -1599,11 +1608,11 @@ void ContentBrowserClient::GrantAdditionalRequestPrivilegesToWorkerProcess(
int child_id,
const GURL& script_url) {}
-ContentBrowserClient::PrivateNetworkRequestPolicyOverride
-ContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy(
+ContentBrowserClient::LocalNetworkAccessRequestPolicyOverride
+ContentBrowserClient::ShouldOverrideLocalNetworkAccessRequestPolicy(
BrowserContext* browser_context,
const url::Origin& origin) {
- return PrivateNetworkRequestPolicyOverride::kDefault;
+ return LocalNetworkAccessRequestPolicyOverride::kDefault;
}
bool ContentBrowserClient::IsJitDisabledForSite(BrowserContext* browser_context,
@@ -1749,12 +1758,6 @@ bool ContentBrowserClient::AreIsolatedWebAppsEnabled(
return false;
}
-bool ContentBrowserClient::IsThirdPartyStoragePartitioningAllowed(
- content::BrowserContext*,
- const url::Origin&) {
- return true;
-}
-
bool ContentBrowserClient::AreDeprecatedAutomaticBeaconCredentialsAllowed(
content::BrowserContext* browser_context,
const GURL& destination_url,
@@ -1965,13 +1968,14 @@ bool ContentBrowserClient::IsRendererProcessPriorityEnabled() {
return true;
}
-std::unique_ptr
+std::vector>
ContentBrowserClient::MaybeCreateKeepAliveRequestTracker(
const network::ResourceRequest& request,
std::optional ukm_source_id,
+ content::BrowserContext* browser_context,
KeepAliveRequestTracker::IsContextDetachedCallback
is_context_detached_callback) {
- return nullptr;
+ return {};
}
std::optional>
@@ -2017,4 +2021,16 @@ std::string ContentBrowserClient::GetDnsTxtResolverUrlPrefix() {
return std::string();
}
+bool ContentBrowserClient::ShouldAllowPrefetchRedirection(
+ content::BrowserContext& browser_context,
+ const GURL& url,
+ const std::string& embedder_histogram_suffix) {
+ return true;
+}
+
+bool ContentBrowserClient::OriginSupportsConcreteCrossOriginIsolation(
+ const url::Origin& origin) {
+ return true;
+}
+
} // namespace content
diff --git a/tools/under-control/src/extensions/common/api/automation_internal.idl b/tools/under-control/src/extensions/common/api/automation_internal.idl
deleted file mode 100755
index 85ef3ab0..00000000
--- a/tools/under-control/src/extensions/common/api/automation_internal.idl
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2014 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This is the implementation layer of the chrome.automation API, and is
-// essentially a translation of the internal accessibility tree update system
-// into an extension API.
-namespace automationInternal {
- // Data for an accessibility event and/or an atomic change to an accessibility
- // tree. See ui/accessibility/ax_tree_update.h for an extended explanation of
- // the tree update format.
- [nocompile] dictionary AXEventParams {
- // The tree id of the web contents that this update is for.
- DOMString treeID;
-
- // ID of the node that the event applies to.
- long targetID;
-
- // The type of event that this update represents.
- DOMString eventType;
-
- // The source of this event.
- DOMString eventFrom;
-
- // The mouse coordinates when this event fired.
- double mouseX;
- double mouseY;
-
-
- // ID of an action request resulting in this event.
- long actionRequestID;
- };
-
- dictionary AXTextLocationParams {
- DOMString treeID;
- long nodeID;
- boolean result;
- long left;
- long top;
- long width;
- long height;
- long requestID;
- };
-
- // Arguments required for all actions supplied to performAction.
- dictionary PerformActionRequiredParams {
- DOMString treeID;
- long automationNodeID;
-
- // This can be either automation::ActionType or
- // automation_internal::ActionTypePrivate.
- DOMString actionType;
-
- long? requestID;
- };
-
- // Arguments for the customAction action. Those args are passed to
- // performAction as opt_args.
- dictionary PerformCustomActionParams {
- long customActionID;
- };
-
- // Arguments for the setSelection action supplied to performAction.
- dictionary SetSelectionParams {
- // Reuses ActionRequiredParams automationNodeID to mean anchor node id,
- // and treeID to apply to both anchor and focus node ids.
- long focusNodeID;
- long anchorOffset;
- long focusOffset;
- };
-
- // Arguments for the replaceSelectedText action supplied to performAction.
- dictionary ReplaceSelectedTextParams {
- DOMString value;
- };
-
- // Arguments for the setValue action supplied to performAction.
- dictionary SetValueParams {
- DOMString value;
- };
-
-
- // Arguments for the scrollToPoint action supplied to performAction.
- dictionary ScrollToPointParams {
- long x;
- long y;
- };
-
- // Arguments for the scrollToPositionAtRowColumn action supplied to performAction.
- dictionary ScrollToPositionAtRowColumnParams {
- long row;
- long column;
- };
-
- // Arguments for the SetScrollOffset action supplied to performAction.
- dictionary SetScrollOffsetParams {
- long x;
- long y;
- };
-
- // Arguments for the getImageData action.
- dictionary GetImageDataParams {
- long maxWidth;
- long maxHeight;
- };
-
- // Arguments for the hitTest action.
- dictionary HitTestParams {
- long x;
- long y;
- DOMString eventToFire;
- };
-
- // Arguments for getTextLocation action.
- dictionary GetTextLocationDataParams {
- long startIndex;
- long endIndex;
- };
-
- // Callback called when enableDesktop() returns. Returns the accessibility
- // tree id of the desktop tree.
- callback EnableDesktopCallback = void(DOMString tree_id);
-
- // Callback called when disableDesktop() returns. It is safe to clear
- // accessibility api state at that point.
- callback DisableDesktopCallback = void();
-
- interface Functions {
- // Enable automation of the tree with the given id.
- static void enableTree(DOMString tree_id);
-
- // Enables desktop automation.
- static void enableDesktop(
- EnableDesktopCallback callback);
-
- // Disables desktop automation.
- static void disableDesktop(DisableDesktopCallback callback);
-
- // Performs an action on an automation node.
- static void performAction(PerformActionRequiredParams args,
- object opt_args);
- };
-
- interface Events {
- // Fired when an accessibility event occurs
- static void onAccessibilityEvent(AXEventParams update);
-
- static void onAccessibilityTreeDestroyed(DOMString treeID);
-
- static void onGetTextLocationResult(AXTextLocationParams params);
-
- static void onTreeChange(long observerID,
- DOMString treeID,
- long nodeID,
- DOMString changeType);
-
- static void onChildTreeID(DOMString treeID);
-
- static void onNodesRemoved(DOMString treeID, long[] nodeIDs);
-
- static void onAccessibilityTreeSerializationError(DOMString treeID);
-
- static void onActionResult(DOMString treeID, long requestID, boolean result);
-
- static void onAllAutomationEventListenersRemoved();
- };
-};
diff --git a/tools/under-control/src/extensions/common/api/feedback_private.idl b/tools/under-control/src/extensions/common/api/feedback_private.idl
deleted file mode 100755
index a8a98eaf..00000000
--- a/tools/under-control/src/extensions/common/api/feedback_private.idl
+++ /dev/null
@@ -1,288 +0,0 @@
-// Copyright 2013 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Use the chrome.feedbackPrivate API to provide Chrome [OS]
-// feedback to the Google Feedback servers.
-namespace feedbackPrivate {
-
- dictionary AttachedFile {
- DOMString name;
- [instanceOf=Blob] object? data;
- };
-
- dictionary LogsMapEntry {
- DOMString key;
- DOMString value;
- };
-
- // Supported feedback flows.
- enum FeedbackFlow {
- // Flow for regular user. This is the default.
- regular,
-
- // Flow on the ChromeOS login screen. URL entry, file attaching and landing
- // page is disabled for this flow.
- login,
-
- // Flow when the feedback is requested from the sad tab ("Aw, Snap!") page
- // when the renderer crashes.
- sadTabCrash,
-
- // Flow for internal Google users.
- googleInternal,
-
- // Flow for AI features.
- ai
- };
-
- dictionary FeedbackInfo {
- // File to attach to the feedback report.
- AttachedFile? attachedFile;
-
- // An optional tag to label what type this feedback is.
- DOMString? categoryTag;
-
- // The feedback text describing the user issue.
- DOMString description;
-
- // The placeholder text that will be shown in the description field when
- // it's empty.
- DOMString? descriptionPlaceholder;
-
- // The e-mail of the user that initiated this feedback.
- DOMString? email;
-
- // The URL of the page that this issue was being experienced on.
- DOMString? pageUrl;
-
- // Optional product ID to override the Chrome [OS] product id that is
- // usually passed to the feedback server.
- long? productId;
-
- // Screenshot to send with this feedback.
- [instanceOf=Blob] object? screenshot;
-
- // Optional id for performance trace data that can be included in this
- // report.
- long? traceId;
-
- // An array of key/value pairs providing system information for this
- // feedback report.
- LogsMapEntry[]? systemInformation;
-
- // True if we have permission to add histograms to this feedback report.
- boolean? sendHistograms;
-
- // Optional feedback UI flow. Default is the regular user flow.
- FeedbackFlow? flow;
-
- // TODO(rkc): Remove these once we have bindings to send blobs to Chrome.
- // Used internally to store the blob uuid after parameter customization.
- DOMString? attachedFileBlobUuid;
- DOMString? screenshotBlobUuid;
-
- // Whether to use the system-provided window frame or custom frame controls.
- boolean? useSystemWindowFrame;
-
- // Whether or not to send bluetooth logs with this report.
- boolean? sendBluetoothLogs;
-
- // Whether or not to send tab titles with this report.
- boolean? sendTabTitles;
-
- // Whether or not to send Assistant feedback to Assistant server.
- boolean? assistantDebugInfoAllowed;
-
- // Whether or not triggered from Assistant.
- boolean? fromAssistant;
-
- // Whether or not to include bluetooth logs.
- boolean? includeBluetoothLogs;
-
- // Whether to show questionnaire in the report description based on detected
- // domain-related keywords (crbug/1241169).
- boolean? showQuestionnaire;
-
- // Whether or not triggered for Autofill.
- boolean? fromAutofill;
-
- // A JSON formatted string containing autofill metadata for this
- // feedback report.
- DOMString? autofillMetadata;
-
- // Whether or not |autofillMetadata| should be included in the feedback
- // report.
- boolean? sendAutofillMetadata;
-
- // Whether or not the content is offensive or unsafe.
- boolean? isOffensiveOrUnsafe;
-
- // A JSON formatted string containing ai metadata.
- DOMString? aiMetadata;
- };
-
- // Possible statuses that can result from sending feedback.
- enum Status {success, delayed};
-
- // Landing page types that can be shown after sending feedback.
- enum LandingPageType {normal, techstop, noLandingPage};
-
- // Result returned from a $(ref:sendFeedback) call.
- dictionary SendFeedbackResult {
- // Status of the sending of a feedback report.
- Status status;
-
- // The type of landing page shown to the use when the feedback report is
- // successfully sent, if one should be shown.
- LandingPageType landingPageType;
- };
-
- // Allowed log sources on Chrome OS.
- enum LogSource {
- // Chrome OS system messages.
- messages,
-
- // Latest Chrome OS UI logs.
- uiLatest,
-
- // Info about display connectors and connected displays from DRM subsystem.
- drmModetest,
-
- // USB device list and connectivity graph.
- lsusb,
-
- // Logs from daemon for Atrus device.
- atrusLog,
-
- // Network log.
- netLog,
-
- // Log of system events.
- eventLog,
-
- // Update engine log.
- updateEngineLog,
-
- // Log of the current power manager session.
- powerdLatest,
-
- // Log of the previous power manager session.
- powerdPrevious,
-
- // Info about system PCI buses devices.
- lspci,
-
- // Info about system network interface.
- ifconfig,
-
- // Info about system uptime.
- uptime
- };
-
- // Source of the feedback.
- enum FeedbackSource {quickoffice};
-
- // Input parameters for a readLogSource() call.
- dictionary ReadLogSourceParams {
- // The log source from which to read.
- LogSource source;
-
- // For file-based log sources, read from source without closing the file
- // handle. The next time $(ref:readLogSource) is called, the file read will
- // continue where it left off. $(ref:readLogSource) can be called with
- // incremental=true repeatedly. To subsequently close the file
- // handle, pass in incremental=false.
- boolean incremental;
-
- // To read from an existing file handle, set this to a valid
- // readerId value that was returned from a previous
- // $(ref:readLogSource) call. The reader must previously have been created
- // for the same value of source. If no readerId is
- // provided, $(ref:readLogSource) will attempt to open a new log source
- // reader handle.
- long? readerId;
- };
-
- // Result returned from a $(ref:readLogSource) call.
- dictionary ReadLogSourceResult {
- // The ID of the log source reader that was created to read from the log
- // source. If the reader was destroyed at the end of a read by passing in
- // incremental=false, this is always set to 0. If the call was
- // to use an existing reader with an existing ID, this will be set to the
- // same readerId that was passed into $(ref:readLogSource).
- long readerId;
-
- // Each DOMString in this array represents one line of logging that was
- // fetched from the log source.
- DOMString[] logLines;
- };
-
- callback GetUserEmailCallback = void(DOMString email);
- callback GetSystemInformationCallback =
- void(LogsMapEntry[] systemInformation);
- callback SendFeedbackCallback = void(SendFeedbackResult result);
- callback ReadLogSourceCallback = void (ReadLogSourceResult result);
-
- interface Functions {
- // Returns the email of the currently active or logged in user.
- static void getUserEmail(GetUserEmailCallback callback);
-
- // Returns the system information dictionary.
- static void getSystemInformation(GetSystemInformationCallback callback);
-
- // Opens the feedback report window.
- static void openFeedback(FeedbackSource source);
-
- // Sends a feedback report.
- // |loadSystemInfo|: Optional flag when present and is true, the backend
- // should load system information before sending the report. This is added
- // to reduce user's wait time when sending reports because loading system
- // information is slow.
- // |formOpenTime|: The epoch time when the feedback form was opened. This is
- // used for metrics.
- static void sendFeedback(
- FeedbackInfo feedback,
- optional boolean loadSystemInfo,
- optional double formOpenTime,
- SendFeedbackCallback callback);
-
- // Reads from a log source indicated by source.
- //
If incremental is false:
- //
- //
Returns the entire contents of the log file.
- //
Returns readerId value of 0 to callback.
- //
- // If incremental is true, and no readerId is
- // provided:
- //
- //
Returns the entire contents of the log file.
- //
Starts tracking the file read handle, which is returned as a
- // nonzero readerId value in the callback.
- //
- //
If can't create a new file handle, returns readerId
- // value of 0 in the callback.
- //
- //
- // If incremental is true, and a valid non-zero
- // readerId is provided:
- //
- //
Returns new lines written to the file since the last time this
- // function was called for the same file and readerId.
- //
- //
Returns the same readerId value to the callback.
- //
- static void readLogSource(
- ReadLogSourceParams params,
- ReadLogSourceCallback callback);
-
- };
-
- interface Events {
- // Fired when the a user requests the launch of the feedback UI. We're
- // using an event for this versus using the override API since we want
- // to be invoked, but not showing a UI, so the feedback extension can
- // take a screenshot of the user's desktop.
- static void onFeedbackRequested(FeedbackInfo feedback);
- };
-};
diff --git a/tools/under-control/src/extensions/common/api/media_perception_private.idl b/tools/under-control/src/extensions/common/api/media_perception_private.idl
deleted file mode 100755
index 7463178a..00000000
--- a/tools/under-control/src/extensions/common/api/media_perception_private.idl
+++ /dev/null
@@ -1,609 +0,0 @@
-// Copyright 2017 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Private API for receiving real-time media perception information.
-[platforms=("chromeos")]
-namespace mediaPerceptionPrivate {
- enum Status {
- // The media analytics process is waiting to be launched.
- UNINITIALIZED,
-
- // The analytics process is running and the media processing pipeline is
- // started, but it is not yet receiving image frames. This is a
- // transitional state between SUSPENDED and
- // RUNNING for the time it takes to warm up the media
- // processing pipeline, which can take anywhere from a few seconds to a
- // minute.
- // Note: STARTED is the initial reply to SetState
- // RUNNING.
- STARTED,
-
- // The analytics process is running and the media processing pipeling is
- // injesting image frames. At this point, MediaPerception signals should
- // be coming over D-Bus.
- RUNNING,
-
- // Analytics process is running and the media processing pipeline is ready
- // to be set to state RUNNING. The D-Bus communications
- // are enabled but the media processing pipeline is suspended.
- SUSPENDED,
-
- // Enum for restarting the media analytics process using Upstart.
- // Calling setState RESTARTING will restart the media process
- // to the SUSPENDED state. The app has to set the state to
- // RUNNING in order to start receiving media perception
- // information again.
- RESTARTING,
-
- // Stops the media analytics process via Upstart.
- STOPPED,
-
- // Indicates that a ServiceError has occurred.
- SERVICE_ERROR
- };
-
- enum ServiceError {
- // The media analytics process could not be reached. This is likely due to
- // a faulty comms configuration or that the process crashed.
- SERVICE_UNREACHABLE,
-
- // The media analytics process is not running. The MPP API knows that the
- // process has not been started yet.
- SERVICE_NOT_RUNNING,
-
- // The media analytics process is busy launching. Wait for setState
- // RUNNING or setState RESTARTING callback.
- SERVICE_BUSY_LAUNCHING,
-
- // The component is not installed properly.
- SERVICE_NOT_INSTALLED,
-
- // Failed to establish a Mojo connection to the service.
- MOJO_CONNECTION_FAILURE
- };
-
- enum Feature {
- AUTOZOOM,
- HOTWORD_DETECTION,
- OCCUPANCY_DETECTION,
- EDGE_EMBEDDINGS,
- SOFTWARE_CROPPING
- };
-
- dictionary NamedTemplateArgument {
- DOMString? name;
- (DOMString or double)? value;
- };
-
- enum ComponentType {
- // The smaller component with limited functionality (smaller size and
- // limited models).
- LIGHT,
- // The fully-featured component with more functionality (larger size and
- // more models).
- FULL
- };
-
- // The status of the media analytics process component on the device.
- enum ComponentStatus {
- UNKNOWN,
- // The component is successfully installed and the image is mounted.
- INSTALLED,
- // The component failed to download, install or load.
- FAILED_TO_INSTALL
- };
-
- // Error code associated with a failure to install the media analytics
- // component.
- enum ComponentInstallationError {
- // Component requested does not exist.
- UNKNOWN_COMPONENT,
-
- // The update engine fails to install component.
- INSTALL_FAILURE,
-
- // Component can not be mounted.
- MOUNT_FAILURE,
-
- // The component is not compatible with the device.
- COMPATIBILITY_CHECK_FAILED,
-
- // The component was not found - reported for load requests with kSkip
- // update policy.
- NOT_FOUND
- };
-
- dictionary Component {
- ComponentType type;
- };
-
- // The state of the media analytics downloadable component.
- dictionary ComponentState {
- ComponentStatus status;
-
- // The version string for the current component.
- DOMString? version;
-
- // If the component installation failed, the encountered installation
- // error. Not set if the component installation succeeded.
- ComponentInstallationError? installationErrorCode;
- };
-
- // ------------------- Start of process management definitions. ------------
- // New interface for managing the process state of the media perception
- // service with the intention of eventually phasing out the setState() call.
- enum ProcessStatus {
- // The component process state is unknown, for example, if the process is
- // waiting to be launched. This is the initial state before
- // $(ref:setComponentProcessState) is first called.
- UNKNOWN,
-
- // The component process has been started.
- // This value can only be passed to $(ref:setComponentProcessState) if the
- // process is currently in state STOPPED or
- // UNKNOWN.
- STARTED,
-
- // The component process has been stopped.
- // This value can only be passed to $(ref:setComponentProcessState) if the
- // process is currently in state STARTED.
- // Note: the process is automatically stopped when the Chrome process
- // is closed.
- STOPPED,
-
- // Indicates that a ServiceError has occurred.
- SERVICE_ERROR
- };
-
- dictionary ProcessState {
- ProcessStatus? status;
-
- // Return parameter for $(ref:setComponentProcessState) that
- // specifies the error type for failure cases.
- ServiceError? serviceError;
- };
- // ------------------- End of process management definitions. --------------
-
- // The parameters for processing a particular video stream.
- dictionary VideoStreamParam {
- // Identifies the video stream described by these parameters.
- DOMString? id;
-
- // Frame width in pixels.
- long? width;
-
- // Frame height in pixels.
- long? height;
-
- // The frame rate at which this video stream would be processed.
- long? frameRate;
- };
-
- dictionary Point {
- // The horizontal distance from the top left corner of the image.
- double? x;
-
- // The vertical distance from the top left corner of the image.
- double? y;
- };
-
- // The parameters for a whiteboard in the image frame. Corners are given in
- // pixel coordinates normalized to the size of the image frame (i.e. in the
- // range [(0.0, 0.0), (1.0, 1.0)]. The aspectRatio is the physical aspect
- // ratio of the whiteboard (e.g. for a 1m high and 2m wide whiteboard, the
- // aspect ratio would be 2).
- dictionary Whiteboard {
- // The top left corner of the whiteboard in the image frame.
- Point? topLeft;
-
- // The top right corner of the whiteboard in the image frame.
- Point? topRight;
-
- // The bottom left corner of the whiteboard in the image frame.
- Point? bottomLeft;
-
- // The bottom right corner of the whiteboard in the image frame.
- Point? bottomRight;
-
- // The physical aspect ratio of the whiteboard.
- double? aspectRatio;
- };
-
- // The system and configuration state of the analytics process.
- dictionary State {
- Status status;
-
- // Optional $(ref:setState) parameter. Specifies the video device the media
- // analytics process should open while the media processing pipeline is
- // starting. To set this parameter, status has to be RUNNING.
- DOMString? deviceContext;
-
- // Return parameter for $(ref:setState) or $(ref:getState) that
- // specifies the error type for failure cases.
- ServiceError? serviceError;
-
- // A list of video streams processed by the analytics process. To set this
- // parameter, status has to be RUNNING.
- VideoStreamParam[]? videoStreamParam;
-
- // Media analytics configuration. It can only be used when setting state to
- // RUNNING.
- DOMString? configuration;
-
- // Corners and aspect ratio of the whiteboard in the image frame. Should
- // only be set when setting state to RUNNING and configuration
- // to whiteboard.
- Whiteboard? whiteboard;
-
- // A list of enabled media perception features.
- Feature[]? features;
-
- // A list of named parameters to be substituted at start-up. Will
- // only have effect when setting state to RUNNING.
- NamedTemplateArgument[]? namedTemplateArguments;
- };
-
- dictionary BoundingBox {
- // Specifies whether the points are normalized to the size of the image.
- boolean? normalized;
-
- // The two points that define the corners of a bounding box.
- Point? topLeft;
- Point? bottomRight;
- };
-
- enum DistanceUnits {
- UNSPECIFIED,
- METERS,
- PIXELS
- };
-
- // Generic dictionary to encapsulate a distance magnitude and units.
- dictionary Distance {
- // This field provides flexibility to report depths or distances of
- // different entity types with different units.
- DistanceUnits? units;
-
- double? magnitude;
- };
-
- enum EntityType {
- UNSPECIFIED,
- FACE,
- PERSON,
- MOTION_REGION,
- LABELED_REGION
- };
-
- enum FramePerceptionType {
- UNKNOWN_TYPE,
- FACE_DETECTION,
- PERSON_DETECTION,
- MOTION_DETECTION
- };
-
- dictionary Entity {
- // A unique id associated with the detected entity, which can be used to
- // track the entity over time.
- long? id;
-
- EntityType? type;
-
- // Label for this entity.
- DOMString? entityLabel;
-
- // Minimum box which captures entire detected entity.
- BoundingBox? boundingBox;
-
- // A value for the quality of this detection.
- double? confidence;
-
- // The estimated depth of the entity from the camera.
- Distance? depth;
- };
-
- dictionary PacketLatency {
- // Label for this packet.
- DOMString? packetLabel;
-
- // Packet processing latency in microseconds.
- long? latencyUsec;
- };
-
- // Type of lighting conditions.
- enum LightCondition {
- UNSPECIFIED,
-
- // No noticeable change occurred.
- NO_CHANGE,
-
- // Light was switched on in the room.
- TURNED_ON,
-
- // Light was switched off in the room.
- TURNED_OFF,
-
- // Light gradually got dimmer (for example, due to a sunset).
- DIMMER,
-
- // Light gradually got brighter (for example, due to a sunrise).
- BRIGHTER,
-
- // Black frame was detected - the current frame contains only noise.
- BLACK_FRAME
- };
-
- // Detection of human presence close to the camera.
- dictionary VideoHumanPresenceDetection {
- // Indicates a probability in [0, 1] interval that a human is present in
- // the video frame.
- double? humanPresenceLikelihood;
-
- // Indicates a probability in [0, 1] that motion has been detected in the
- // video frame.
- double? motionDetectedLikelihood;
-
- // Indicates lighting condition in the video frame.
- LightCondition? lightCondition;
-
- // Indicates a probablity in [0, 1] interval that
- // lightCondition value is correct.
- double? lightConditionLikelihood;
- };
-
- // The set of computer vision metadata for an image frame.
- dictionary FramePerception {
- long? frameId;
-
- long? frameWidthInPx;
- long? frameHeightInPx;
-
- // The timestamp associated with the frame (when its recieved by the
- // analytics process).
- double? timestamp;
-
- // The list of entities detected in this frame.
- Entity[]? entities;
-
- // Processing latency for a list of packets.
- PacketLatency[]? packetLatency;
-
- // Human presence detection results for a video frame.
- VideoHumanPresenceDetection? videoHumanPresenceDetection;
-
- // Indicates what types of frame perception were run.
- FramePerceptionType[]? framePerceptionTypes;
- };
-
- // An estimate of the direction that the sound is coming from.
- dictionary AudioLocalization {
- // An angle in radians in the horizontal plane. It roughly points to the
- // peak in the probability distribution of azimuth defined below.
- double? azimuthRadians;
-
- // A probability distribution for the current snapshot in time that shows
- // the likelihood of a sound source being at a particular azimuth. For
- // example, azimuthScores = [0.1, 0.2, 0.3, 0.4] means that
- // the probability that the sound is coming from an azimuth of 0, pi/2, pi,
- // 3*pi/2 is 0.1, 0.2, 0.3 and 0.4, respectively.
- double[]? azimuthScores;
- };
-
- // Spectrogram of an audio frame.
- dictionary AudioSpectrogram {
- double[]? values;
- };
-
- // Detection of human presence close to the microphone.
- dictionary AudioHumanPresenceDetection {
- // Indicates a probability in [0, 1] interval that a human has caused a
- // sound close to the microphone.
- double? humanPresenceLikelihood;
-
- // Estimate of the noise spectrogram.
- AudioSpectrogram? noiseSpectrogram;
-
- // Spectrogram of an audio frame.
- AudioSpectrogram? frameSpectrogram;
- };
-
- enum HotwordType {
- UNKNOWN_TYPE,
- OK_GOOGLE
- };
-
- // A hotword detected in the audio stream.
- dictionary Hotword {
- // Unique identifier for the hotword instance. Note that a single hotword
- // instance can span more than one audio frame. In that case a single
- // hotword instance can be reported in multiple Hotword or HotwordDetection
- // results. Hotword results associated with the same hotword instance will
- // have the same id.
- long? id;
-
- // Indicates the type of this hotword.
- HotwordType? type;
-
- // Id of the audio frame in which the hotword was detected.
- long? frameId;
-
- // Indicates the start time of this hotword in the audio frame.
- long? startTimestampMs;
-
- // Indicates the end time of this hotword in the audio frame.
- long? endTimestampMs;
-
- // Indicates a probability in [0, 1] interval that this hotword is present
- // in the audio frame.
- double? confidence;
- };
-
- // Detection of hotword in the audio stream.
- dictionary HotwordDetection {
- Hotword[]? hotwords;
- };
-
- // Audio perception results for an audio frame.
- dictionary AudioPerception {
- // A timestamp in microseconds attached when this message was generated.
- double? timestampUs;
-
- // Audio localization results for an audio frame.
- AudioLocalization? audioLocalization;
-
- // Audio human presence detection results for an audio frame.
- AudioHumanPresenceDetection? audioHumanPresenceDetection;
-
- // Hotword detection results.
- HotwordDetection? hotwordDetection;
- };
-
- // Detection of human presence based on both audio and video inputs.
- dictionary AudioVisualHumanPresenceDetection {
- // Indicates a probability in [0, 1] interval that a human is present.
- double? humanPresenceLikelihood;
- };
-
- // Perception results based on both audio and video inputs.
- dictionary AudioVisualPerception {
- // A timestamp in microseconds attached when this message was generated.
- double? timestampUs;
-
- // Human presence detection results.
- AudioVisualHumanPresenceDetection? audioVisualHumanPresenceDetection;
- };
-
- // Stores metadata such as version of media perception features.
- dictionary Metadata {
- DOMString? visualExperienceControllerVersion;
- };
-
- dictionary MediaPerception {
- // The time the media perception data was emitted by the media processing
- // pipeline. This value will be greater than the timestamp stored within
- // the FramePerception dictionary and the difference between them can be
- // viewed as the processing time for a single frame.
- double? timestamp;
-
- // An array of framePerceptions.
- FramePerception[]? framePerceptions;
-
- // An array of audio perceptions.
- AudioPerception[]? audioPerceptions;
-
- // An array of audio-visual perceptions.
- AudioVisualPerception[]? audioVisualPerceptions;
-
- // Stores metadata such as version of media perception features.
- Metadata? metadata;
- };
-
- enum ImageFormat {
- // Image represented by RGB data channels.
- RAW,
- PNG,
- JPEG
- };
-
- dictionary ImageFrame {
- long? width;
- long? height;
-
- ImageFormat? format;
-
- long? dataLength;
-
- // The bytes of the image frame.
- ArrayBuffer? frame;
- };
-
- dictionary PerceptionSample {
- // The video analytics FramePerception for the associated image frame
- // data.
- FramePerception? framePerception;
-
- // The image frame data for the associated FramePerception object.
- ImageFrame? imageFrame;
-
- // The audio perception results for an audio frame.
- AudioPerception? audioPerception;
-
- // Perception results based on both audio and video inputs.
- AudioVisualPerception? audioVisualPerception;
-
- // Stores metadata such as version of media perception features.
- Metadata? metadata;
- };
-
- dictionary Diagnostics {
- // Return parameter for $(ref:getDiagnostics) that specifies the error
- // type for failure cases.
- ServiceError? serviceError;
-
- // A buffer of image frames and the associated video analytics information
- // that can be used to diagnose a malfunction.
- PerceptionSample[]? perceptionSamples;
- };
-
- callback StateCallback = void(State state);
-
- callback DiagnosticsCallback = void(Diagnostics diagnostics);
-
- callback ComponentStateCallback = void(ComponentState componentState);
-
- callback ProcessStateCallback = void(ProcessState processState);
-
- interface Functions {
- // Gets the status of the media perception process.
- // |callback| : The current state of the system.
- static void getState(StateCallback callback);
-
- // Sets the desired state of the system.
- // |state| : A dictionary with the desired new state. The only settable
- // states are RUNNING, SUSPENDED, and
- // RESTARTING.
- // |callback| : Invoked with the State of the system after setting it. Can
- // be used to verify the state was set as desired.
- static void setState(
- State state,
- StateCallback callback);
-
- // Get a diagnostics buffer out of the video analytics process.
- // |callback| : Returns a Diagnostics dictionary object.
- static void getDiagnostics(DiagnosticsCallback callback);
-
- // Attempts to download and load the media analytics component. This
- // function should be called every time a client starts using this API. If
- // the component is already loaded, the callback will simply return that
- // information. The process must be STOPPED for this function
- // to succeed.
- // Note: If a different component type is desired, this function can
- // be called with the new desired type and the new component will be
- // downloaded and installed.
- // |component| : The desired component to install and load.
- // |callback| : Returns the state of the component.
- static void setAnalyticsComponent(
- Component component,
- ComponentStateCallback callback);
-
- // Manages the lifetime of the component process. This function should
- // only be used if the component is installed. It will fail if the
- // component is not installed.
- // |processState| : The desired state for the component process.
- // |callback| : Reports the new state of the process, which is expected to
- // be the same as the desired state, unless something goes wrong.
- static void setComponentProcessState(
- ProcessState processState,
- ProcessStateCallback callback);
- };
-
- interface Events {
- // Fired when media perception information is received from the media
- // analytics process.
- // |mediaPerception| : The dictionary which contains a dump of everything
- // the analytics process has detected or determined from the incoming media
- // streams.
- static void onMediaPerception(MediaPerception mediaPerception);
- };
-};
diff --git a/tools/under-control/src/extensions/common/api/mojo_private.idl b/tools/under-control/src/extensions/common/api/mojo_private.idl
deleted file mode 100755
index 358456f8..00000000
--- a/tools/under-control/src/extensions/common/api/mojo_private.idl
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2015 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// The chrome.mojoPrivate API provides access to the mojo modules.
-namespace mojoPrivate {
- interface Functions {
- // Returns a promise that will resolve to an asynchronously
- // loaded module.
- [nocompile] static any requireAsync(DOMString name);
- };
-
-};
diff --git a/tools/under-control/src/extensions/common/api/networking_onc.idl b/tools/under-control/src/extensions/common/api/networking_onc.idl
deleted file mode 100755
index 0c8cf224..00000000
--- a/tools/under-control/src/extensions/common/api/networking_onc.idl
+++ /dev/null
@@ -1,1037 +0,0 @@
-// Copyright 2017 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-//
-// The chrome.networking.onc API is used for configuring
-// network connections (Cellular, Ethernet, VPN or WiFi).
-// This API is available in auto-launched Chrome OS kiosk sessions.
-//
-// NOTE: Most dictionary properties and enum values use UpperCamelCase
-// to match the ONC specification instead of the JavaScript lowerCamelCase
-// convention.
-//
-namespace networking.onc {
- enum ActivationStateType {
- Activated, Activating, NotActivated, PartiallyActivated
- };
-
- enum CaptivePortalStatus {
- Unknown, Offline, Online, Portal, ProxyAuthRequired
- };
-
- enum ClientCertificateType {
- Ref, Pattern
- };
-
- enum ConnectionStateType {
- Connected, Connecting, NotConnected
- };
-
- enum DeviceStateType {
- // Device is available but not initialized.
- Uninitialized,
- // Device is initialized but not enabled.
- Disabled,
- // Enabled state has been requested but has not completed.
- Enabling,
- // Device is enabled.
- Enabled,
- // Device is prohibited.
- Prohibited
- };
-
- enum IPConfigType {
- DHCP, Static
- };
-
- enum NetworkType {
- All, Cellular, Ethernet, Tether, VPN, Wireless, WiFi
- };
-
- enum ProxySettingsType {
- Direct, Manual, PAC, WPAD
- };
-
- dictionary ManagedBoolean {
- // The active value currently used by the network configuration manager
- // (e.g. Shill).
- boolean? Active;
- // The source from which the effective property value was determined.
- DOMString? Effective;
- // The property value provided by the user policy.
- boolean? UserPolicy;
- // The property value provided by the device policy.
- boolean? DevicePolicy;
- // The property value set by the logged in user. Only provided if
- // |UserEditable| is true.
- boolean? UserSetting;
- // The value set for all users of the device. Only provided if
- // |DeviceEditiable| is true.
- boolean? SharedSetting;
- // Whether a UserPolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? UserEditable;
- // Whether a DevicePolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? DeviceEditable;
- };
-
- dictionary ManagedLong {
- // The active value currently used by the network configuration manager
- // (e.g. Shill).
- long? Active;
- // The source from which the effective property value was determined.
- DOMString? Effective;
- // The property value provided by the user policy.
- long? UserPolicy;
- // The property value provided by the device policy.
- long? DevicePolicy;
- // The property value set by the logged in user. Only provided if
- // |UserEditable| is true.
- long? UserSetting;
- // The value set for all users of the device. Only provided if
- // |DeviceEditiable| is true.
- long? SharedSetting;
- // Whether a UserPolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? UserEditable;
- // Whether a DevicePolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? DeviceEditable;
- };
-
- dictionary ManagedDOMString {
- // The active value currently used by the network configuration manager
- // (e.g. Shill).
- DOMString? Active;
- // The source from which the effective property value was determined.
- DOMString? Effective;
- // The property value provided by the user policy.
- DOMString? UserPolicy;
- // The property value provided by the device policy.
- DOMString? DevicePolicy;
- // The property value set by the logged in user. Only provided if
- // |UserEditable| is true.
- DOMString? UserSetting;
- // The value set for all users of the device. Only provided if
- // |DeviceEditiable| is true.
- DOMString? SharedSetting;
- // Whether a UserPolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? UserEditable;
- // Whether a DevicePolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? DeviceEditable;
- };
-
- dictionary ManagedDOMStringList {
- // The active value currently used by the network configuration manager
- // (e.g. Shill).
- DOMString[]? Active;
- // The source from which the effective property value was determined.
- DOMString? Effective;
- // The property value provided by the user policy.
- DOMString[]? UserPolicy;
- // The property value provided by the device policy.
- DOMString[]? DevicePolicy;
- // The property value set by the logged in user. Only provided if
- // |UserEditable| is true.
- DOMString[]? UserSetting;
- // The value set for all users of the device. Only provided if
- // |DeviceEditiable| is true.
- DOMString[]? SharedSetting;
- // Whether a UserPolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? UserEditable;
- // Whether a DevicePolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? DeviceEditable;
- };
-
- dictionary ManagedIPConfigType {
- // The active value currently used by the network configuration manager
- // (e.g. Shill).
- IPConfigType? Active;
- // The source from which the effective property value was determined.
- DOMString? Effective;
- // The property value provided by the user policy.
- IPConfigType? UserPolicy;
- // The property value provided by the device policy.
- IPConfigType? DevicePolicy;
- // The property value set by the logged in user. Only provided if
- // |UserEditable| is true.
- IPConfigType? UserSetting;
- // The value set for all users of the device. Only provided if
- // |DeviceEditiable| is true.
- IPConfigType? SharedSetting;
- // Whether a UserPolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? UserEditable;
- // Whether a DevicePolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? DeviceEditable;
- };
-
- dictionary ManagedProxySettingsType {
- // The active value currently used by the network configuration manager
- // (e.g. Shill).
- ProxySettingsType? Active;
- // The source from which the effective property value was determined.
- DOMString? Effective;
- // The property value provided by the user policy.
- ProxySettingsType? UserPolicy;
- // The property value provided by the device policy.
- ProxySettingsType? DevicePolicy;
- // The property value set by the logged in user. Only provided if
- // |UserEditable| is true.
- ProxySettingsType? UserSetting;
- // The value set for all users of the device. Only provided if
- // |DeviceEditiable| is true.
- ProxySettingsType? SharedSetting;
- // Whether a UserPolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? UserEditable;
- // Whether a DevicePolicy for the property exists and allows the property to
- // be edited (i.e. the policy set recommended property value).
- // Defaults to false.
- boolean? DeviceEditable;
- };
-
- // Sub-dictionary types.
-
- dictionary CellularProviderProperties {
- // The operator name.
- DOMString Name;
- // Cellular network ID as a simple concatenation of the network's
- // MCC (Mobile Country Code) and MNC (Mobile Network Code).
- DOMString Code;
- // The two-letter country code.
- DOMString? Country;
- };
-
- dictionary IssuerSubjectPattern {
- // If set, the value against which to match the certificate subject's
- // common name.
- DOMString? CommonName;
- // If set, the value against which to match the certificate subject's
- // common location.
- DOMString? Locality;
- // If set, the value against which to match the certificate subject's
- // organizations. At least one organization should match the value.
- DOMString? Organization;
- // If set, the value against which to match the certificate subject's
- // organizational units. At least one organizational unit should match the
- // value.
- DOMString? OrganizationalUnit;
- };
-
- dictionary CertificatePattern {
- // List of URIs to which the user can be directed in case no certificates
- // that match this pattern are found.
- DOMString[]? EnrollmentURI;
- // If set, pattern against which X.509 issuer settings should be matched.
- IssuerSubjectPattern? Issuer;
- // List of certificate issuer CA certificates. A certificate must be signed
- // by one of them in order to match this pattern.
- DOMString[]? IssuerCARef;
- // If set, pattern against which X.509 subject settings should be matched.
- IssuerSubjectPattern? Subject;
- };
-
- dictionary EAPProperties {
- DOMString? AnonymousIdentity;
- CertificatePattern? ClientCertPattern;
- DOMString? ClientCertPKCS11Id;
- DOMString? ClientCertProvisioningProfileId;
- DOMString? ClientCertRef;
- ClientCertificateType ClientCertType;
- DOMString? Identity;
- DOMString? Inner;
- // The outer EAP type. Required by ONC, but may not be provided when
- // translating from Shill.
- DOMString? Outer;
- DOMString? Password;
- boolean? SaveCredentials;
- DOMString[]? ServerCAPEMs;
- DOMString[]? ServerCARefs;
- ManagedDOMString? SubjectMatch;
- boolean? UseProactiveKeyCaching;
- boolean? UseSystemCAs;
- };
-
- dictionary FoundNetworkProperties {
- // Network availability.
- DOMString Status;
- // Network ID.
- DOMString NetworkId;
- // Access technology used by the network.
- DOMString Technology;
- // The network operator's short-format name.
- DOMString? ShortName;
- // The network operator's long-format name.
- DOMString? LongName;
- };
-
- dictionary IPConfigProperties {
- // Gateway address used for the IP configuration.
- DOMString? Gateway;
- // The IP address for a connection. Can be IPv4 or IPv6 address, depending
- // on value of Type.
- DOMString? IPAddress;
- // Array of IP blocks in CIDR notation, see onc_spec.md for details.
- DOMString[]? ExcludedRoutes;
- // Array of IP blocks in CIDR notation, see onc_spec.md for details.
- DOMString[]? IncludedRoutes;
- // Array of addresses used for name servers.
- DOMString[]? NameServers;
- // Array of strings for name resolution, see onc_spec.md for details.
- DOMString[]? SearchDomains;
- // The routing prefix.
- long? RoutingPrefix;
- // The IP configuration type. Can be IPv4 or IPv6.
- DOMString? Type;
- // The URL for WEb Proxy Auto-Discovery, as reported over DHCP.
- DOMString? WebProxyAutoDiscoveryUrl;
- };
-
- dictionary ManagedIPConfigProperties {
- // See $(ref:IPConfigProperties.Gateway).
- ManagedDOMString? Gateway;
- // See $(ref:IPConfigProperties.IPAddress).
- ManagedDOMString? IPAddress;
- // See $(ref:IPConfigProperties.NameServers).
- ManagedDOMStringList? NameServers;
- // See $(ref:IPConfigProperties.RoutingPrefix).
- ManagedLong? RoutingPrefix;
- // See $(ref:IPConfigProperties.Type).
- ManagedDOMString? Type;
- // See $(ref:IPConfigProperties.WebProxyAutoDiscoveryUrl).
- ManagedDOMString? WebProxyAutoDiscoveryUrl;
- };
-
- dictionary PaymentPortal {
- // The HTTP method to use for the payment portal.
- DOMString Method;
- // The post data to send to the payment portal. Ignored unless
- // Method is POST.
- DOMString? PostData;
- // The payment portal URL.
- DOMString? Url;
- };
-
- dictionary ProxyLocation {
- // The proxy IP address host.
- DOMString Host;
- // The port to use for the proxy.
- long Port;
- };
-
- dictionary ManagedProxyLocation {
- // See $(ref:ProxyLocation.Host).
- ManagedDOMString Host;
- // See $(ref:ProxyLocation.Port).
- ManagedLong Port;
- };
-
- dictionary ManualProxySettings {
- // Settings for HTTP proxy.
- ProxyLocation? HTTPProxy;
- // Settings for secure HTTP proxy.
- ProxyLocation? SecureHTTPProxy;
- // Settings for FTP proxy.
- ProxyLocation? FTPProxy;
- // Settings for SOCKS proxy.
- ProxyLocation? SOCKS;
- };
-
- dictionary ManagedManualProxySettings {
- // See $(ref:ManualProxySettings.HTTPProxy).
- ManagedProxyLocation? HTTPProxy;
- // See $(ref:ManualProxySettings.SecureHTTPProxy).
- ManagedProxyLocation? SecureHTTPProxy;
- // See $(ref:ManualProxySettings.FTPProxy).
- ManagedProxyLocation? FTPProxy;
- // See $(ref:ManualProxySettings.SOCKS).
- ManagedProxyLocation? SOCKS;
- };
-
- dictionary ProxySettings {
- // The type of proxy settings.
- ProxySettingsType Type;
- // Manual proxy settings - used only for Manual proxy settings.
- ManualProxySettings? Manual;
- // Domains and hosts for which manual proxy settings are excluded.
- DOMString[]? ExcludeDomains;
- // URL for proxy auto-configuration file.
- DOMString? PAC;
- };
-
- dictionary ManagedProxySettings {
- // See $(ref:ProxySettings.Type).
- ManagedProxySettingsType Type;
- // See $(ref:ProxySettings.Manual).
- ManagedManualProxySettings? Manual;
- // See $(ref:ProxySettings.ExcludeDomains).
- ManagedDOMStringList? ExcludeDomains;
- // See $(ref:ProxySettings.PAC).
- ManagedDOMString? PAC;
- };
-
- dictionary SIMLockStatus {
- // The status of SIM lock - possible values are 'sim-pin',
- // 'sim-puk' and ''.
- DOMString LockType;
- // Whether SIM lock is enabled.
- boolean LockEnabled;
- // Number of PIN lock tries allowed before PUK is required to unlock the
- // SIM.
- long? RetriesLeft;
- };
-
- dictionary ThirdPartyVPNProperties {
- // ID of the third-party VPN provider extension.
- DOMString ExtensionID;
- // The VPN provider name.
- DOMString? ProviderName;
- };
-
- dictionary ManagedThirdPartyVPNProperties {
- // See $(ref:ThirdPartyVPNProperties.ExtensionID).
- ManagedDOMString ExtensionID;
- // See $(ref:ThirdPartyVPNProperties.ProviderName).
- DOMString? ProviderName;
- };
-
- // Network type dictionary types.
-
- dictionary CellularProperties {
- // Whether the cellular network should be connected automatically (when
- // in range).
- boolean? AutoConnect;
- // The cellular network activation type.
- DOMString? ActivationType;
- // Carrier account activation state.
- ActivationStateType? ActivationState;
- // Whether roaming is allowed for the network.
- boolean? AllowRoaming;
- // Cellular device technology family - CDMA or
- // GSM.
- DOMString? Family;
- // The firmware revision loaded in the cellular modem.
- DOMString? FirmwareRevision;
- // The list of networks found during the most recent network scan.
- FoundNetworkProperties[]? FoundNetworks;
- // The cellular modem hardware revision.
- DOMString? HardwareRevision;
- // Information about the operator that issued the SIM card currently
- // installed in the modem.
- CellularProviderProperties? HomeProvider;
- // The cellular modem manufacturer.
- DOMString? Manufacturer;
- // The cellular modem model ID.
- DOMString? ModelID;
- // If the modem is registered on a network, the network technology
- // currently in use.
- DOMString? NetworkTechnology;
- // Online payment portal a user can use to sign-up for or modify a mobile
- // data plan.
- PaymentPortal? PaymentPortal;
- // The roaming state of the cellular modem on the current network.
- DOMString? RoamingState;
- // True when a cellular network scan is in progress.
- boolean? Scanning;
- // Information about the operator on whose network the modem is currently
- // registered.
- CellularProviderProperties? ServingOperator;
- // The state of SIM lock for GSM family networks.
- SIMLockStatus? SIMLockStatus;
- // Whether a SIM card is present.
- boolean? SIMPresent;
- // The current network signal strength.
- long? SignalStrength;
- // Whether the cellular network supports scanning.
- boolean? SupportNetworkScan;
- };
-
- dictionary ManagedCellularProperties {
- // See $(ref:CellularProperties.AutoConnect).
- ManagedBoolean? AutoConnect;
- // See $(ref:CellularProperties.ActivationType).
- DOMString? ActivationType;
- // See $(ref:CellularProperties.ActivationState).
- ActivationStateType? ActivationState;
- // See $(ref:CellularProperties.AllowRoaming).
- boolean? AllowRoaming;
- // See $(ref:CellularProperties.Family).
- DOMString? Family;
- // See $(ref:CellularProperties.FirmwareRevision).
- DOMString? FirmwareRevision;
- // See $(ref:CellularProperties.FoundNetworks).
- FoundNetworkProperties[]? FoundNetworks;
- // See $(ref:CellularProperties.HardwareRevision).
- DOMString? HardwareRevision;
- // See $(ref:CellularProperties.HomeProvider).
- CellularProviderProperties[]? HomeProvider;
- // See $(ref:CellularProperties.Manufacturer).
- DOMString? Manufacturer;
- // See $(ref:CellularProperties.ModelID).
- DOMString? ModelID;
- // See $(ref:CellularProperties.NetworkTechnology).
- DOMString? NetworkTechnology;
- // See $(ref:CellularProperties.PaymentPortal).
- PaymentPortal? PaymentPortal;
- // See $(ref:CellularProperties.RoamingState).
- DOMString? RoamingState;
- // See $(ref:CellularProperties.Scanning).
- boolean? Scanning;
- // See $(ref:CellularProperties.ServingOperator).
- CellularProviderProperties? ServingOperator;
- // See $(ref:CellularProperties.SIMLockStatus).
- SIMLockStatus? SIMLockStatus;
- // See $(ref:CellularProperties.SIMPresent).
- boolean? SIMPresent;
- // See $(ref:CellularProperties.SignalStrength).
- long? SignalStrength;
- // See $(ref:CellularProperties.SupportNetworkScan).
- boolean? SupportNetworkScan;
- };
-
- dictionary CellularStateProperties {
- // See $(ref:CellularProperties.ActivationState).
- ActivationStateType? ActivationState;
- // See $(ref:CellularProperties.NetworkTechnology).
- DOMString? NetworkTechnology;
- // See $(ref:CellularProperties.RoamingState).
- DOMString? RoamingState;
- // See $(ref:CellularProperties.SIMPresent).
- boolean? SIMPresent;
- // See $(ref:CellularProperties.SignalStrength).
- long? SignalStrength;
- };
-
- dictionary EthernetProperties {
- // Whether the Ethernet network should be connected automatically.
- boolean? AutoConnect;
- // The authentication used by the Ethernet network. Possible values are
- // None and 8021X.
- DOMString? Authentication;
- // Network's EAP settings. Required for 8021X authentication.
- EAPProperties? EAP;
- };
-
- dictionary ManagedEthernetProperties {
- // See $(ref:EthernetProperties.AutoConnect).
- ManagedBoolean? AutoConnect;
- // See $(ref:EthernetProperties.Authentication).
- ManagedDOMString? Authentication;
- };
-
- dictionary EthernetStateProperties {
- // See $(ref:EthernetProperties.Authentication).
- DOMString Authentication;
- };
-
- dictionary VPNProperties {
- // Whether the VPN network should be connected automatically.
- boolean? AutoConnect;
- // The VPN host.
- DOMString? Host;
- // The VPN type. This cannot be an enum because of 'L2TP-IPSec'.
- // This is optional for NetworkConfigProperties which is passed to
- // setProperties which may be used to set only specific properties.
- DOMString? Type;
- };
-
- dictionary ManagedVPNProperties {
- // See $(ref:VPNProperties.AutoConnect).
- ManagedBoolean? AutoConnect;
- // See $(ref:VPNProperties.Host).
- ManagedDOMString? Host;
- // See $(ref:VPNProperties.Type).
- ManagedDOMString? Type;
- };
-
- dictionary VPNStateProperties {
- // See $(ref:VPNProperties.Type).
- DOMString Type;
- };
-
- dictionary WiFiProperties {
- [deprecated="Removed in M131. There is no active ARP polling now."]
- boolean? AllowGatewayARPPolling;
- // Whether the WiFi network should be connected automatically when in range.
- boolean? AutoConnect;
- // The BSSID of the associated access point..
- DOMString? BSSID;
- // The network EAP properties. Required for WEP-8021X and
- // WPA-EAP networks.
- EAPProperties? EAP;
- // The WiFi service operating frequency in MHz. For connected networks, the
- // current frequency on which the network is connected. Otherwise, the
- // frequency of the best available BSS.
- long? Frequency;
- // Contains all operating frequency recently seen for the WiFi network.
- long[]? FrequencyList;
- // HEX-encoded copy of the network SSID.
- DOMString? HexSSID;
- // Whether the network SSID will be broadcast.
- boolean? HiddenSSID;
- // The passphrase for WEP/WPA/WPA2 connections. This property can only be
- // set - properties returned by $(ref:getProperties) will not contain this
- // value.
- DOMString? Passphrase;
- // Deprecated, ignored.
- long? RoamThreshold;
- // The network SSID.
- DOMString? SSID;
- // The network security type.
- DOMString? Security;
- // The network signal strength.
- long? SignalStrength;
- };
-
- dictionary ManagedWiFiProperties {
- // See $(ref:WiFiProperties.AllowGatewayARPPolling).
- ManagedBoolean? AllowGatewayARPPolling;
- // See $(ref:WiFiProperties.AutoConnect).
- ManagedBoolean? AutoConnect;
- // See $(ref:WiFiProperties.BSSID).
- DOMString? BSSID;
- // See $(ref:WiFiProperties.Frequency).
- long? Frequency;
- // See $(ref:WiFiProperties.FrequencyList).
- long[]? FrequencyList;
- // See $(ref:WiFiProperties.HexSSID).
- ManagedDOMString? HexSSID;
- // See $(ref:WiFiProperties.HiddenSSID).
- ManagedBoolean? HiddenSSID;
- // Deprecated, ignored. See $(ref:WiFiProperties.RoamThreshold).
- ManagedLong? RoamThreshold;
- // See $(ref:WiFiProperties.SSID).
- ManagedDOMString? SSID;
- // See $(ref:WiFiProperties.Security).
- ManagedDOMString Security;
- // See $(ref:WiFiProperties.SignalStrength).
- long? SignalStrength;
- };
-
- dictionary WiFiStateProperties {
- // See $(ref:WiFiProperties.BSSID).
- DOMString? BSSID;
- // See $(ref:WiFiProperties.Frequency).
- long? Frequency;
- // See $(ref:WiFiProperties.HexSSID).
- DOMString? HexSSID;
- // See $(ref:WiFiProperties.Security).
- DOMString Security;
- // See $(ref:WiFiProperties.SignalStrength).
- long? SignalStrength;
- // See $(ref:WiFiProperties.SSID).
- DOMString? SSID;
- };
-
- // Deprecated
- dictionary WiMAXProperties {
- // Whether the network should be connected automatically.
- boolean? AutoConnect;
- // The network EAP properties.
- EAPProperties? EAP;
- };
-
- dictionary NetworkConfigProperties {
- // See $(ref:NetworkProperties.Cellular).
- CellularProperties? Cellular;
- // See $(ref:NetworkProperties.Ethernet).
- EthernetProperties? Ethernet;
- // See $(ref:NetworkProperties.GUID).
- DOMString? GUID;
- // See $(ref:NetworkProperties.IPAddressConfigType).
- IPConfigType? IPAddressConfigType;
- // See $(ref:NetworkProperties.Name).
- DOMString? Name;
- // See $(ref:NetworkProperties.NameServersConfigType).
- IPConfigType? NameServersConfigType;
- // See $(ref:NetworkProperties.Priority).
- long? Priority;
- // See $(ref:NetworkProperties.Type).
- NetworkType? Type;
- // See $(ref:NetworkProperties.VPN).
- VPNProperties? VPN;
- // See $(ref:NetworkProperties.WiFi).
- WiFiProperties? WiFi;
- // Deprecated.
- WiMAXProperties? WiMAX;
- };
-
- dictionary NetworkProperties {
- // For cellular networks, cellular network properties.
- CellularProperties? Cellular;
- // Whether the network is connectable.
- boolean? Connectable;
- // The network's current connection state.
- ConnectionStateType? ConnectionState;
- // The last recorded network error state.
- DOMString? ErrorState;
- // For Ethernet networks, the Ethernet network properties.
- EthernetProperties? Ethernet;
- // The network GUID.
- DOMString GUID;
- // The network's IP address configuration type.
- IPConfigType? IPAddressConfigType;
- // The network's IP configuration.
- IPConfigProperties[]? IPConfigs;
- // The network's MAC address.
- DOMString? MacAddress;
- // Whether the network is metered.
- boolean? Metered;
- // A user friendly network name.
- DOMString? Name;
- // The IP configuration type for the name servers used by the network.
- IPConfigType? NameServersConfigType;
- // The network priority.
- long? Priority;
- // The network's proxy settings.
- ProxySettings? ProxySettings;
- // For a connected network, whether the network connectivity to the
- // Internet is limited, e.g. if the network is behind a portal, or a
- // cellular network is not activated.
- boolean? RestrictedConnectivity;
- // The network's static IP configuration.
- IPConfigProperties? StaticIPConfig;
- // IP configuration that was received from the DHCP server before applying
- // static IP configuration.
- IPConfigProperties? SavedIPConfig;
- // Indicates whether and how the network is configured. Possible values are:
- //
- //
Device
- //
DevicePolicy
- //
User
- //
UserPolicy
- //
None
- //
- // 'None' conflicts with extension code generation so we must use a string
- // for 'Source' instead of a SourceType enum.
- DOMString? Source;
- // When traffic counters were last reset.
- double? TrafficCounterResetTime;
- // The network type.
- NetworkType Type;
- // For VPN networks, the network VPN properties.
- VPNProperties? VPN;
- // For WiFi networks, the network WiFi properties.
- WiFiProperties? WiFi;
- };
-
- dictionary ManagedProperties {
- // See $(ref:NetworkProperties.Cellular).
- ManagedCellularProperties? Cellular;
- // See $(ref:NetworkProperties.Connectable).
- boolean? Connectable;
- // See $(ref:NetworkProperties.ConnectionState).
- ConnectionStateType? ConnectionState;
- // See $(ref:NetworkProperties.ErrorState).
- DOMString? ErrorState;
- // See $(ref:NetworkProperties.Ethernet).
- ManagedEthernetProperties? Ethernet;
- // See $(ref:NetworkProperties.GUID).
- DOMString GUID;
- // See $(ref:NetworkProperties.IPAddressConfigType).
- ManagedIPConfigType? IPAddressConfigType;
- // See $(ref:NetworkProperties.IPConfigs).
- IPConfigProperties[]? IPConfigs;
- // See $(ref:NetworkProperties.MacAddress).
- DOMString? MacAddress;
- // See $(ref:NetworkProperties.Metered).
- ManagedBoolean? Metered;
- // See $(ref:NetworkProperties.Name).
- ManagedDOMString? Name;
- // See $(ref:NetworkProperties.NameServersConfigType).
- ManagedIPConfigType? NameServersConfigType;
- // See $(ref:NetworkProperties.Priority).
- ManagedLong? Priority;
- // See $(ref:NetworkProperties.ProxySettings).
- ManagedProxySettings? ProxySettings;
- // See $(ref:NetworkProperties.RestrictedConnectivity).
- boolean? RestrictedConnectivity;
- // See $(ref:NetworkProperties.StaticIPConfig).
- ManagedIPConfigProperties? StaticIPConfig;
- // See $(ref:NetworkProperties.SavedIPConfig).
- IPConfigProperties? SavedIPConfig;
- // See $(ref:NetworkProperties.Source).
- DOMString? Source;
- // See $(ref:NetworkProperties.TrafficCounterResetTime).
- double? TrafficCounterResetTime;
- // See $(ref:NetworkProperties.Type).
- NetworkType Type;
- // See $(ref:NetworkProperties.VPN).
- ManagedVPNProperties? VPN;
- // See $(ref:NetworkProperties.WiFi).
- ManagedWiFiProperties? WiFi;
- };
-
- dictionary NetworkStateProperties {
- // See $(ref:NetworkProperties.Cellular).
- CellularStateProperties? Cellular;
- // See $(ref:NetworkProperties.Connectable).
- boolean? Connectable;
- // See $(ref:NetworkProperties.ConnectionState).
- ConnectionStateType? ConnectionState;
- // See $(ref:NetworkProperties.Ethernet).
- EthernetStateProperties? Ethernet;
- // See $(ref:NetworkProperties.ErrorState).
- DOMString? ErrorState;
- // See $(ref:NetworkProperties.GUID).
- DOMString GUID;
- // See $(ref:NetworkProperties.Name).
- DOMString? Name;
- // See $(ref:NetworkProperties.Priority).
- long? Priority;
- // See $(ref:NetworkProperties.Source).
- DOMString? Source;
- // See $(ref:NetworkProperties.Type).
- NetworkType Type;
- // See $(ref:NetworkProperties.VPN).
- VPNStateProperties? VPN;
- // See $(ref:NetworkProperties.WiFi).
- WiFiStateProperties? WiFi;
- };
-
- dictionary DeviceStateProperties {
- // Set if the device is enabled. True if the device is currently scanning.
- boolean? Scanning;
-
- // The SIM lock status if Type = Cellular and SIMPresent = True.
- SIMLockStatus? SIMLockStatus;
-
- // Set to the SIM present state if the device type is Cellular.
- boolean? SIMPresent;
-
- // The current state of the device.
- DeviceStateType State;
-
- // The network type associated with the device (Cellular, Ethernet or WiFi).
- NetworkType Type;
- };
-
- dictionary NetworkFilter {
- // The type of networks to return.
- NetworkType networkType;
-
- // If true, only include visible (physically connected or in-range)
- // networks. Defaults to 'false'.
- boolean? visible;
-
- // If true, only include configured (saved) networks. Defaults to 'false'.
- boolean? configured;
-
- // Maximum number of networks to return. Defaults to 1000 if unspecified.
- // Use 0 for no limit.
- long? limit;
- };
-
- dictionary GlobalPolicy {
- // If true, only policy networks may auto connect. Defaults to false.
- boolean? AllowOnlyPolicyNetworksToAutoconnect;
-
- // If true, only policy networks may be connected to and no new networks may
- // be added or configured. Defaults to false.
- boolean? AllowOnlyPolicyNetworksToConnect;
-
- // If true and a managed network is available in the visible network list,
- // only policy networks may be connected to and no new networks may be added
- // or configured. Defaults to false.
- boolean? AllowOnlyPolicyNetworksToConnectIfAvailable;
-
- // List of blocked networks. Connections to blocked networks are
- // prohibited. Networks can be unblocked again by specifying an explicit
- // network configuration. Defaults to an empty list.
- DOMString[]? BlockedHexSSIDs;
- };
-
- callback VoidCallback = void();
- callback BooleanCallback = void(boolean result);
- callback StringCallback = void(DOMString result);
- callback GetPropertiesCallback = void(NetworkProperties result);
- callback GetManagedPropertiesCallback = void(ManagedProperties result);
- callback GetStatePropertiesCallback = void(NetworkStateProperties result);
- callback GetNetworksCallback = void(NetworkStateProperties[] result);
- callback GetDeviceStatesCallback = void(DeviceStateProperties[] result);
- callback GetEnabledNetworkTypesCallback = void(NetworkType[] result);
- callback CaptivePortalStatusCallback = void(CaptivePortalStatus result);
- callback GetGlobalPolicyCallback = void(GlobalPolicy result);
-
- interface Functions {
- // Gets all the properties of the network with id networkGuid. Includes all
- // properties of the network (read-only and read/write values).
- // |networkGuid|: The GUID of the network to get properties for.
- // |callback|: Called with the network properties when received.
- static void getProperties(DOMString networkGuid,
- GetPropertiesCallback callback);
-
- // Gets the merged properties of the network with id networkGuid from the
- // sources: User settings, shared settings, user policy, device policy and
- // the currently active settings.
- // |networkGuid|: The GUID of the network to get properties for.
- // |callback|: Called with the managed network properties when received.
- static void getManagedProperties(DOMString networkGuid,
- GetManagedPropertiesCallback callback);
-
- // Gets the cached read-only properties of the network with id networkGuid.
- // This is meant to be a higher performance function than
- // $(ref:getProperties), which requires a round trip to query the networking
- // subsystem. The following properties are returned for all networks: GUID,
- // Type, Name, WiFi.Security. Additional properties are provided for visible
- // networks: ConnectionState, ErrorState, WiFi.SignalStrength,
- // Cellular.NetworkTechnology, Cellular.ActivationState,
- // Cellular.RoamingState.
- // |networkGuid|: The GUID of the network to get properties for.
- // |callback|: Called immediately with the network state properties.
- static void getState(DOMString networkGuid,
- GetStatePropertiesCallback callback);
-
- // Sets the properties of the network with id |networkGuid|. This is only
- // valid for configured networks (Source != None). Unconfigured visible
- // networks should use $(ref:createNetwork) instead.
- //
- // In kiosk sessions, calling this method on a shared network will fail.
- //
- // |networkGuid|: The GUID of the network to set properties for.
- // |properties|: The properties to set.
- // |callback|: Called when the operation has completed.
- static void setProperties(DOMString networkGuid,
- NetworkConfigProperties properties,
- optional VoidCallback callback);
-
- // Creates a new network configuration from properties. If a matching
- // configured network already exists, this will fail. Otherwise returns the
- // GUID of the new network.
- // |shared|:
- // If true, share this network configuration with
- // other users.
- //
- //
- // This option is exposed only to Chrome's Web UI.
- // When called by apps, false is the only allowed value.
- //
- // |properties|: The properties to configure the new network with.
- // |callback|: Called with the GUID for the new network configuration once
- // the network has been created.
- static void createNetwork(boolean shared,
- NetworkConfigProperties properties,
- optional StringCallback callback);
-
- //
- // Forgets a network configuration by clearing any configured properties
- // for the network with GUID networkGuid. This may also
- // include any other networks with matching identifiers (e.g. WiFi SSID
- // and Security). If no such configuration exists, an error will be set
- // and the operation will fail.
- //
- //
- // In kiosk sessions, this method will not be able to forget shared
- // network configurations.
- //
- // |networkGuid|: The GUID of the network to forget.
- // |callback|: Called when the operation has completed.
- static void forgetNetwork(DOMString networkGuid,
- optional VoidCallback callback);
-
- // Returns a list of network objects with the same properties provided by
- // $(ref:getState). A filter is provided to specify the
- // type of networks returned and to limit the number of networks. Networks
- // are ordered by the system based on their priority, with connected or
- // connecting networks listed first.
- // |filter|: Describes which networks to return.
- // |callback|: Called with a dictionary of networks and their state
- // properties when received.
- static void getNetworks(NetworkFilter filter,
- GetNetworksCallback callback);
-
- // Returns states of available networking devices.
- // |callback|: Called with a list of devices and their state.
- static void getDeviceStates(GetDeviceStatesCallback callback);
-
- // Enables any devices matching the specified network type. Note, the type
- // might represent multiple network types (e.g. 'Wireless').
- // |networkType|: The type of network to enable.
- static void enableNetworkType(NetworkType networkType);
-
- // Disables any devices matching the specified network type. See note for
- // $(ref:enableNetworkType).
- // |networkType|: The type of network to disable.
- static void disableNetworkType(NetworkType networkType);
-
- // Requests that the networking subsystem scan for new networks and
- // update the list returned by $(ref:getVisibleNetworks). This is only a
- // request: the network subsystem can choose to ignore it. If the list
- // is updated, then the $(ref:onNetworkListChanged) event will be fired.
- // |networkType|: If provided, requests a scan specific to the type.
- // For Cellular a mobile network scan will be requested if supported.
- static void requestNetworkScan(optional NetworkType networkType);
-
- // Starts a connection to the network with networkGuid.
- // |networkGuid|: The GUID of the network to connect to.
- // |callback|: Called when the connect request has been sent. Note: the
- // connection may not have completed. Observe $(ref:onNetworksChanged)
- // to be notified when a network state changes. If the connect request
- // immediately failed (e.g. the network is unconfigured),
- // $(ref:runtime.lastError) will be set with a failure reason.
- static void startConnect(DOMString networkGuid,
- optional VoidCallback callback);
-
- // Starts a disconnect from the network with networkGuid.
- // |networkGuid|: The GUID of the network to disconnect from.
- // |callback|: Called when the disconnect request has been sent. See note
- // for $(ref:startConnect).
- static void startDisconnect(DOMString networkGuid,
- optional VoidCallback callback);
-
- // Returns captive portal status for the network matching 'networkGuid'.
- // |networkGuid|: The GUID of the network to get captive portal status for.
- // |callback|: A callback function that returns the results of the query for
- // network captive portal status.
- static void getCaptivePortalStatus(DOMString networkGuid,
- CaptivePortalStatusCallback callback);
-
- // Gets the global policy properties. These properties are not expected to
- // change during a session.
- static void getGlobalPolicy(GetGlobalPolicyCallback callback);
- };
-
- interface Events {
- // Fired when the properties change on any of the networks. Sends a list of
- // GUIDs for networks whose properties have changed.
- static void onNetworksChanged(DOMString[] changes);
-
- // Fired when the list of networks has changed. Sends a complete list of
- // GUIDs for all the current networks.
- static void onNetworkListChanged(DOMString[] changes);
-
- // Fired when the list of devices has changed or any device state properties
- // have changed.
- static void onDeviceStateListChanged();
-
- // Fired when a portal detection for a network completes. Sends the GUID of
- // the network and the corresponding captive portal status.
- static void onPortalDetectionCompleted(DOMString networkGuid,
- CaptivePortalStatus status);
- };
-};
diff --git a/tools/under-control/src/extensions/common/api/networking_private.idl b/tools/under-control/src/extensions/common/api/networking_private.idl
deleted file mode 100755
index 4493f066..00000000
--- a/tools/under-control/src/extensions/common/api/networking_private.idl
+++ /dev/null
@@ -1,1124 +0,0 @@
-// Copyright 2015 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// The chrome.networkingPrivate API is used for configuring
-// network connections (Cellular, Ethernet, VPN or WiFi). This private
-// API is only valid if called from a browser or app associated with the
-// primary user. See the Open Network Configuration (ONC) documentation for
-// descriptions of properties:
-//
-// src/components/onc/docs/onc_spec.html, or the
-//
-// Open Network Configuration page at chromium.org.
-//
-// NOTE: Most dictionary properties and enum values use UpperCamelCase to match
-// the ONC spec instead of the JavaScript lowerCamelCase convention.
-//
-// "State" properties describe just the ONC properties returned by
-// $(ref:networkingPrivate.getState) and $(ref:networkingPrivate.getNetworks).
-//
-// "Config" properties describe just the ONC properties that can be configured
-// through this API. NOTE: Not all configuration properties are exposed at this
-// time, only those currently required by the Chrome Settings UI.
-// TODO(stevenjb): Provide all configuration properties and types,
-// crbug.com/380937.
-//