The download's URL is not commonly downloaded and could be
- // dangerous.
- //
host
- //
The download came from a host known to distribute malicious
- // binaries and is likely dangerous.
- //
unwanted
- //
The download is potentially unwanted or unsafe. E.g. it could make
- // changes to browser or computer settings.
- //
safe
- //
The download presents no known danger to the user's computer.
- //
accepted
- //
The user has accepted the dangerous download.
- //
enum DangerType {
+ // The download's filename is suspicious.
file,
+
+ // The download's URL is known to be malicious.
url,
+
+ // The downloaded file is known to be malicious.
content,
+
+
+ // The download's URL is not commonly downloaded and could be dangerous.
uncommon,
+
+ // The download came from a host known to distribute malicious binaries and
+ // is likely dangerous.
host,
+
+ // The download is potentially unwanted or unsafe. E.g. it could make
+ // changes to browser or computer settings.
unwanted,
+
+
+ // The download presents no known danger to the user's computer.
safe,
+
+ // The user has accepted the dangerous download.
accepted,
+
+ // Enterprise-related values.
allowlistedByPolicy,
asyncScanning,
asyncLocalPasswordScanning,
@@ -143,7 +144,12 @@ namespace downloads {
promptForScanning,
promptForLocalPasswordScanning,
accountCompromise,
- blockedScanFailed
+ blockedScanFailed,
+
+ // For use by the Secure Enterprise Browser extension. When required, Chrome
+ // will block the download to disc and download the file directly to Google
+ // Drive.
+ forceSaveToGdrive
};
//
in_progress
diff --git a/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl b/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl
index 548f99c6..2aca36df 100755
--- a/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl
@@ -302,6 +302,7 @@ namespace enterprise.reportingPrivate {
DOMString? maskType;
DOMString? pattern;
DetectorType? detectorType;
+ DOMString? maskText;
};
// Information for a data leak prevention rule that was used to mask data.
diff --git a/tools/under-control/src/chrome/common/extensions/api/login_state.idl b/tools/under-control/src/chrome/common/extensions/api/login_state.idl
index 9999cd5f..9451766f 100755
--- a/tools/under-control/src/chrome/common/extensions/api/login_state.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/login_state.idl
@@ -15,7 +15,7 @@ namespace loginState {
USER_PROFILE,
// Specifies that the extension is in the lock screen profile.
- [nodoc] LOCK_PROFILE
+ LOCK_PROFILE
};
enum SessionState {
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 7d41beb7..00198796 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
@@ -183,6 +183,6 @@ namespace sidePanel {
static void onOpened(PanelOpenedInfo info);
// Fired when the extension's side panel is closed.
- [nodoc] static void onClosed(PanelClosedInfo info);
+ static void onClosed(PanelClosedInfo info);
};
};
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 19e5e8d6..35dd0c2f 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
@@ -92,9 +92,6 @@
#include "components/error_page/common/error.h"
#include "components/error_page/common/localized_error.h"
#include "components/feed/feed_feature_list.h"
-#include "components/fingerprinting_protection_filter/common/fingerprinting_protection_filter_features.h"
-#include "components/fingerprinting_protection_filter/renderer/renderer_agent.h"
-#include "components/fingerprinting_protection_filter/renderer/unverified_ruleset_dealer.h"
#include "components/grit/components_scaled_resources.h"
#include "components/guest_view/buildflags/buildflags.h"
#include "components/heap_profiling/in_process/heap_profiler_controller.h"
@@ -122,7 +119,6 @@
#include "components/subresource_filter/content/renderer/subresource_filter_agent.h"
#include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h"
#include "components/subresource_filter/core/common/common_features.h"
-#include "components/subresource_filter/core/common/memory_mapped_ruleset.h"
#include "components/variations/net/variations_http_headers.h"
#include "components/variations/variations_switches.h"
#include "components/version_info/version_info.h"
@@ -441,13 +437,6 @@ void ChromeContentRendererClient::RenderThreadStarted() {
subresource_filter_ruleset_dealer_ =
std::make_unique();
- if (fingerprinting_protection_filter::features::
- IsFingerprintingProtectionFeatureEnabled()) {
- fingerprinting_protection_ruleset_dealer_ = std::make_unique<
- fingerprinting_protection_filter::UnverifiedRulesetDealer>();
- thread->AddObserver(fingerprinting_protection_ruleset_dealer_.get());
- }
-
#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
phishing_model_setter_ =
std::make_unique();
@@ -723,26 +712,6 @@ void ChromeContentRendererClient::RenderFrameCreated(
subresource_filter_agent->Initialize();
}
- if (!render_frame->IsInFencedFrameTree()) {
- content_based_fingerprinting_protection_enabled_for_metrics_ =
- render_frame->GetBlinkPreferences()
- .content_based_fingerprinting_protection_enabled;
- }
- if (render_frame->IsMainFrame() && !render_frame->IsInFencedFrameTree()) {
- // This web pref applies at the level of the current browser session and may
- // change when settings are modified, so we copy the latest value every time
- // a new top-level main frame is created for a new page.
- content_based_fingerprinting_protection_enabled_ =
- render_frame->GetBlinkPreferences()
- .content_based_fingerprinting_protection_enabled;
- }
- if (content_based_fingerprinting_protection_enabled_ &&
- fingerprinting_protection_ruleset_dealer_) {
- auto* fingerprinting_protection_renderer_agent =
- new fingerprinting_protection_filter::RendererAgent(render_frame);
- fingerprinting_protection_renderer_agent->Initialize();
- }
-
#if !BUILDFLAG(IS_ANDROID)
if (process_state::IsInstantProcess() && render_frame->IsMainFrame()) {
new SearchBox(render_frame);
@@ -947,16 +916,6 @@ bool ChromeContentRendererClient::OverrideCreatePlugin(
return true;
}
-#if BUILDFLAG(ENABLE_PLUGINS)
-WebPlugin* ChromeContentRendererClient::CreatePluginReplacement(
- content::RenderFrame* render_frame,
- const base::FilePath& plugin_path) {
- auto* placeholder = NonLoadablePluginPlaceholder::CreateErrorPlugin(
- render_frame, plugin_path);
- return placeholder->plugin();
-}
-#endif // BUILDFLAG(ENABLE_PLUGINS)
-
bool ChromeContentRendererClient::DeferMediaLoad(
content::RenderFrame* render_frame,
bool has_played_media_before,
@@ -1483,8 +1442,12 @@ void ChromeContentRendererClient::
#endif
if (base::FeatureList::IsEnabled(
- autofill::features::kAutofillSharedAutofill)) {
- blink::WebRuntimeFeatures::EnableSharedAutofill(true);
+ autofill::features::kAutofillPolicyControlledFeatureAutofill)) {
+ blink::WebRuntimeFeatures::EnableAutofill(true);
+ }
+ if (base::FeatureList::IsEnabled(
+ autofill::features::kAutofillPolicyControlledFeatureManualText)) {
+ blink::WebRuntimeFeatures::EnableManualText(true);
}
if (base::FeatureList::IsEnabled(subresource_filter::kAdTagging))
@@ -1678,27 +1641,6 @@ void ChromeContentRendererClient::AppendContentSecurityPolicy(
#endif
}
-bool ChromeContentRendererClient::
- IsContentBasedFingerprintingProtectionEnabled() {
- return content_based_fingerprinting_protection_enabled_;
-}
-
-bool ChromeContentRendererClient::
- IsContentBasedFingerprintingProtectionEnabledForMetrics() {
- return content_based_fingerprinting_protection_enabled_for_metrics_;
-}
-
-scoped_refptr
-ChromeContentRendererClient::GetFingerprintingProtectionRuleset() {
- if (fingerprinting_protection_ruleset_dealer_) {
- // Returns nullptr if no ruleset file is available.
- fingerprinting_protection_ruleset_ =
- fingerprinting_protection_ruleset_dealer_->GetRuleset();
- return fingerprinting_protection_ruleset_;
- }
- return nullptr;
-}
-
std::unique_ptr
ChromeContentRendererClient::CreateLinkPreviewTriggerer() {
return ::CreateWebLinkPreviewTriggerer();
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 5ce43f00..939136c3 100755
--- a/tools/under-control/src/components/policy/resources/templates/policies.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policies.yaml
@@ -1403,6 +1403,20 @@ policies:
1402: GeminiActOnWebSettings
1403: LocalAuthFactorsComplexity
1404: ProxyOverrideRules
+ 1405: LocalAuthFactors
+ 1406: EnableProxyOverrideRulesForAllUsers
+ 1407: DefaultIdleDetectionSetting
+ 1408: IdleDetectionAllowedForUrls
+ 1409: IdleDetectionBlockedForUrls
+ 1410: PreciseGeolocationAllowedForUrls
+ 1411: GeolocationBlockedForUrls
+ 1412: PdfXfaFormsEnabled
+ 1413: CameraSaveLocation
+ 1414: DeviceLoginScreenPreferSlowKexAlgorithms
+ 1415: DeviceLoginScreenPreferSlowCiphers
+ 1416: SearchContentSharingSettings
+ 1417: StaticStorageQuotaEnabled
+
atomic_groups:
1: Homepage
2: RemoteAccess
@@ -1465,3 +1479,4 @@ atomic_groups:
59: DeviceAttributesSettings
60: ProtectedContent
61: LegacyCookieScopeSettings
+ 62: GeolocationSettings
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml
index c15a6e15..a3ae8c80 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml
@@ -9,7 +9,7 @@ desc: |-
URLs must have HTTPS scheme, e.g. "https://example.com".
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/.
device_only: true
example_value:
- https://www.example.com/
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecurityAuthenticatedReporting.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecurityAuthenticatedReporting.yaml
index 164b8b23..d5c86fba 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecurityAuthenticatedReporting.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecurityAuthenticatedReporting.yaml
@@ -15,9 +15,8 @@ features:
per_profile: true
cloud_only: true
user_only: true
-future_on:
-- android
supported_on:
+- android:144-
- chrome.*:137-
owners:
- seblalancette@chromium.org
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecuritySignalsReporting.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecuritySignalsReporting.yaml
index e1cc74cf..ab43c1d9 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecuritySignalsReporting.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CloudReporting/UserSecuritySignalsReporting.yaml
@@ -15,9 +15,8 @@ features:
per_profile: true
cloud_only: true
user_only: true
-future_on:
-- android
supported_on:
+- android:144-
- chrome.*:137-
owners:
- seblalancette@chromium.org
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 ed2c4062..624471a5 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
@@ -11,7 +11,7 @@ desc: |-
call the API without a prior user gesture.
For detailed information on valid url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ https://chromeenterprise.google/policies/url-patterns.
Wildcards, *, are allowed.
Origins matching both blocked and allowed policy patterns will be blocked.
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 d242ca22..d0ca728b 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
@@ -11,7 +11,7 @@ desc: |-
from calling the API without a prior user gesture.
For detailed information on valid url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ https://chromeenterprise.google/policies/url-patterns.
Wildcards, *, are allowed.
Origins matching both blocked and allowed policy patterns will be blocked.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardAllowedForUrls.yaml
index 2d388ed9..ab8ad17b 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardAllowedForUrls.yaml
@@ -5,7 +5,7 @@ desc: |-
Leaving the policy unset means DefaultClipboardSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardBlockedForUrls.yaml
index b256473c..6ff9e5c2 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ClipboardBlockedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultClipboardSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameAllowedForUrls.yaml
index 517fcea3..16b76500 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameAllowedForUrls.yaml
@@ -10,7 +10,7 @@ desc: |-
URL patterns must not conflict with ControlledFrameBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- isolated-app://aerugqztij5biqquuk3mfwpsaibuegaqcitgfchwuosuofdjabzqaaic
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameBlockedForUrls.yaml
index 80244a05..e77ff653 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ControlledFrameBlockedForUrls.yaml
@@ -10,7 +10,7 @@ desc: |-
URL patterns must not conflict with ControlledFrameAllowedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- isolated-app://aerugqztij5biqquuk3mfwpsaibuegaqcitgfchwuosuofdjabzqaaic
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesAllowedForUrls.yaml
index 7f567d8e..b2032c0a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesAllowedForUrls.yaml
@@ -12,7 +12,7 @@ desc: |-
See also policies CookiesBlockedForUrls and CookiesSessionOnlyForUrls. Note that there must be no conflicting URL patterns between these three policies - it is unspecified which policy takes precedence.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesBlockedForUrls.yaml
index 0423464b..20e5a251 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesBlockedForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
While no specific policy takes precedence, see CookiesAllowedForUrls and CookiesSessionOnlyForUrls. URL patterns among these 3 policies must not conflict.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesSessionOnlyForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesSessionOnlyForUrls.yaml
index 3ccedd24..e6205fdd 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesSessionOnlyForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/CookiesSessionOnlyForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
While no specific policy takes precedence, see CookiesBlockedForUrls and CookiesAllowedForUrls. URL patterns among these 3 policies must not conflict.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
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
new file mode 100755
index 00000000..b92bdc20
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DefaultIdleDetectionSetting.yaml
@@ -0,0 +1,40 @@
+caption: Default idle detection setting
+desc: |-
+ Allows you to set whether websites are allowed to use the Idle Detection API.
+
+ When this policy is set to 1 - AllowIdleDetection, websites can use the API without asking the user for permission.
+
+ When this policy is set to 2 - BlockIdleDetection, websites can't use the API, regardless of the user's permission.
+
+ When this policy is set to 3 - AskIdleDetection or not set, websites can't use the API without the user's permission.
+example_value: 1
+features:
+ dynamic_refresh: true
+ per_profile: true
+items:
+- caption: Allow sites to detect idle state without asking the user
+ name: AllowIdleDetection
+ value: 1
+- caption: Do not allow any site to detect the user's idle state
+ name: BlockIdleDetection
+ value: 2
+- caption: Ask every time a site wants to detect the user's idle state
+ name: AskIdleDetection
+ value: 3
+label: Idle detection
+owners:
+- pastarmovj@chromium.org
+- zmin@chromium.org
+future_on:
+- chrome.*
+- chrome_os
+- android
+tags:
+- website-sharing
+type: int-enum
+schema:
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesAllowedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesAllowedForOrigins.yaml
index c56cd267..e7441602 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesAllowedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesAllowedForOrigins.yaml
@@ -4,7 +4,7 @@ desc: |-
Origins must correspond to web applications that are force-installed Isolated Web Apps (using IsolatedWebAppInstallForceList policy) (since version 125), set up as a kiosk app, or web applications that are force-installed (using WebAppInstallForceList) (before version 140). For Device Attributes API specification please see https://wicg.github.io/WebApiDevice/device_attributes.
- For detailed information on valid url patterns (since version 127), please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns (since version 127), please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.google.com
- '[*.]example.com'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesBlockedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesBlockedForOrigins.yaml
index 40fc0b61..458ff360 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesBlockedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DeviceAttributesBlockedForOrigins.yaml
@@ -4,7 +4,7 @@ desc: |-
Origins must correspond to web applications that are force-installed Isolated Web Apps (using IsolatedWebAppInstallForceList policy) or set up as a kiosk app. For Device Attributes API specification please see https://wicg.github.io/WebApiDevice/device_attributes.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.google.com
- '[*.]example.com'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsAllowedForUrls.yaml
index 1de2ed73..1b6cd6ca 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsAllowedForUrls.yaml
@@ -10,7 +10,7 @@ desc: |-
URL patterns must not conflict with DirectSocketsBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- isolated-app://aerugqztij5biqquuk3mfwpsaibuegaqcitgfchwuosuofdjabzqaaic
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsBlockedForUrls.yaml
index 36359341..6099b1b1 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsBlockedForUrls.yaml
@@ -10,7 +10,7 @@ desc: |-
URL patterns must not conflict with DirectSocketsAllowedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- isolated-app://aerugqztij5biqquuk3mfwpsaibuegaqcitgfchwuosuofdjabzqaaic
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessAllowedForUrls.yaml
index 172176ef..e0949ba4 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessAllowedForUrls.yaml
@@ -12,7 +12,7 @@ desc: |-
URL patterns must not conflict with DirectSocketsPrivateNetworkAccessBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
Note that this policy only applies if the origin is allowed to use the Direct Sockets API.
Please consult DefaultDirectSocketsSetting, DirectSocketsAllowedForUrls and DirectSocketsBlockedForUrls for more details.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessBlockedForUrls.yaml
index 734748b6..3a189d61 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/DirectSocketsPrivateNetworkAccessBlockedForUrls.yaml
@@ -12,7 +12,7 @@ desc: |-
URL patterns must not conflict with DirectSocketsPrivateNetworkAccessAllowedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
Note that this policy only applies if the origin is allowed to use the Direct Sockets API.
Please consult DefaultDirectSocketsSetting, DirectSocketsAllowedForUrls and DirectSocketsBlockedForUrls for more details.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingAllowedForUrls.yaml
index 37fb3d33..e2538b7c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingAllowedForUrls.yaml
@@ -9,7 +9,7 @@ desc: |-
URL patterns must not conflict with FileHandlingBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingBlockedForUrls.yaml
index 13a36220..28208120 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileHandlingBlockedForUrls.yaml
@@ -9,7 +9,7 @@ desc: |-
URL patterns must not conflict with FileHandlingAllowedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadAskForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadAskForUrls.yaml
index 544d8c6e..21202dff 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadAskForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadAskForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
URL patterns must not conflict with FileSystemReadBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadBlockedForUrls.yaml
index bda790af..bc1e2895 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemReadBlockedForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
URL patterns can't conflict with FileSystemReadAskForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteAskForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteAskForUrls.yaml
index 3dd13746..a2c995f4 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteAskForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteAskForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
URL patterns must not conflict with FileSystemWriteBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteBlockedForUrls.yaml
index 5e0dc4c9..84e0124e 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/FileSystemWriteBlockedForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
URL patterns can't conflict with FileSystemWriteAskForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/GeolocationBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/GeolocationBlockedForUrls.yaml
new file mode 100755
index 00000000..ed2be818
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/GeolocationBlockedForUrls.yaml
@@ -0,0 +1,28 @@
+caption: Block geolocation on these sites
+desc: |-
+ Setting the policy lets you set a list of URL patterns that specify sites that are not allowed to access the user's geolocation, and are also prevented from requesting user permission to do so.
+
+ Leaving the policy unset means DefaultGeolocationSetting applies for all sites, if it's set. If not, the user's personal setting applies.
+
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
+example_value:
+- https://www.example.com
+- '[*.]example.edu'
+features:
+ dynamic_refresh: true
+ per_profile: true
+future_on:
+- fuchsia
+owners:
+- engedy@chromium.org
+- file://components/permissions/PERMISSIONS_OWNERS
+schema:
+ items:
+ type: string
+ type: array
+supported_on:
+- chrome.*:144-
+- chrome_os:144-
+- android:144-
+tags: []
+type: list
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
new file mode 100755
index 00000000..8fec768d
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionAllowedForUrls.yaml
@@ -0,0 +1,28 @@
+caption: Allow idle detection on these sites
+desc: |-
+ Allows you to set a list of URL patterns that specify the sites that are allowed to use the Idle Detection API witout asking the user. Blocklist entries have higher priority than allowlist entries, which in turn have higher priority than the configured default value.
+
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+
+ If this policy is not set, the global default value will be used for all sites, which is configured by the DefaultIdleDetectionSetting (Default idle detection setting) policy, if set, or by the user's personal configuration otherwise.
+example_value:
+- https://www.example.com
+- '[*.]example.edu'
+features:
+ dynamic_refresh: true
+ per_profile: true
+label: Allowed sites for idle detection
+owners:
+- pastarmovj@chromium.org
+- zmin@chromium.org
+schema:
+ type: array
+ items:
+ type: string
+future_on:
+- chrome.*
+- chrome_os
+- android
+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
new file mode 100755
index 00000000..24d6e928
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/IdleDetectionBlockedForUrls.yaml
@@ -0,0 +1,28 @@
+caption: Block idle detection on these sites
+desc: |-
+ Allows you to set a list of URL patterns that specify the sites that are not allowed to use the Idle Detection API.
+
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+
+ If this policy is not set, the global default value will be used for all sites, which is configured by the DefaultIdleDetectionSetting (Default idle detection setting) policy, if set, or by the user's personal configuration otherwise.
+example_value:
+- https://www.example.com
+- '[*.]example.edu'
+features:
+ dynamic_refresh: true
+ per_profile: true
+label: Blocked sites for idle detection
+owners:
+- pastarmovj@chromium.org
+- anin@chromium.org
+schema:
+ type: array
+ items:
+ type: string
+future_on:
+- chrome.*
+- chrome_os
+- android
+tags:
+- website-sharing
+type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesAllowedForUrls.yaml
index 5068bfe3..bc91ec1f 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesAllowedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultImagesSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
Note that previously this policy was erroneously enabled on Android, but this functionality has never been fully supported on Android.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesBlockedForUrls.yaml
index e81c0113..d79baa9a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/ImagesBlockedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultImagesSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
Note that previously this policy was erroneously enabled on Android, but this functionality has never been fully supported on Android.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentAllowedForUrls.yaml
index 9dde8142..aecb29e6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentAllowedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
If this policy is left not set blockable mixed content will be blocked and optionally blockable mixed content will be upgraded, and users will be allowed to set exceptions to allow it for specific sites.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentBlockedForUrls.yaml
index 7ba2b735..0bd129b1 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/InsecureContentBlockedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
If this policy is left not set blockable mixed content will be blocked and optionally blockable mixed content will be upgraded, but users will be allowed to set exceptions to allow it for specific sites.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptAllowedForUrls.yaml
index d6989325..3604071f 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptAllowedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultJavaScriptSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptBlockedForUrls.yaml
index ef5e0c0d..f94bd643 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptBlockedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultJavaScriptSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
Note that this policy blocks JavaScript based on whether the origin of the top-level document (usually the page URL that is also displayed in the address bar) matches any of the patterns. Therefore this policy is not appropriate for mitigating web supply-chain attacks. For example, supplying the pattern "https://[*.]foo.com/" will not prevent a page hosted on, say, https://example.com from running a script loaded from https://www.foo.com/example.js. Furthermore, supplying the pattern "https://example.com/" will not prevent a document from https://example.com from running scripts if it is not the top-level document, but embedded as a sub-frame into a page hosted on another origin, say, https://www.bar.com.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitAllowedForSites.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitAllowedForSites.yaml
index 725f0f0e..f5fda74e 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitAllowedForSites.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitAllowedForSites.yaml
@@ -2,7 +2,7 @@ caption: Allow JavaScript to use JIT on these sites
desc: |-
Allows you to set a list of site url patterns that specify sites which are allowed to run JavaScript with JIT (Just In Time) compiler enabled.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
JavaScript JIT policy exceptions will only be enforced at a site granularity (eTLD+1). A policy set for only subdomain.site.com will not correctly apply to site.com or subdomain.site.com since they both resolve to the same eTLD+1 (site.com) for which there is no policy. In this case, policy must be set on site.com to apply correctly for both site.com and subdomain.site.com.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitBlockedForSites.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitBlockedForSites.yaml
index 870967e4..9d46f33d 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitBlockedForSites.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptJitBlockedForSites.yaml
@@ -4,7 +4,7 @@ desc: |-
Disabling the JavaScript JIT will mean that $1Google Chrome may render web content more slowly, and may also disable parts of JavaScript including WebAssembly. Disabling the JavaScript JIT may allow $1Google Chrome to render web content in a more secure configuration.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
JavaScript JIT policy exceptions will only be enforced at a site granularity (eTLD+1). A policy set for only subdomain.site.com will not correctly apply to site.com or subdomain.site.com since they both resolve to the same eTLD+1 (site.com) for which there is no policy. In this case, policy must be set on site.com to apply correctly for both site.com and subdomain.site.com.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerAllowedForSites.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerAllowedForSites.yaml
index 7a2db8ed..b912fab0 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerAllowedForSites.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerAllowedForSites.yaml
@@ -4,7 +4,7 @@ desc: |-
advanced JavaScript optimizations are enabled.
For detailed information on valid site url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ https://chromeenterprise.google/policies/url-patterns.
Wildcards, *, are allowed.
JavaScript optimization policy exceptions will only be enforced at a site
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerBlockedForSites.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerBlockedForSites.yaml
index 89358a94..9c4f8e25 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerBlockedForSites.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/JavaScriptOptimizerBlockedForSites.yaml
@@ -7,7 +7,7 @@ desc: |-
$1Google Chrome may render web content more slowly.
For detailed information on valid url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ https://chromeenterprise.google/policies/url-patterns.
Wildcards, *, are allowed.
JavaScript optimization policy exceptions will only be enforced at a site
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenAllowedForUrls.yaml
index 23d2900a..321fd0db 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenAllowedForUrls.yaml
@@ -5,7 +5,7 @@ desc: |-
If this policy is left not set the global default value will be used for all sites either from the 'DefaultKeygenSetting' policy if it is set, or the user's personal configuration otherwise.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenBlockedForUrls.yaml
index 7db49ab6..dd5d8d99 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/KeygenBlockedForUrls.yaml
@@ -5,7 +5,7 @@ desc: |-
If this policy is left not set the global default value will be used for all sites either from the 'DefaultKeygenSetting' policy if it is set, or the user's personal configuration otherwise.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LegacySameSiteCookieBehaviorEnabledForDomainList.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LegacySameSiteCookieBehaviorEnabledForDomainList.yaml
index 5bdfd961..972d90d4 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LegacySameSiteCookieBehaviorEnabledForDomainList.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LegacySameSiteCookieBehaviorEnabledForDomainList.yaml
@@ -5,7 +5,7 @@ desc: |-
For cookies on domains not covered by the patterns specified here, or for all cookies if this policy is not set, the global default value will be the user's personal configuration.
- For detailed information on valid patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ For detailed information on valid patterns, please see https://chromeenterprise.google/policies/url-patterns.
Note that patterns you list here are treated as domains, not URLs, so you should not specify a scheme or port.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsAllowedForUrls.yaml
index 7b686fd3..1cf222d7 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsAllowedForUrls.yaml
@@ -2,7 +2,7 @@ caption: Allow Local Fonts permission on these sites
desc: |-
Sets a list of site url patterns that specify sites which will automatically grant the local fonts permission. This will extend the ability of sites to see information about local fonts.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
If this policy is not set for a site then the policy from DefaultLocalFontsSetting applies to the site, if set, otherwise the permission will follow the browser's defaults and allow users to choose this permission per site.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsBlockedForUrls.yaml
index 2f099033..a6a0b342 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/LocalFontsBlockedForUrls.yaml
@@ -2,7 +2,7 @@ caption: Block Local Fonts permission on these sites
desc: |-
Sets a list of site url patterns that specify sites which will automatically deny the local fonts permission. This will limit the ability of sites to see information about local fonts.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
If this policy is not set for a site then the policy from DefaultLocalFontsSetting applies to the site, if set, otherwise the permission will follow the browser's defaults and allow users to choose this permission per site.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsAllowedForUrls.yaml
index b1bbf9e7..3ba87f12 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsAllowedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultNotificationsSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsBlockedForUrls.yaml
index ece6b3c3..edd7b83d 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/NotificationsBlockedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultNotificationsSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsAllowedForUrls.yaml
index 27f6fc7e..9dc8541b 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsAllowedForUrls.yaml
@@ -5,7 +5,7 @@ desc: |-
Leaving the policy unset means DefaultPluginsSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. However, starting in M85, patterns with '*' and '[*.]' wildcards in the host are no longer supported for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. However, starting in M85, patterns with '*' and '[*.]' wildcards in the host are no longer supported for this policy.
example_value:
- https://www.example.com
- http://example.edu:8080
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsBlockedForUrls.yaml
index ea84b372..e02effe6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PluginsBlockedForUrls.yaml
@@ -5,7 +5,7 @@ desc: |-
Leaving the policy unset means DefaultPluginsSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. However, starting in M85, patterns with '*' and '[*.]' wildcards in the host are no longer supported for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. However, starting in M85, patterns with '*' and '[*.]' wildcards in the host are no longer supported for this policy.
example_value:
- https://www.example.com
- http://example.edu:8080
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsAllowedForUrls.yaml
index 448031a6..eaf178e6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsAllowedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultPopupsSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsBlockedForUrls.yaml
index 86e20ff0..0b410276 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PopupsBlockedForUrls.yaml
@@ -4,7 +4,7 @@ desc: |-
Leaving the policy unset means DefaultPopupsSetting applies for all sites, if it's set. If not, the user's personal setting applies.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PreciseGeolocationAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PreciseGeolocationAllowedForUrls.yaml
new file mode 100755
index 00000000..c7ba5184
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/PreciseGeolocationAllowedForUrls.yaml
@@ -0,0 +1,28 @@
+caption: Allow precise geolocation on these sites
+desc: |-
+ Setting the policy lets you set a list of URL patterns that specify sites that are allowed to access the user's high accuracy geolocation without first having to request the user's permission to do so.
+
+ Leaving the policy unset means DefaultGeolocationSetting applies for all sites, if it's set. If not, the user's personal setting applies.
+
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
+example_value:
+- https://www.example.com
+- '[*.]example.edu'
+features:
+ dynamic_refresh: true
+ per_profile: true
+future_on:
+- fuchsia
+owners:
+- engedy@chromium.org
+- file://components/permissions/PERMISSIONS_OWNERS
+schema:
+ items:
+ type: string
+ type: array
+supported_on:
+- chrome.*:144-
+- chrome_os:144-
+- android:144-
+tags: []
+type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsAllowedForUrls.yaml
index 26cf1c71..b3d213fe 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsAllowedForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
If the same URL pattern exists in both this policy and the SensorsBlockedForUrls policy, the latter is prioritized and access to motion or light sensors will be blocked.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsBlockedForUrls.yaml
index aaa0eb9a..18c1b780 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SensorsBlockedForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
If the same URL pattern exists in both this policy and the SensorsAllowedForUrls policy, this policy is prioritized and access to motion or light sensors will be blocked.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialAskForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialAskForUrls.yaml
index 447b6f22..d4c1cffd 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialAskForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialAskForUrls.yaml
@@ -8,7 +8,7 @@ desc: |-
If URL patterns conflict with SerialBlockedForUrls they will be ignored.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialBlockedForUrls.yaml
index 72e2fcdb..634fd4ce 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/SerialBlockedForUrls.yaml
@@ -8,7 +8,7 @@ desc: |-
If URL patterns conflict with SerialAskForUrls this policy will take precedence.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
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 4a875292..02b9811e 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
@@ -4,7 +4,7 @@ desc: |-
If this policy is left unset or if a top-level origin doesn't match one of the URL patterns, DefaultThirdPartyStoragePartitioningSetting will apply.
- For detailed information on valid patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Note that patterns you list here are treated as origins, not URLs, so you should not specify a path.
+ For detailed information on valid patterns, please see https://chromeenterprise.google/policies/url-patterns. Note that patterns you list here are treated as origins, not URLs, so you should not specify a path.
For detailed information on third-party storage partitioning, please see https://developers.google.com/privacy-sandbox/cookies/storage-partitioning.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidAskForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidAskForUrls.yaml
index 976942d0..5455ee64 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidAskForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidAskForUrls.yaml
@@ -14,7 +14,7 @@ desc: |-
URL patterns must not conflict with WebHidBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://google.com
- https://chromium.org
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidBlockedForUrls.yaml
index 946d2f16..e018bf36 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebHidBlockedForUrls.yaml
@@ -14,7 +14,7 @@ desc: |-
URL patterns can't conflict with WebHidAskForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://google.com
- https://chromium.org
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingAllowedForUrls.yaml
index 48f5482e..d2c321b8 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingAllowedForUrls.yaml
@@ -7,7 +7,7 @@ desc: |-
URL patterns must not conflict with WebPrintingBlockedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- isolated-app://aerugqztij5biqquuk3mfwpsaibuegaqcitgfchwuosuofdjabzqaaic
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingBlockedForUrls.yaml
index 7157db43..99052f89 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebPrintingBlockedForUrls.yaml
@@ -7,7 +7,7 @@ desc: |-
URL patterns must not conflict with WebPrintingAllowedForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- isolated-app://aerugqztij5biqquuk3mfwpsaibuegaqcitgfchwuosuofdjabzqaaic
features:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbAskForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbAskForUrls.yaml
index 81a433c0..150a8bd3 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbAskForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbAskForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
URL patterns must not conflict with WebUsbAskForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbBlockedForUrls.yaml
index 3bc75582..e0ef4eda 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WebUsbBlockedForUrls.yaml
@@ -6,7 +6,7 @@ desc: |-
URL patterns can't conflict with WebUsbAskForUrls. Neither policy takes precedence if a URL matches with both.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns. * is not an accepted value for this policy.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementAllowedForUrls.yaml
index e269a8ac..3a6a855c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementAllowedForUrls.yaml
@@ -2,7 +2,7 @@ caption: Allow Window Management permission on these sites
desc: |-
Allows you to set a list of site url patterns that specify sites which will automatically grant the window management permission. This will extend the ability of sites to see information about the device's screens and use that information to open and place windows or request fullscreen on specific screens.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
If this policy is not set for a site then the policy from DefaultWindowManagementSetting applies to the site, if set, otherwise the permission will follow the browser's defaults and allow users to choose this permission per site.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementBlockedForUrls.yaml
index 78484c56..288fbe51 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowManagementBlockedForUrls.yaml
@@ -2,7 +2,7 @@ caption: Block Window Management permission on these sites
desc: |-
Allows you to set a list of site url patterns that specify sites which will automatically deny the window management permission. This will limit the ability of sites to see information about the device's screens and use that information to open and place windows or request fullscreen on specific screens.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
If this policy is not set for a site then the policy from DefaultWindowManagementSetting applies to the site, if set, otherwise the permission will follow the browser's defaults and allow users to choose this permission per site.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementAllowedForUrls.yaml
index 7408f32f..7ca69c3f 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementAllowedForUrls.yaml
@@ -2,7 +2,7 @@ caption: Allow Window Placement permission on these sites
desc: |-
Allows you to set a list of site url patterns that specify sites which will automatically grant the window placement permission. This will extend the ability of sites to see information about the device's screens and use that information to open and place windows or request fullscreen on specific screens.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
If this policy is not set for a site then the policy from DefaultWindowPlacementSetting applies to the site, if set, otherwise the permission will follow the browser's defaults and allow users to choose this permission per site.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementBlockedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementBlockedForUrls.yaml
index 929ff244..eebc280e 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementBlockedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ContentSettings/WindowPlacementBlockedForUrls.yaml
@@ -2,7 +2,7 @@ caption: Block Window Placement permission on these sites
desc: |-
Allows you to set a list of site url patterns that specify sites which will automatically deny the window placement permission. This will limit the ability of sites to see information about the device's screens and use that information to open and place windows or request fullscreen on specific screens.
- For detailed information on valid site url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid site url patterns, please see https://chromeenterprise.google/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
If this policy is not set for a site then the policy from DefaultWindowPlacementSetting applies to the site, if set, otherwise the permission will follow the browser's defaults and allow users to choose this permission per site.
example_value:
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 ba6138f6..17483223 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
@@ -119,3 +119,9 @@ DeviceAttributesSettings:
- DefaultDeviceAttributesSetting
- DeviceAttributesAllowedForOrigins
- DeviceAttributesBlockedForOrigins
+GeolocationSettings:
+ caption: Geolocation settings
+ policies:
+ - DefaultGeolocationSetting
+ - PreciseGeolocationAllowedForUrls
+ - GeolocationBlockedForUrls
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
new file mode 100755
index 00000000..fa8b4a21
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowCiphers.yaml
@@ -0,0 +1,45 @@
+caption: Prefer specific encryption cipher algorithms for TLS for device login screen
+desc: |-
+ This policy configures $2Google ChromeOS to order its preferred encryption ciphers in TLS 1.3 to reflect a preference for algorithms that have been approved by a specific compliance regime, when making network requests from the login screen.
+
+ Setting this policy does not guarantee that any specific algorithms will be negotiated.
+
+ This policy exists to allow server operators who wish to support clients with and without compliance requirements to differentiate between those clients, and only use certain non-default algorithms with increased cryptographic strength for those explicitly configured to prefer them.
+
+ Setting the policy to 'cnsa' configures $2Google ChromeOS to prefer ciphers required for compliance with the Commercial National Security Algorithm Suite versions 1.0 and 2.0 (CNSA 1.0 and 2.0).
+
+ Not setting the policy, or setting it to 'default', configures $2Google ChromeOS to use its default ciphers.
+
+ Setting this policy is not required for security. The default cryptography used by $2Google ChromeOS is strong enough to withstand a brute force attack using the entire power of the Sun.
+
+ Setting this policy will cause $2Google ChromeOS to be slower when making network requests from the login screen.
+
+ This policy only affects TLS 1.3 and QUIC; it does not affect earlier versions of TLS.
+
+ This device policy is equivalent to the user policy PreferSlowCiphers, but applies to the sign-in profile on the login screen instead.
+
+example_value: cnsa
+device_only: true
+features:
+ dynamic_refresh: true
+ per_profile: false
+items:
+- caption: Prefer ciphers satisfying the requirements of CNSA 1.0 and 2.0
+ name: CNSA
+ value: cnsa
+- caption: Use $2Google ChromeOS's default cipher order
+ name: Default
+ value: default
+owners:
+- file://crypto/OWNERS
+- trusty-transport@chromium.org
+future_on:
+- chrome_os
+schema:
+ enum:
+ - cnsa
+ - default
+ type: string
+tags:
+- system-security
+type: string-enum
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
new file mode 100755
index 00000000..1cbb95b4
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/CryptographyCompliance/DeviceLoginScreenPreferSlowKexAlgorithms.yaml
@@ -0,0 +1,47 @@
+caption: Prefer specific key exchange algorithms for TLS for device login screen
+desc: |-
+ This policy configures $2Google ChromeOS to order its preferred key agreement algorithms (supported groups) in TLS 1.3 to reflect a preference for algorithms that have been approved by a specific compliance regime, when making network requests from the login screen.
+
+ Setting this policy does not guarantee that any specific algorithms will be negotiated.
+
+ This policy exists to allow server operators who wish to support clients with and without compliance requirements to differentiate between those clients, and only use certain non-default algorithms with increased cryptographic strength for those explicitly configured to prefer them.
+
+ Setting the policy to 'cnsa2' configures $2Google ChromeOS to prefer key exchange methods required for compliance with the Commercial National Security Algorithm Suite 2.0 (CNSA 2.0).
+
+ Not setting the policy, or setting it to 'default', configures $2Google ChromeOS to use its default key exchange methods.
+
+ If this policy is set to a value that would configure $2Google ChromeOS to prefer a post-quantum key agreement algorithm but DevicePostQuantumKeyAgreementEnabled is Disabled, the setting of DevicePostQuantumKeyAgreementEnabled takes precedence.
+
+ Setting this policy is not required for security. The default cryptography used by $2Google ChromeOS is strong enough to withstand a brute force attack using the entire power of the Sun.
+
+ Setting this policy will cause $2Google ChromeOS to be slower when making network requests from the login screen.
+
+ This policy only affects TLS 1.3 and QUIC; it does not affect earlier versions of TLS.
+
+ This device policy is equivalent to the user policy PreferSlowKexAlgorithms, but applies to the sign-in profile on the login screen instead.
+
+example_value: cnsa2
+device_only: true
+features:
+ dynamic_refresh: true
+ per_profile: false
+items:
+- caption: Prefer key exchange methods satisfying the requirements of CNSA 2.0
+ name: CNSA2.0
+ value: cnsa2
+- caption: Use $2Google ChromeOS's default supported groups
+ name: Default
+ value: default
+owners:
+- file://crypto/OWNERS
+- trusty-transport@chromium.org
+future_on:
+- chrome_os
+schema:
+ enum:
+ - cnsa2
+ - default
+ type: string
+tags:
+- system-security
+type: string-enum
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebSettings.yaml
index 6a3d43df..b33ba4dd 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiActOnWebSettings.yaml
@@ -35,4 +35,5 @@ items:
default: 0
supported_on:
- chrome.*:143-
-tags: []
\ No newline at end of file
+- chrome_os:144-
+tags: []
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiSettings.yaml
index 4af9a8ed..751f8c24 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/GeminiSettings.yaml
@@ -17,7 +17,6 @@ example_value: 1
future_on:
- android
- chrome.linux
-- chrome_os
features:
dynamic_refresh: true
per_profile: true
@@ -39,4 +38,5 @@ supported_on:
- chrome.win:137-
- chrome.mac:137-
- ios:139-
+- chrome_os:144-
tags: []
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
new file mode 100755
index 00000000..d6ea8d5e
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/GenerativeAI/SearchContentSharingSettings.yaml
@@ -0,0 +1,45 @@
+caption: Enable content sharing with Google AI Mode integrations
+
+desc: |-
+ This policy controls sharing of page and file content with Google AI Mode through Google Chrome side panel or tabs.
+
+ Note that this policy doesn't affect Google AI Mode on the web. It only controls how users can share information with it when using Google Chrome.
+
+ 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.
+
+ This policy will be ignored when Google Search is not users' default search engine as the feature is disabled.
+
+ This policy is independent of the AIModeSettings policy. The AIModeSettings policy only controls entry points on omnibox or NTP search box, while this policy controls context sharing through side panel or tabs.
+
+ This policy also doesn't control Google Gemini integration which can be disabled by GeminiSettings.
+
+ For more information on data handling for generative AI features, please see https://support.google.com/chrome/a?p=generative_ai_settings.
+default: 0
+example_value: 1
+features:
+ dynamic_refresh: true
+ per_profile: true
+items:
+- caption: Allow content sharing with Google AI Mode integrations.
+ name: Allowed
+ value: 0
+- caption: Do not allow content sharing with Google AI Mode integrations.
+ name: Disabled
+ value: 1
+owners:
+- file://components/contextual_search/OWNERS
+- file://components/contextual_tasks/OWNERS
+schema:
+ enum:
+ - 0
+ - 1
+ type: integer
+supported_on:
+- android:144-
+- ios:144-
+- chrome.*:144-
+- chrome_os:144-
+tags: []
+type: int-enum
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 ecdcccc6..5cd234a7 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
@@ -12,7 +12,7 @@ desc: |-
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://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ 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.
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 057e8904..96004980 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
@@ -14,7 +14,7 @@ desc: |-
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://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ 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.
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessRestrictionsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessRestrictionsEnabled.yaml
index ebc90914..8b45016e 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessRestrictionsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/LocalNetworkAccessSettings/LocalNetworkAccessRestrictionsEnabled.yaml
@@ -6,10 +6,12 @@ owners:
caption: Specifies whether to apply restrictions to requests to local
network endpoints
+deprecated: true
+
desc: |-
When this policy is set to Enabled, any time when a warning is supposed to be
displayed in Chrome DevTools due to Local Network Access checks failing, the
+ name="LOCAL_NETWORK_ACCESS">Local Network Access checks failing, the
main request will be blocked instead.
When this policy is set to Disabled or unset, Local Network Access restrictions.
+
+ This policy is deprecated because Local Network Access
+ has launched by default. The policy will be removed in a future release.
default: false
supported_on:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AudioCaptureAllowedUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AudioCaptureAllowedUrls.yaml
index 59d932c2..5bd7a961 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AudioCaptureAllowedUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AudioCaptureAllowedUrls.yaml
@@ -2,7 +2,7 @@ caption: URLs that will be granted access to audio capture devices without promp
desc: |-
Setting the policy means you specify the URL list whose patterns get matched to the security origin of the requesting URL. A match grants access to audio capture devices without prompt
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Note, however, that the pattern "*", which matches any URL, is not supported by this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. Note, however, that the pattern "*", which matches any URL, is not supported by this policy.
example_value:
- https://www.example.com/
- https://[*.]example.edu/
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoplayAllowlist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoplayAllowlist.yaml
index 5d91877a..82734234 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoplayAllowlist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/AutoplayAllowlist.yaml
@@ -2,7 +2,7 @@ caption: Allow media autoplay on a allowlist of URL patterns
desc: |-
Setting the policy lets videos play automatically (without user consent) with audio content in $1Google Chrome. If AutoplayAllowed policy is set to True, then this policy has no effect. If AutoplayAllowed is set to False, then any URL patterns set in this policy can still play. If this policy changes while $1Google Chrome is running, it only applies to newly opened tabs.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BookmarkBarEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BookmarkBarEnabled.yaml
index 323662a7..3f1dd346 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BookmarkBarEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/BookmarkBarEnabled.yaml
@@ -10,7 +10,6 @@ features:
dynamic_refresh: true
per_profile: true
future_on:
-- android
- fuchsia
items:
- caption: Enable bookmark bar
@@ -25,6 +24,7 @@ owners:
schema:
type: boolean
supported_on:
+- android:144-
- chrome.*:12-
- chrome_os:12-
tags: []
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
new file mode 100755
index 00000000..22a2f08d
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/CameraSaveLocation.yaml
@@ -0,0 +1,28 @@
+caption: Set location to save Camera app photos.
+desc: |-
+ Sets the directory where pictures and videos captured by the camera are being saved.
+ The user can't change it and the photos are always saved to the defined directory.
+
+ The policy uses same format as DownloadDirectory policy.
+ The location could be set to either local filesystem or Google Drive (with '${google_drive}' prefix) or Microsoft OneDrive (with '${microsoft_onedrive}' prefix).
+ If the policy is set to empty string, it'll save the photos in the default "My files/Camera" directory.
+ See a list of variables you can use ( https://www.chromium.org/administrators/policy-list-3/user-data-directory-variables ).
+
+ Leaving the policy unset means $2Google ChromeOS uses the default "My files/Camera" directory to save photos.
+example_value: ${google_drive}/Camera
+features:
+ can_be_recommended: false
+ dynamic_refresh: true
+ per_profile: false
+owners:
+- file://components/policy/OWNERS
+- poromov@chromium.org
+- aidazolic@google.com
+- orko@igalia.com
+schema:
+ type: string
+future_on:
+- chrome_os
+tags:
+- local-data-access
+type: string
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DataControlsRules.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DataControlsRules.yaml
index 6d5ef024..edec04f3 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DataControlsRules.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DataControlsRules.yaml
@@ -189,11 +189,10 @@ schema:
type: object
type: object
type: array
-future_on:
-- ios
supported_on:
- android:140-
- chrome.*:128-
- chrome_os:128-
+- ios:144-
tags: []
type: dict
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceUserInitiatedFlexSystemFirmwareUpdatesEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceUserInitiatedFlexSystemFirmwareUpdatesEnabled.yaml
index a1c36eba..a97353b9 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceUserInitiatedFlexSystemFirmwareUpdatesEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceUserInitiatedFlexSystemFirmwareUpdatesEnabled.yaml
@@ -10,8 +10,8 @@ desc: |-
Setting the policy to Disabled or leaving it unset prevents all users from applying firmware updates.
This policy applies to firmware for internal component firmware updates for Google ChromeOS Flex devices. Internal component firmware updates for $2Google ChromeOS devices are not affected by this policy.
-future_on:
-- chrome_os
+supported_on:
+- chrome_os:144-
device_only: true
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ExemptDomainFileTypePairsFromFileTypeDownloadWarnings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ExemptDomainFileTypePairsFromFileTypeDownloadWarnings.yaml
index 254b1b55..a2a832b5 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ExemptDomainFileTypePairsFromFileTypeDownloadWarnings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ExemptDomainFileTypePairsFromFileTypeDownloadWarnings.yaml
@@ -9,7 +9,7 @@ desc: |-
If you enable this policy:
- * The URL pattern should be formatted according to https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ * The URL pattern should be formatted according to https://chromeenterprise.google/policies/url-patterns/.
* The file type extension entered must be in lower-cased ASCII. The leading separator should not be included when listing the file type extension, so list "jnlp" should be used instead of ".jnlp".
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/FileOrDirectoryPickerWithoutGestureAllowedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/FileOrDirectoryPickerWithoutGestureAllowedForOrigins.yaml
index 3e92dfe5..9be3e45c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/FileOrDirectoryPickerWithoutGestureAllowedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/FileOrDirectoryPickerWithoutGestureAllowedForOrigins.yaml
@@ -11,7 +11,7 @@ desc: |-
called without prior user gesture.
For detailed information on valid url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is
+ https://chromeenterprise.google/policies/url-patterns/. * is
not an accepted value for this policy.
If this policy is unset, all origins will require a prior user gesture to call
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/KioskBrowserPermissionsAllowedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/KioskBrowserPermissionsAllowedForOrigins.yaml
index 98ccd0b5..8df8dcb7 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/KioskBrowserPermissionsAllowedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/KioskBrowserPermissionsAllowedForOrigins.yaml
@@ -2,7 +2,7 @@ caption: Allow origins to access browser permissions available to the web kiosk
desc: |-
Setting the policy allows listed additional origins to access browser permissions (e.g. geo location, camera, microphone) which are already available to the web kiosk applications install origin.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is not an accepted value for this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. * is not an accepted value for this policy.
example_value:
- https://www.google.com
- '[*.]example.com'
@@ -21,4 +21,4 @@ schema:
supported_on:
- chrome_os:129-
tags: []
-type: list
\ No newline at end of file
+type: list
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ParcelTrackingEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ParcelTrackingEnabled.yaml
index 9f63d55c..f2d3f444 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ParcelTrackingEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ParcelTrackingEnabled.yaml
@@ -1,6 +1,6 @@
owners:
- hiramahmood@google.com
-- file://ios/chrome/browser/parcel_tracking/OWNERS
+- bling-pandamonium@google.com
caption: Allows users to track their packages on Chrome.
deprecated: true
desc: |-
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/PdfXfaFormsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/PdfXfaFormsEnabled.yaml
new file mode 100755
index 00000000..330b385a
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/PdfXfaFormsEnabled.yaml
@@ -0,0 +1,30 @@
+caption: "Enable support for XFA forms in PDF documents"
+default: null
+desc: |-
+ Controls whether the PDF viewer in $1Google Chrome supports XFA forms in PDF documents.
+
+ If this policy is set to True, support for XFA forms is enabled.
+ If this policy is set to False, support for XFA forms is disabled.
+ If this policy is not set, the default Chrome behavior is used, which may also be influenced by the `#pdf-xfa-forms` flag. When this policy is set, it takes precedence over the `#pdf-xfa-forms` flag.
+
+example_value: false
+features:
+ dynamic_refresh: true
+ per_profile: true
+items:
+ - caption: PDF XFA Forms support disabled
+ value: false
+ - caption: PDF XFA Forms support enabled
+ value: true
+ - caption: Use the default Chrome browser behavior
+ value: null
+owners:
+ - aidazolic@chromium.org
+ - thestig@chromium.org
+ - file://pdf/OWNERS
+schema:
+ type: boolean
+supported_on:
+ - chrome_os:144-
+tags: []
+type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SSLErrorOverrideAllowedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SSLErrorOverrideAllowedForOrigins.yaml
index 19d66695..5aeddcba 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SSLErrorOverrideAllowedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SSLErrorOverrideAllowedForOrigins.yaml
@@ -6,7 +6,7 @@ desc: |-
Leaving the policy unset means SSLErrorOverrideAllowed applies for all sites.
- For detailed information on valid input patterns, please see https://cloud.google.com/docs/chrome-enterprise/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.
+ 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.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ScreenCaptureWithoutGestureAllowedForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ScreenCaptureWithoutGestureAllowedForOrigins.yaml
index 5136d0ed..7e2e7dde 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ScreenCaptureWithoutGestureAllowedForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/ScreenCaptureWithoutGestureAllowedForOrigins.yaml
@@ -9,7 +9,7 @@ desc: |-
called without prior user gesture.
For detailed information on valid url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is
+ https://chromeenterprise.google/policies/url-patterns/. * is
not an accepted value for this policy.
If this policy is unset, all origins will require a prior user gesture to call
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SilentPrintingEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SilentPrintingEnabled.yaml
index 9b9935ca..2c8d1739 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SilentPrintingEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SilentPrintingEnabled.yaml
@@ -24,8 +24,8 @@ owners:
- orko@igalia.com
schema:
type: boolean
-future_on:
-- chrome_os
-- chrome.*
+supported_on:
+- chrome_os:144-
+- chrome.*:144-
tags: []
type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/StaticStorageQuotaEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/StaticStorageQuotaEnabled.yaml
new file mode 100755
index 00000000..82020f5c
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/StaticStorageQuotaEnabled.yaml
@@ -0,0 +1,29 @@
+caption: Control whether storage quota APIs will return static values
+default: null
+desc: |-
+ When enabled, the storage quota APIs will return a static value equal to usage + min(10 GiB, disk rounded up to the nearest 1 GiB).
+ When disabled, the storage quota APIs will generally return a dynamic value proportional to the total space available on the device, regardless of usage.
+ If unset, the predictable reported storage quota feature launch or flags will determine behavior.
+ Sites with unlimited storage permissions are unaffected by this setting. Enforced quota is also unaffected.
+example_value: true
+features:
+ dynamic_refresh: false
+ per_profile: true
+items:
+- caption: Storage quota APIs return static values.
+ value: true
+- caption: Storage quota APIs return dynamic values.
+ value: false
+- caption: Storage quota APIs return values based on feature launch process.
+ value: null
+owners:
+- bcl@google.com
+- file://storage/OWNERS
+schema:
+ type: boolean
+supported_on:
+- chrome_os:144-
+- chrome.*:144-
+- android:144-
+tags: []
+type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SubAppsAPIsAllowedWithoutGestureAndAuthorizationForOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SubAppsAPIsAllowedWithoutGestureAndAuthorizationForOrigins.yaml
index d1303c49..93700f5a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SubAppsAPIsAllowedWithoutGestureAndAuthorizationForOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SubAppsAPIsAllowedWithoutGestureAndAuthorizationForOrigins.yaml
@@ -13,7 +13,7 @@ desc: |-
called without prior user gesture, nor asking the user for confirmation.
For detailed information on valid url patterns, please see
- https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. * is
+ https://chromeenterprise.google/policies/url-patterns/. * is
not an accepted value for this policy.
If this policy is unset, all origins will require a prior user gesture to call
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SyncTypesListDisabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SyncTypesListDisabled.yaml
index 41331df8..35832bbf 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SyncTypesListDisabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/SyncTypesListDisabled.yaml
@@ -2,7 +2,7 @@ caption: List of types that should be excluded from synchronization
desc: |-
If this policy is set all specified data types will be excluded from synchronization both for Chrome Sync as well as for roaming profile synchronization. This can be beneficial to reduce the size of the roaming profile or limit the type of data uploaded to the Chrome Sync Servers.
- The current data types for this policy are: "apps", "autofill", "bookmarks", "extensions", "preferences", "passwords", "payments", "productComparison", "readingList", "savedTabGroups", "tabs", "themes", "typedUrls", "wifiConfigurations". Those names are case sensitive!
+ The current data types for this policy are: "apps", "autofill", "bookmarks", "extensions", "preferences", "passwords", "payments", "productComparison", "readingList", "tabs", "themes", "typedUrls", "wifiConfigurations". Those names are case sensitive!
Notes: Dynamic Policy Refresh is supported only in $1Google Chrome version 123 and later. Disabling "autofill" also disables "payments". "typedUrls" refers to all browsing history.
example_value:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/TranslatorAPIAllowed.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/TranslatorAPIAllowed.yaml
index ec87a17f..06486c7c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/TranslatorAPIAllowed.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/TranslatorAPIAllowed.yaml
@@ -21,5 +21,6 @@ supported_on:
- chrome.win:132-
- chrome.mac:132-
- chrome.linux:132-
+- chrome_os:144-
tags: []
type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/VideoCaptureAllowedUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/VideoCaptureAllowedUrls.yaml
index 4bcc58ca..c8588ba0 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/VideoCaptureAllowedUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Miscellaneous/VideoCaptureAllowedUrls.yaml
@@ -2,7 +2,7 @@ caption: URLs that will be granted access to video capture devices without promp
desc: |-
Setting the policy means you specify the URL list whose patterns get matched to the security origin of the requesting URL. A match grants access to video capture devices without prompt
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Note, however, that the pattern "*", which matches any URL, is not supported by this policy.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. Note, however, that the pattern "*", which matches any URL, is not supported by this policy.
example_value:
- https://www.example.com/
- https://[*.]example.edu/
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerBlocklist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerBlocklist.yaml
index 4ca01dac..886cc25d 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerBlocklist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerBlocklist.yaml
@@ -8,6 +8,8 @@ desc: |-
If a domain is not present in the list, the Password Manager will be available for it.
If the policy is unset, the Password Manager will be available for all domains.
+
+ For detailed information on valid URL patterns, please see https://support.google.com/chrome/a?p=url_blocklist_filter_format.
example_value:
- example.com
- login.example.com
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdMeasurementEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdMeasurementEnabled.yaml
index 6ed00542..d5b7384b 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdMeasurementEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdMeasurementEnabled.yaml
@@ -1,5 +1,6 @@
caption: Choose whether the Privacy Sandbox ad measurement setting can be disabled
default: true
+deprecated: true
desc: |-
A policy to control whether the Privacy Sandbox Ad measurement setting can be disabled for your users.
@@ -7,6 +8,8 @@ desc: |-
If you set this policy to Enabled or keep it unset, your users will be able to turn on or off the Privacy Sandbox Ad measurement setting on their device.
Setting this policy requires setting the PrivacySandboxPromptEnabled policy to Disabled.
+
+ This policy is deprecated as of $1Google Chrome version 144 with the deprecation of the Attribution Reporting API.
example_value: false
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdTopicsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdTopicsEnabled.yaml
index af33b392..4fa45851 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdTopicsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxAdTopicsEnabled.yaml
@@ -1,5 +1,6 @@
caption: Choose whether the Privacy Sandbox Ad topics setting can be disabled
default: true
+deprecated: true
desc: |-
A policy to control whether the Privacy Sandbox Ad topics setting can be disabled for your users.
@@ -7,6 +8,8 @@ desc: |-
If you set this policy to Enabled or keep it unset, your users will be able to turn on or off the Privacy Sandbox Ad topics setting on their device.
Setting this policy requires setting the PrivacySandboxPromptEnabled policy to Disabled.
+
+ This policy is deprecated as of $1Google Chrome version 144 with the deprecation of Topics API.
example_value: false
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxSiteEnabledAdsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxSiteEnabledAdsEnabled.yaml
index cabbc6f3..a1bd3f7c 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxSiteEnabledAdsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivacySandbox/PrivacySandboxSiteEnabledAdsEnabled.yaml
@@ -1,5 +1,6 @@
caption: Choose whether the Privacy Sandbox Site-suggested ads setting can be disabled
default: true
+deprecated: true
desc: |-
A policy to control whether the Privacy Sandbox Site-suggested ads setting can be disabled for your users.
@@ -7,6 +8,8 @@ desc: |-
If you set this policy to Enabled or keep it unset, your users will be able to turn on or off the Privacy Sandbox Site-suggested ads setting on their device.
Setting this policy requires setting the PrivacySandboxPromptEnabled policy to Disabled.
+
+ This policy is deprecated as of $1Google Chrome version 144 with the deprecation of the Protected Audience API.
example_value: false
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/InsecurePrivateNetworkRequestsAllowedForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/InsecurePrivateNetworkRequestsAllowedForUrls.yaml
index 791d18b3..2bc43f5b 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/InsecurePrivateNetworkRequestsAllowedForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/InsecurePrivateNetworkRequestsAllowedForUrls.yaml
@@ -8,7 +8,7 @@ desc: |-
For origins not covered by the patterns specified here, the global default value will be used either from the InsecurePrivateNetworkRequestsAllowed policy, if it is set, or the user's personal configuration otherwise.
- For detailed information on valid URL patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ For detailed information on valid URL patterns, please see https://chromeenterprise.google/policies/url-patterns/.
example_value:
- http://www.example.com:8080
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/PrivateNetworkAccessRestrictionsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/PrivateNetworkAccessRestrictionsEnabled.yaml
index 51846203..5c0af16d 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/PrivateNetworkAccessRestrictionsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/PrivateNetworkRequestSettings/PrivateNetworkAccessRestrictionsEnabled.yaml
@@ -1,6 +1,6 @@
owners:
- phao@chromium.org
-- file://chrome/browser/private_network_access/OWNERS
+- chrome-product-security@google.com
caption: Specifies whether to apply restrictions to requests to more-private
network endpoints
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/EnableProxyOverrideRulesForAllUsers.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/EnableProxyOverrideRulesForAllUsers.yaml
new file mode 100755
index 00000000..12673a5c
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/EnableProxyOverrideRulesForAllUsers.yaml
@@ -0,0 +1,28 @@
+caption: Controls which managed users can set the ProxyOverrideRules policy.
+desc:
+ When this policy is set to 0 or left unset, the ProxyOverrideRules policy will only be applied at the user scope for affiliated users.
+
+ When this policy is set to 1, the ProxyOverrideRules policy will be applied at the user scope, even that user is unaffiliated.
+
+ When this policy is set to 2, the ProxyOverrideRules policy will never be applied when its source is a user.
+
+example_value: 1
+default: 0
+features:
+ dynamic_refresh: true
+ per_profile: false
+future_on:
+- chrome.*
+owners:
+- seblalancette@chromium.org
+- domfc@chromium.org
+- cbe-eng@google.com
+schema:
+ enum:
+ - 0
+ - 1
+ - 2
+ type: integer
+tags:
+- system-security
+type: int
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/ProxyOverrideRules.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/ProxyOverrideRules.yaml
index 7255cfdd..885c16b6 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/ProxyOverrideRules.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/ProxyOverrideRules.yaml
@@ -4,37 +4,58 @@ desc: |-
Leaving the policy unset has no effect on other proxy policies or user settings.
- When the browser needs to decide what proxy to use, entries of the ProxyOverrideRules policy are evaluated in sequence until an entry has a match for at least one of the URL hosts in DestinationMatchers and if all entries in Conditions are met. The value in ProxyChain will be used as a proxy for such a match. If no match is found, proxy settings will fall back to what is set in the ProxySettings policy.
+ When the browser needs to decide what proxy to use, entries of the ProxyOverrideRules policy are evaluated in sequence until an entry satisfies all the following points:
+ * At least one of the URL patterns in DestinationMatchers is matched.
+ * None of the URL patterns in ExcludeDestinationMatchers is matched.
+ * If Conditions is specified and is a non-empty list, all conditions represented by its entries are satisfied.
+ The value in ProxyList will be used as a proxy for such a match. If no match is found, proxy settings will fall back to what is set in the ProxySettings policy.
- The ProxyChain field entries correspond to string values of PAC files such as:
+ The URL patterns supported by DestinationMatchers and ExcludeDestinationMatchers are documented at https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md#proxy-config-url-patterns.
+
+ The ProxyList field entries correspond to string values of PAC files such as:
* DIRECT
* PROXY host:port
* HTTPS host:port
- The first reachable entry will be used as a proxy.
+ * SOCKS4 host:port
+ * SOCKS5 host:port
+ Alternatively, URL-like proxy specifiers can be used directly to specify the proxy, for example:
+ * http://host:port
+ * https://host:port
+ * socks4://host:port
+ * socks5://host:port
+ The first reachable entry in the list will be used as a proxy. Invalid entries in the list are ignored.
The Conditions field contains a list of conditions that must all be met for its override rule to be used to decide the proxy to use. If it is left unset, the entry will be used as long as at least one host in DestinationMatchers is matched.
- The DnsProbe condition checks if the provided DNS Host is able to resolve to an IP address. If the value of Result is "resolves" then the condition is considered as met. If the value is instead set to not_found, then the condition is considered met if the resolution failed.
+ The DnsProbe condition checks if the provided DNS Host is able to resolve to an IP address. It must contain a host (e.g. example.com), and optionally a scheme or a port (e.g. https://example.com, example.com:123, https://example.com:123). If a secure scheme is used (e.g. https), DNS lookup may also request the HTTPS record (see RFC 9460 for more details). If the value of Result is "resolved" then the condition is considered as met. If the value is instead set to not_found, then the condition is considered met if the resolution failed.
example_value:
- DestinationMatchers:
- 'https://some.app.com'
- 'https://other.app.org'
- ProxyChain:
+ ProxyList:
- 'HTTPS proxy.app:443'
- 'DIRECT'
Conditions:
- DnsProbe:
Host: 'corp.ads'
- Result: "resolves"
+ Result: "resolved"
+- DestinationMatchers:
+ - 'https://google.com'
+ ExcludeDestinationMatchers:
+ - 'https://mail.google.com'
+ ProxyList:
+ - 'HTTPS proxy.app:443'
+ - 'DIRECT'
features:
cloud_only: true
dynamic_refresh: true
per_profile: true
future_on:
-- chrome.*
-- chrome_os
- android
+supported_on:
+- chrome.*:144-
+- chrome_os:144-
owners:
- seblalancette@chromium.org
- domfc@chromium.org
@@ -48,7 +69,11 @@ schema:
type: array
items:
type: string
- ProxyChain:
+ ExcludeDestinationMatchers:
+ type: array
+ items:
+ type: string
+ ProxyList:
type: array
items:
type: string
@@ -65,7 +90,7 @@ schema:
Result:
type: string
enum:
- - resolves
+ - resolved
- not_found
type: dict
tags:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/policy_atomic_groups.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/policy_atomic_groups.yaml
index a5e22bdd..9af94356 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/policy_atomic_groups.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Proxy/policy_atomic_groups.yaml
@@ -7,3 +7,5 @@ Proxy:
- ProxyPacUrl
- ProxyBypassList
- ProxySettings
+ - ProxyOverrideRules
+ - EnableProxyOverrideRulesForAllUsers
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsEnabled.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsEnabled.yaml
index fbb47fa2..58bfcc6f 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsEnabled.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsEnabled.yaml
@@ -1,5 +1,6 @@
caption: Enable Related Website Sets
default: true
+deprecated: true
desc: |-
This policy allows to control the Related Website Sets feature enablement.
@@ -8,6 +9,8 @@ desc: |-
When this policy is unset or set to True, the Related Website Sets feature is enabled.
When this policy is set to False, the Related Website Sets feature is disabled.
+
+ This policy is deprecated as of $1Google Chrome version 144 with the deprecation of Related Website Sets.
example_value: false
features:
dynamic_refresh: true
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsOverrides.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsOverrides.yaml
index 82bcfce5..c47d056f 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsOverrides.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/RelatedWebsiteSets/RelatedWebsiteSetsOverrides.yaml
@@ -1,4 +1,5 @@
caption: Override Related Website Sets.
+deprecated: true
default: {}
desc: |-
This policy provides a way to override the list of sets the browser uses for Related Website Sets features.
@@ -38,6 +39,8 @@ desc: |-
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 policy is deprecated as of $1Google Chrome version 144 with the deprecation of Related Website Sets.
example_value:
additions:
- associatedSites:
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/SameOriginTabCaptureAllowedByOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/SameOriginTabCaptureAllowedByOrigins.yaml
index 66715692..6fc764f9 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/SameOriginTabCaptureAllowedByOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/SameOriginTabCaptureAllowedByOrigins.yaml
@@ -8,7 +8,7 @@ desc: |-
If a site matches a URL pattern in this policy, the following policies will not be considered: TabCaptureAllowedByOrigins, WindowCaptureAllowedByOrigins, ScreenCaptureAllowedByOrigins, ScreenCaptureAllowed.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. This policy only matches based on origin, so any path in the URL pattern is ignored.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/ScreenCaptureAllowedByOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/ScreenCaptureAllowedByOrigins.yaml
index 1d00c1ab..455cc6bb 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/ScreenCaptureAllowedByOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/ScreenCaptureAllowedByOrigins.yaml
@@ -8,7 +8,7 @@ desc: |-
If a site matches a URL pattern in this policy, the ScreenCaptureAllowed will not be considered.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. This policy only matches based on origin, so any path in the URL pattern is ignored.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/TabCaptureAllowedByOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/TabCaptureAllowedByOrigins.yaml
index 33106777..eb2a8ec7 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/TabCaptureAllowedByOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/TabCaptureAllowedByOrigins.yaml
@@ -10,7 +10,7 @@ desc: |-
If a site matches a URL pattern in this policy, the following policies will not be considered: WindowCaptureAllowedByOrigins, ScreenCaptureAllowedByOrigins, ScreenCaptureAllowed.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. This policy only matches based on origin, so any path in the URL pattern is ignored.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/WindowCaptureAllowedByOrigins.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/WindowCaptureAllowedByOrigins.yaml
index 9f1a4036..f11931aa 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/WindowCaptureAllowedByOrigins.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/ScreenCapture/WindowCaptureAllowedByOrigins.yaml
@@ -8,7 +8,7 @@ desc: |-
If a site matches a URL pattern in this policy, the following policies will not be considered: ScreenCaptureAllowedByOrigins, ScreenCaptureAllowed.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/. This policy only matches based on origin, so any path in the URL pattern is ignored.
example_value:
- https://www.example.com
- '[*.]example.edu'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/DeviceLoginScreenAutoSelectCertificateForUrls.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/DeviceLoginScreenAutoSelectCertificateForUrls.yaml
index 1f5f6132..e5cd2461 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/DeviceLoginScreenAutoSelectCertificateForUrls.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/DeviceLoginScreenAutoSelectCertificateForUrls.yaml
@@ -20,7 +20,7 @@ desc: |-
If this policy is left not set, no auto-selection will be done for any site.
- For detailed information on valid url patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns.
+ For detailed information on valid url patterns, please see https://chromeenterprise.google/policies/url-patterns/.
device_only: true
example_value:
- '{"pattern":"https://www.example.com","filter":{"ISSUER":{"CN":"certificate issuer
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/LocalAuthFactors.yaml
new file mode 100755
index 00000000..671fd683
--- /dev/null
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactors.yaml
@@ -0,0 +1,48 @@
+caption: Configure allowed local auth factors
+desc: |-
+ Setting the policy controls which local authentication factors can be used for both login and reauthentication on $2Google ChromeOS.
+
+ To allow:
+
+ * Every local authentication factor, use ["ALL"] (includes factors added in the future).
+
+ * Only PIN, use ["PIN"].
+
+ * Only Local Passwords, use ["LOCAL_PASSWORD"].
+
+ If the policy is unset or set to an empty list, no local auth factors are available for managed users.
+example_value:
+- PIN
+features:
+ dynamic_refresh: true
+ per_profile: false
+items:
+- caption: All
+ name: ALL
+ value: ALL
+- caption: PIN
+ name: PIN
+ value: PIN
+- caption: Local Password
+ name: LOCAL_PASSWORD
+ value: LOCAL_PASSWORD
+owners:
+- fahadmansoor@google.com
+- ghostbusters@google.com
+- cros-lurs@google.com
+# LINT.IfChange(LocalAuthFactorsPolicySchema)
+schema:
+ items:
+ enum:
+ - ALL
+ - PIN
+ - LOCAL_PASSWORD
+ type: string
+ type: array
+# LINT.ThenChange(//chromeos/ash/components/osauth/public/auth_policy_utils.cc:LocalAuthFactorsPolicyMap)
+
+future_on:
+- chrome_os
+
+tags: []
+type: string-enum-list
\ No newline at end of file
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactorsComplexity.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactorsComplexity.yaml
index 6cfae3e8..a205fe2a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactorsComplexity.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/LocalAuthFactorsComplexity.yaml
@@ -23,7 +23,7 @@ future_on:
features:
dynamic_refresh: true
- per_profile: true
+ per_profile: false
type: int-enum
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/ProfileSeparationSettings.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/ProfileSeparationSettings.yaml
index 6e799c52..560f23aa 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/ProfileSeparationSettings.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Signin/ProfileSeparationSettings.yaml
@@ -26,6 +26,7 @@ features:
cloud_only: true
dynamic_refresh: true
per_profile: true
+ user_only: true
type: int-enum
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/HomepageIsNewTabPage.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/HomepageIsNewTabPage.yaml
index d579f4c1..dc8f94f7 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/HomepageIsNewTabPage.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/HomepageIsNewTabPage.yaml
@@ -14,7 +14,6 @@ features:
dynamic_refresh: true
per_profile: true
future_on:
-- android
- fuchsia
items:
- caption: Use New Tab Page as homepage
@@ -31,5 +30,6 @@ sensitive: true
supported_on:
- chrome.*:8-
- chrome_os:11-
+- android:144-
tags: []
type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/ShowHomeButton.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/ShowHomeButton.yaml
index edeefdd3..ba59d6bf 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/ShowHomeButton.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/Startup/ShowHomeButton.yaml
@@ -10,7 +10,6 @@ features:
dynamic_refresh: true
per_profile: true
future_on:
-- android
- fuchsia
items:
- caption: Show the Home button on the toolbar
@@ -27,5 +26,6 @@ schema:
supported_on:
- chrome.*:8-
- chrome_os:11-
+- android:144-
tags: []
type: main
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteActivityAllowlist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteActivityAllowlist.yaml
index 25950ea6..e2b0cd8a 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteActivityAllowlist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteActivityAllowlist.yaml
@@ -5,7 +5,7 @@ desc: |-
Setting the policy controls website URL opened and closed event reporting for allowlisted URLs.
If unset, no website events will be reported.
- For detailed information on valid URL patterns, see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Only HTTP and HTTPS URL schemes are allowed for this policy.
+ For detailed information on valid URL patterns, see https://chromeenterprise.google/policies/url-patterns/. Only HTTP and HTTPS URL schemes are allowed for this policy.
example_value:
- 'example.com'
- 'https://ssl.server.com'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteTelemetryAllowlist.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteTelemetryAllowlist.yaml
index ca4522c1..0a0dcde8 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteTelemetryAllowlist.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/UserAndDeviceReporting/ReportWebsiteTelemetryAllowlist.yaml
@@ -5,7 +5,7 @@ desc: |-
Setting the policy controls website telemetry reporting for allowlisted URLs.
If unset, no website telemetry will be reported.
- For detailed information on valid URL patterns, see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Only HTTP and HTTPS URL schemes are allowed for this policy.
+ For detailed information on valid URL patterns, see https://chromeenterprise.google/policies/url-patterns/. Only HTTP and HTTPS URL schemes are allowed for this policy.
example_value:
- 'example.com'
- 'https://ssl.server.com'
diff --git a/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcIPHandlingUrl.yaml b/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcIPHandlingUrl.yaml
index ba2b4d63..9aa58e54 100755
--- a/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcIPHandlingUrl.yaml
+++ b/tools/under-control/src/components/policy/resources/templates/policy_definitions/WebRtc/WebRtcIPHandlingUrl.yaml
@@ -4,7 +4,7 @@ desc: |-
It accepts a list of URL patterns and handling type pairs. The URL patterns are checked in order and the first match will configure which handling is used by WebRTC for the domain. When the URL of the current document is not matched against any entry, it uses the configuration set by the policy WebRtcIPHandling.
- For detailed information on valid input patterns, please see https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
+ For detailed information on valid input patterns, please see https://chromeenterprise.google/policies/url-patterns/. Wildcards, *, are allowed. This policy only matches based on origin, so any path in the URL pattern is ignored.
Valid handling values:
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 4c901b77..dc9e636c 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
@@ -133,7 +133,6 @@
#include "content/browser/wake_lock/wake_lock_context_host.h"
#include "content/browser/web_contents/file_chooser_impl.h"
#include "content/browser/web_contents/java_script_dialog_commit_deferring_condition.h"
-#include "content/browser/web_contents/partitioned_popins_controller.h"
#include "content/browser/web_contents/slow_web_preference_cache.h"
#include "content/browser/web_contents/web_contents_view.h"
#include "content/browser/web_contents/web_contents_view_child_frame.h"
@@ -150,6 +149,7 @@
#include "content/public/browser/context_menu_params.h"
#include "content/public/browser/device_service.h"
#include "content/public/browser/disallow_activation_reason.h"
+#include "content/public/browser/document_picture_in_picture_window_controller.h"
#include "content/public/browser/download_manager.h"
#include "content/public/browser/file_select_listener.h"
#include "content/public/browser/focused_node_details.h"
@@ -161,6 +161,7 @@
#include "content/public/browser/navigation_details.h"
#include "content/public/browser/navigation_throttle_registry.h"
#include "content/public/browser/permission_descriptor_util.h"
+#include "content/public/browser/picture_in_picture_window_controller.h"
#include "content/public/browser/preload_pipeline_info.h"
#include "content/public/browser/preview_cancel_reason.h"
#include "content/public/browser/render_widget_host_iterator.h"
@@ -241,10 +242,12 @@
#include "base/android/device_info.h"
#include "base/android/scoped_service_binding_batch.h"
#include "base/check.h"
+#include "components/viz/common/gpu/raster_context_provider.h"
#include "content/browser/android/java_interfaces_impl.h"
#include "content/browser/android/nfc_host.h"
#include "content/browser/android/selection/selection_popup_controller.h"
#include "content/browser/navigation_transitions/back_forward_transition_animation_manager_android.h"
+#include "content/browser/renderer_host/compositor_impl_android.h"
#include "content/browser/web_contents/web_contents_android.h"
#include "content/browser/web_contents/web_contents_view_android.h"
#include "content/public/browser/android/child_process_importance.h"
@@ -271,11 +274,6 @@
#include "ui/wm/core/window_util.h"
#endif
-#if !BUILDFLAG(IS_ANDROID)
-#include "content/public/browser/document_picture_in_picture_window_controller.h"
-#include "content/public/browser/picture_in_picture_window_controller.h"
-#endif // !BUILDFLAG(IS_ANDROID)
-
#if BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_IOS_TVOS)
#include "content/browser/ios/nfc_host.h"
#endif
@@ -885,78 +883,6 @@ bool WebContentsImpl::IsPopup() const {
return is_popup_;
}
-bool WebContentsImpl::IsPartitionedPopin() const {
- // The feature must be enabled if a popin was opened.
- CHECK(base::FeatureList::IsEnabled(blink::features::kPartitionedPopins) ||
- (!partitioned_popin_opener_ && !partitioned_popin_opener_properties_));
-
- // We must check local data and not `partitioned_popin_opener_` as it could
- // go away before this popin closes.
- return !!partitioned_popin_opener_properties_;
-}
-
-const PartitionedPopinOpenerProperties&
-WebContentsImpl::GetPartitionedPopinOpenerProperties() const {
- // This function is only usable if we are in a popin.
- CHECK(IsPartitionedPopin());
-
- return *partitioned_popin_opener_properties_;
-}
-
-RenderFrameHostImpl* WebContentsImpl::GetPartitionedPopinOpener(
- base::PassKey) const {
- // A popin cannot open a popin so at most one could be set at a time.
- CHECK(!partitioned_popin_opener_ || !opened_partitioned_popin_);
-
- // The feature must be enabled if the popin opener is set.
- CHECK(base::FeatureList::IsEnabled(blink::features::kPartitionedPopins) ||
- !partitioned_popin_opener_);
-
- return partitioned_popin_opener_.get();
-}
-
-void WebContentsImpl::ClearPartitionedPopinOpenerForTesting() {
- partitioned_popin_opener_.reset();
-}
-
-WebContents* WebContentsImpl::GetOpenedPartitionedPopin() const {
- // A popin cannot open a popin so at most one could be set at a time.
- CHECK(!IsPartitionedPopin() || !opened_partitioned_popin_);
-
- // The feature must be enabled if a popin was opened.
- CHECK(base::FeatureList::IsEnabled(blink::features::kPartitionedPopins) ||
- !opened_partitioned_popin_);
-
- return opened_partitioned_popin_.get();
-}
-
-GURL WebContentsImpl::GetPartitionedPopinEmbedderOrigin(
- base::PassKey) const {
- return GetPartitionedPopinEmbedderOriginImpl();
-}
-
-GURL WebContentsImpl::GetPartitionedPopinEmbedderOriginForTesting() const {
- return GetPartitionedPopinEmbedderOriginImpl();
-}
-
-GURL WebContentsImpl::GetPartitionedPopinEmbedderOriginImpl() const {
- // This should only be checked for popins.
- CHECK(IsPartitionedPopin());
-
- // If the opener is still around and has not navigated then we want to use the
- // embedder origin it would have used for its own iframe.
- if (partitioned_popin_opener_ &&
- partitioned_popin_opener_->GetMainFrame()->GetLastCommittedOrigin() ==
- partitioned_popin_opener_properties_->top_frame_origin) {
- return PermissionUtil::GetLastCommittedOriginAsURL(
- partitioned_popin_opener_->GetMainFrame());
- }
- // If we end up here there was a race condition between a permissions check
- // and this popin being closed or navigated, so we should fallback to using
- // the origin we partitioned by.
- return partitioned_popin_opener_properties_->top_frame_origin.GetURL();
-}
-
WindowOpenDisposition WebContentsImpl::GetOriginalWindowOpenDisposition()
const {
return original_window_open_disposition_;
@@ -2590,7 +2516,13 @@ SiteInstanceImpl* WebContentsImpl::GetSiteInstance() {
}
bool WebContentsImpl::IsLoading() {
- return primary_frame_tree_.IsLoadingIncludingInnerFrameTrees();
+ return primary_frame_tree_.IsLoadingIncludingInnerFrameTrees(
+ /*exclude_ad_subframes=*/false);
+}
+
+bool WebContentsImpl::IsLoadingExcludingAdSubframes() const {
+ return primary_frame_tree_.IsLoadingIncludingInnerFrameTrees(
+ /*exclude_ad_subframes=*/true);
}
double WebContentsImpl::GetLoadProgress() {
@@ -3988,6 +3920,19 @@ void WebContentsImpl::OnWebPreferencesChanged() {
}
}
}
+
+ const bool enable_touchpad_overscroll_history_navigation_changed =
+ (enable_touchpad_overscroll_history_navigation_ !=
+ web_preferences_->enable_touchpad_overscroll_history_navigation);
+ enable_touchpad_overscroll_history_navigation_ =
+ web_preferences_->enable_touchpad_overscroll_history_navigation;
+ if (enable_touchpad_overscroll_history_navigation_changed) {
+ if (auto* rwhv = GetRenderWidgetHostView()) {
+ static_cast(rwhv)
+ ->SetTouchpadOverscrollHistoryNavigation(
+ enable_touchpad_overscroll_history_navigation_);
+ }
+ }
#endif
// Update inner WebContents.
@@ -4822,6 +4767,7 @@ void WebContentsImpl::FullscreenStateChanged(
}
}
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
bool WebContentsImpl::CanUseWindowingControls(
RenderFrameHostImpl* requesting_frame) {
return GetDelegate() &&
@@ -4848,6 +4794,7 @@ void WebContentsImpl::Restore() {
}
GetDelegate()->RestoreFromWebAPI();
}
+#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
// TODO(laurila, crbug.com/1466855): Map into new `ui::DisplayState` enum
// instead of `ui::mojom::WindowShowState`.
@@ -4939,6 +4886,13 @@ void WebContentsImpl::UpdateVisibilityAndNotifyPageAndView(
const bool hide_or_reveal = (visibility_ == Visibility::HIDDEN) !=
(new_visibility == Visibility::HIDDEN);
+ if (new_visibility != visibility_ ||
+ (new_visibility == Visibility::VISIBLE && !did_first_set_visible_)) {
+ SCOPED_UMA_HISTOGRAM_TIMER("WebContentsObserver.OnVisibilityWillChange");
+ observers_.NotifyObservers(&WebContentsObserver::OnVisibilityWillChange,
+ new_visibility);
+ }
+
// Send ax modes to renderers before they start painting if they are being
// revealed.
if (!is_never_composited_ && hide_or_reveal &&
@@ -5003,25 +4957,19 @@ void WebContentsImpl::UpdateVisibilityAndNotifyPageAndView(
SetVisibilityForChildViews(view_is_visible);
- // Make sure to call SetVisibilityAndNotifyObservers(VISIBLE) before notifying
- // the CrossProcessFrameConnector.
- if (new_visibility == Visibility::VISIBLE) {
- if (is_activity) {
- last_active_time_ticks_ = base::TimeTicks::Now();
- last_active_time_ = base::Time::Now();
- }
- SetVisibilityAndNotifyObservers(new_visibility);
- }
-
if (page_visibility == PageVisibilityState::kHidden) {
// Similar to when showing the page, we only hide the page after
// hiding the individual RenderWidgets.
ForEachRenderViewHost(view_mask, update_frame_tree_visibility);
}
- if (new_visibility != Visibility::VISIBLE) {
- SetVisibilityAndNotifyObservers(new_visibility);
+ // Make sure to call SetVisibilityAndNotifyObservers(VISIBLE) before notifying
+ // the CrossProcessFrameConnector.
+ if (is_activity && new_visibility == Visibility::VISIBLE) {
+ last_active_time_ticks_ = base::TimeTicks::Now();
+ last_active_time_ = base::Time::Now();
}
+ SetVisibilityAndNotifyObservers(new_visibility);
if (base::FeatureList::IsEnabled(kUpdateInnerWebContentsVisibility)) {
// Inner WebContents are skipped in ForEachRenderViewHost() above, which
@@ -5326,8 +5274,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
}
web_contents_impl->is_popup_ =
params.disposition == WindowOpenDisposition::NEW_POPUP;
- SetPartitionedPopinOpenerOnNewWindowIfNeeded(web_contents_impl, params,
- opener);
return &web_contents_impl->GetPrimaryFrameTree();
}
@@ -5428,8 +5374,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
auto* new_contents_impl = new_contents.get();
new_contents_impl->is_popup_ =
params.disposition == WindowOpenDisposition::NEW_POPUP;
- SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
- opener);
// Sets the newly created WebContents WindowOpenDisposition.
new_contents_impl->original_window_open_disposition_ = params.disposition;
@@ -7644,6 +7588,36 @@ void WebContentsImpl::NotifyNavigationStateChangedFromController(
NotifyNavigationStateChanged(changed_flags);
}
+#if BUILDFLAG(IS_ANDROID)
+
+scoped_refptr
+WebContentsImpl::GetRasterContextProvider() {
+ auto window = GetTopLevelNativeWindow();
+ if (!window) {
+ return nullptr;
+ }
+
+ auto* compositor = static_cast(window->GetCompositor());
+ if (!compositor) {
+ return nullptr;
+ }
+ return compositor->GetRasterContextProvider();
+}
+
+gfx::ColorSpace WebContentsImpl::GetOutputColorSpace(
+ gfx::ContentColorUsage color_usage,
+ bool needs_alpha) {
+ auto window = GetTopLevelNativeWindow();
+ if (!window) {
+ return gfx::ColorSpace();
+ }
+ return window->GetDisplayWithWindowColorSpace()
+ .GetColorSpaces()
+ .GetOutputColorSpace(color_usage, needs_alpha);
+}
+
+#endif // BUILDFLAG(IS_ANDROID)
+
input::TouchEmulator* WebContentsImpl::GetTouchEmulator(
bool create_if_necessary) {
CHECK(rwh_input_event_router_);
@@ -8211,6 +8185,10 @@ void WebContentsImpl::EnumerateDirectory(
// Do not allow background tab to open file chooser.
return;
}
+ if (!delegate_->IsContentsActive(this)) {
+ // Do not allow inactive tabs to open file chooser.
+ return;
+ }
if (active_file_chooser_) {
// Only allow one active file chooser at one time.
return;
@@ -9783,6 +9761,17 @@ bool WebContentsImpl::MaybeCopyContentAreaAsBitmap(
return GetDelegate()->MaybeCopyContentAreaAsBitmap(std::move(callback));
}
+#if BUILDFLAG(IS_ANDROID)
+bool WebContentsImpl::MaybeCopyContentAreaAsHardwareBuffer(
+ HardwareBufferResultCallback callback) {
+ if (!GetDelegate()) {
+ return false;
+ }
+ return GetDelegate()->MaybeCopyContentAreaAsHardwareBuffer(
+ std::move(callback));
+}
+#endif // BUILDFLAG(IS_ANDROID)
+
bool WebContentsImpl::SupportsForwardTransitionAnimation() {
#if BUILDFLAG(IS_ANDROID)
return supports_forward_transition_animation_;
@@ -10105,8 +10094,7 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
CloseListenerManager::DidChangeFocusedFrame(this);
}
-FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() {
-#if !BUILDFLAG(IS_ANDROID)
+FrameTree* WebContentsImpl::GetOwnedDocumentPictureInPictureFrameTree() {
if (has_picture_in_picture_document_) {
WebContents* picture_in_picture_web_contents =
PictureInPictureWindowController::
@@ -10117,22 +10105,23 @@ FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() {
->GetPrimaryFrameTree());
}
}
-#endif // !BUILDFLAG(IS_ANDROID)
return nullptr;
}
-FrameTree* WebContentsImpl::GetPictureInPictureOpenerFrameTree() {
-#if !BUILDFLAG(IS_ANDROID)
+FrameTree* WebContentsImpl::GetDocumentPictureInPictureOpenerFrameTree() {
if (picture_in_picture_opener_) {
return &(static_cast(picture_in_picture_opener_.get())
->GetPrimaryFrameTree());
}
-#endif // !BUILDFLAG(IS_ANDROID)
return nullptr;
}
+WebContents* WebContentsImpl::GetDocumentPictureInPictureOpener() {
+ return picture_in_picture_opener_.get();
+}
+
void WebContentsImpl::DidCallFocus() {
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::DidCallFocus");
// Any explicit focusing of another window while this WebContents is in
@@ -10180,8 +10169,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
bounds_in_screen);
FocusedNodeDetails details = {frame->has_focused_editable_element(),
- bounds_in_screen, bounds_in_root_view,
- focus_type};
+ bounds_in_screen, focus_type};
BrowserAccessibilityStateImpl::GetInstance()->OnFocusChangedInPage(details);
observers_.NotifyObservers(&WebContentsObserver::OnFocusChangedInPage,
details);
@@ -10767,35 +10755,17 @@ WebContentsImpl::GetFaviconURLs() {
return GetPrimaryMainFrame()->FaviconURLs();
}
-// The Mac and iOS implementations of the next two methods are in
-// web_contents_impl_mac.mm and web_contents_impl_ios.mm.
-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_IOS)
-
void WebContentsImpl::Resize(const gfx::Rect& new_bounds) {
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::Resize");
-#if defined(USE_AURA)
- aura::Window* window = GetNativeView();
- window->SetBounds(gfx::Rect(window->bounds().origin(), new_bounds.size()));
-#elif BUILDFLAG(IS_ANDROID)
- content::RenderWidgetHostView* view = GetRenderWidgetHostView();
- if (view) {
- view->SetBounds(new_bounds);
+ if (view_) {
+ view_->Resize(new_bounds);
}
-#endif
}
gfx::Size WebContentsImpl::GetSize() {
-#if defined(USE_AURA)
- aura::Window* window = GetNativeView();
- return window->bounds().size();
-#elif BUILDFLAG(IS_ANDROID)
- ui::ViewAndroid* view_android = GetNativeView();
- return view_android->GetSizeDIPs();
-#endif
+ return view_ ? view_->GetSize() : gfx::Size();
}
-#endif // !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_IOS)
-
gfx::Rect WebContentsImpl::GetWindowsControlsOverlayRect() const {
return window_controls_overlay_rect_;
}
@@ -12162,7 +12132,8 @@ std::unique_ptr WebContentsImpl::StartPrerendering(
std::move(prerender_navigation_handle_callback),
base::WrapRefCounted(
static_cast(preload_pipeline_info.get())),
- allow_reuse);
+ allow_reuse,
+ /*form_submission=*/false);
#if BUILDFLAG(IS_ANDROID)
attributes.additional_headers = std::move(additional_headers);
#else
@@ -12376,29 +12347,4 @@ void WebContentsImpl::WarmUpAndroidSpareRenderer() {
}
}
-void WebContentsImpl::SetPartitionedPopinOpenerOnNewWindowIfNeeded(
- WebContentsImpl* new_window,
- const mojom::CreateNewWindowParams& params,
- RenderFrameHostImpl* opener) {
- // We should not take action if the feature is disabled.
- if (!base::FeatureList::IsEnabled(blink::features::kPartitionedPopins)) {
- return;
- }
-
- // All popins should be counted as popups to ensure proper UX treatment.
- if (!params.features->is_partitioned_popin || !new_window->is_popup_) {
- return;
- }
-
- PartitionedPopinsController::CreateForWebContents(
- static_cast(opener->delegate()));
- new_window->partitioned_popin_opener_ = opener->GetWeakPtr();
- new_window->partitioned_popin_opener_properties_ =
- PartitionedPopinOpenerProperties(
- opener->GetMainFrame()->GetLastCommittedOrigin(),
- opener->ComputeSiteForCookies(),
- opener->GetStorageKey().ancestor_chain_bit());
- opened_partitioned_popin_ = new_window->GetWeakPtr();
-}
-
} // namespace content
diff --git a/tools/under-control/src/content/child/runtime_features.cc b/tools/under-control/src/content/child/runtime_features.cc
index 49f75c34..ee190396 100755
--- a/tools/under-control/src/content/child/runtime_features.cc
+++ b/tools/under-control/src/content/child/runtime_features.cc
@@ -191,8 +191,6 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(features::kEnableAccessibilityAriaVirtualContent)},
{wf::EnableAccessibilityUseAXPositionForDocumentMarkers,
raw_ref(features::kUseAXPositionForDocumentMarkers)},
- {wf::EnableAOMAriaRelationshipProperties,
- raw_ref(features::kEnableAriaElementReflection)},
#if BUILDFLAG(IS_ANDROID)
{wf::EnableAudioOutputDevices,
raw_ref(features::kAAudioPerStreamDeviceSelection)},
@@ -361,6 +359,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(network::features::kCompressionDictionaryTransport)},
{"CookieDeprecationFacilitatedTesting",
raw_ref(features::kCookieDeprecationFacilitatedTesting)},
+ {"CookieStoreAPIMaxAge",
+ raw_ref(blink::features::kCookieStoreAPIMaxAge)},
{"DocumentPolicyIncludeJSCallStacksInCrashReports",
raw_ref(blink::features::
kDocumentPolicyIncludeJSCallStacksInCrashReports),
@@ -375,6 +375,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{"FledgeBiddingAndAuctionServerAPI",
raw_ref(blink::features::kFledgeBiddingAndAuctionServer), kDefault},
{"FontSrcLocalMatching", raw_ref(features::kFontSrcLocalMatching)},
+ {"HstsTopLevelNavigationsOnly",
+ raw_ref(net::features::kHstsTopLevelNavigationsOnly)},
{"MachineLearningNeuralNetwork",
raw_ref(webnn::mojom::features::kWebMachineLearningNeuralNetwork),
kSetOnlyIfOverridden},
@@ -384,8 +386,6 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{"RelatedWebsitePartitionAPI",
raw_ref(net::features::kRelatedWebsitePartitionAPI)},
{"SerialPortConnected", raw_ref(features::kSerialPortConnected)},
- {"SignatureBasedIntegrity",
- raw_ref(network::features::kSRIMessageSignatureEnforcement)},
#if BUILDFLAG(IS_MAC)
{"SystemDefaultAccentColors",
raw_ref(features::kUseSystemDefaultAccentColors)},
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 ce566b12..a8ea6bdd 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
@@ -13,6 +13,7 @@
#include "base/feature_list.h"
#include "base/files/file_path.h"
#include "base/functional/callback_helpers.h"
+#include "base/memory/safe_ref.h"
#include "base/no_destructor.h"
#include "base/notimplemented.h"
#include "base/notreached.h"
@@ -26,6 +27,7 @@
#include "components/language_detection/content/common/language_detection.mojom.h"
#include "components/language_detection/core/browser/language_detection_model_provider.h"
#include "content/browser/ai/echo_ai_manager_impl.h"
+#include "content/browser/cpu_performance/cpu_performance.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/webauth/default_authenticator_request_client_delegate.h"
#include "content/public/browser/anchor_element_preconnect_delegate.h"
@@ -413,7 +415,7 @@ bool ContentBrowserClient::ShouldUrlUseApplicationIsolationLevel(
}
#if !BUILDFLAG(IS_ANDROID)
-bool ContentBrowserClient::IsInitialWebUIScheme(const GURL& url) {
+bool ContentBrowserClient::IsInitialWebUIURL(const GURL& url) {
return false;
}
#endif // !BUILDFLAG(IS_ANDROID)
@@ -1627,10 +1629,12 @@ bool ContentBrowserClient::IsJitDisabledForSite(BrowserContext* browser_context,
return false;
}
-bool ContentBrowserClient::AreV8OptimizationsDisabledForSite(
+bool ContentBrowserClient::AreV8OptimizationsEnabledForSite(
BrowserContext* browser_context,
+ const std::optional>&
+ process_selection_user_data,
const GURL& site_url) {
- return false;
+ return true;
}
bool ContentBrowserClient::DisallowV8FeatureFlagOverridesForSite(
@@ -1859,11 +1863,6 @@ void ContentBrowserClient::PreferenceRankVideoDeviceInfos(
BrowserContext* browser_context,
blink::WebMediaDeviceInfoArray& infos) {}
-network::mojom::IpProtectionProxyBypassPolicy
-ContentBrowserClient::GetIpProtectionProxyBypassPolicy() {
- return network::mojom::IpProtectionProxyBypassPolicy::kNone;
-}
-
void ContentBrowserClient::MaybePrewarmHttpDiskCache(
BrowserContext& browser_context,
const std::optional& initiator_origin,
@@ -2009,12 +2008,6 @@ ContentBrowserClient::GetClipboardTypesIfPolicyApplied(
return std::nullopt;
}
-bool ContentBrowserClient::ShouldEnableCanvasNoise(
- BrowserContext* browser_context,
- const GURL& origin) {
- return false;
-}
-
bool ContentBrowserClient::UsePrefetchPrerenderIntegration() {
return false;
}
@@ -2038,4 +2031,15 @@ bool ContentBrowserClient::ShouldAnimateBackForwardTransitions() {
#endif
}
+blink::mojom::PerformanceTier ContentBrowserClient::GetCpuPerformanceTier() {
+ return content::cpu_performance::GetTier();
+}
+
+void ContentBrowserClient::RecordAssistedLogin(AssistedLoginType login_type) {}
+
+std::optional ContentBrowserClient::GetOverrideValueForStaticStorageQuota(
+ BrowserContext* browser_context) {
+ return std::nullopt;
+}
+
} // namespace content
diff --git a/tools/under-control/src/extensions/common/api/app_runtime.idl b/tools/under-control/src/extensions/common/api/app_runtime.idl
deleted file mode 100755
index cdec73e7..00000000
--- a/tools/under-control/src/extensions/common/api/app_runtime.idl
+++ /dev/null
@@ -1,129 +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.
-
-// Use the chrome.app.runtime API to manage the app lifecycle.
-// The app runtime manages app installation, controls the event page, and can
-// shut down the app at anytime.
-namespace app.runtime {
-
- dictionary LaunchItem {
- // Entry for the item.
- [instanceOf=Entry] object entry;
-
- // The MIME type of the file.
- DOMString? type;
- };
-
- // Enumeration of app launch sources.
- // This should be kept in sync with AppLaunchSource in
- // components/services/app_service/public/mojom/types.mojom, and
- // GetLaunchSourceEnum() in
- // extensions/browser/api/app_runtime/app_runtime_api.cc.
- // Note the enumeration is used in UMA histogram so entries
- // should not be re-ordered or removed.
- enum LaunchSource {
- untracked,
- app_launcher,
- new_tab_page,
- reload,
- restart,
- load_and_launch,
- command_line,
- file_handler,
- url_handler,
- system_tray,
- about_page,
- keyboard,
- extensions_page,
- management_api,
- ephemeral_app,
- background,
- kiosk,
- chrome_internal,
- test,
- installed_notification,
- context_menu,
- arc,
- intent_url,
- app_home_page,
- focus_mode,
- sparky
- };
-
- // Optional data for the launch. Either items, or
- // the pair (url, referrerUrl) can be present for any given
- // launch.
- [inline_doc] dictionary LaunchData {
- // The ID of the file or URL handler that the app is being invoked with.
- // Handler IDs are the top-level keys in the file_handlers
- // and/or url_handlers dictionaries in the manifest.
- DOMString? id;
-
- // The file entries for the onLaunched event triggered by a
- // matching file handler in the file_handlers manifest key.
- LaunchItem[]? items;
-
- // The URL for the onLaunched event triggered by a matching
- // URL handler in the url_handlers manifest key.
- DOMString? url;
-
- // The referrer URL for the onLaunched event triggered by a
- // matching URL handler in the url_handlers manifest key.
- DOMString? referrerUrl;
-
- // Whether the app is launched in a Chrome OS Demo Mode session. Used for
- // default-installed Demo Mode Chrome apps.
- [nodoc] boolean? isDemoSession;
-
- // Whether the app is being launched in a Chrome OS
- // kiosk session.
- boolean? isKioskSession;
-
- // Whether the app is being launched in a Chrome OS
- // public session.
- boolean? isPublicSession;
-
- // Where the app is launched from.
- LaunchSource? source;
- };
-
- // This object specifies details and operations to perform on the embedding
- // request. The app to be embedded can make a decision on whether or not to
- // allow the embedding and what to embed based on the embedder making the
- // request.
- dictionary EmbedRequest {
- DOMString embedderId;
-
- // Optional developer specified data that the app to be embedded can use
- // when making an embedding decision.
- any? data;
-
- // Allows embedderId to embed this app in an <appview>
- // element. The url specifies the content to embed.
- [nocompile] static void allow(DOMString url);
-
- // Prevents embedderId from embedding this app in an
- // <appview> element.
- [nocompile] static void deny();
- };
-
- interface Events {
- // Fired when an embedding app requests to embed this app. This event is
- // only available on dev channel with the flag --enable-app-view.
- static void onEmbedRequested(EmbedRequest request);
-
- // Fired when an app is launched from the launcher.
- static void onLaunched(optional LaunchData launchData);
-
- // Fired at Chrome startup to apps that were running when Chrome last shut
- // down, or when apps have been requested to restart from their previous
- // state for other reasons (e.g. when the user revokes access to an app's
- // retained files the runtime will restart the app). In these situations if
- // apps do not have an onRestarted handler they will be sent
- // an onLaunched event instead.
- static void onRestarted();
- };
-};
diff --git a/tools/under-control/src/extensions/common/api/automation.idl b/tools/under-control/src/extensions/common/api/automation.idl
index ea918441..90331fcf 100755
--- a/tools/under-control/src/extensions/common/api/automation.idl
+++ b/tools/under-control/src/extensions/common/api/automation.idl
@@ -35,6 +35,7 @@
clicked,
collapsed,
controlsChanged,
+ defaultActionVerbChanged,
detailsChanged,
describedByChanged,
descriptionChanged,
@@ -408,6 +409,7 @@
loadInlineTextBoxes,
longClick,
replaceSelectedText,
+ requestLayoutBasedAction,
resumeMedia,
scrollBackward,
scrollDown,
@@ -544,6 +546,8 @@
check,
click,
clickAncestor,
+ clickInHitTest,
+ clickNotInHitTest,
jump,
open,
press,
diff --git a/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl b/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl
deleted file mode 100755
index 9556cecf..00000000
--- a/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl
+++ /dev/null
@@ -1,603 +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.
-
-// The chrome.bluetoothLowEnergy API is used to communicate with
-// Bluetooth Smart (Low Energy) devices using the
-//
-// Generic Attribute Profile (GATT).
-namespace bluetoothLowEnergy {
- // Values representing the possible properties of a characteristic.
- // Characteristic permissions are inferred from these properties.
- // Please see the Bluetooth 4.x spec to see the meaning of each individual
- // property.
- enum CharacteristicProperty {
- broadcast, read, writeWithoutResponse, write, notify, indicate,
- authenticatedSignedWrites, extendedProperties, reliableWrite,
- writableAuxiliaries, encryptRead, encryptWrite, encryptAuthenticatedRead,
- encryptAuthenticatedWrite
- };
-
- // Values representing possible permissions for a descriptor.
- // Please see the Bluetooth 4.x spec to see the meaning of each individual
- // permission.
- enum DescriptorPermission {
- read, write, encryptedRead, encryptedWrite, encryptedAuthenticatedRead,
- encryptedAuthenticatedWrite
- };
-
- // Type of advertisement. If 'broadcast' is chosen, the sent advertisement
- // type will be ADV_NONCONN_IND and the device will broadcast with a random
- // MAC Address. If set to 'peripheral', the advertisement type will be
- // ADV_IND or ADV_SCAN_IND and the device will broadcast with real Bluetooth
- // Adapter's MAC Address.
- enum AdvertisementType {broadcast, peripheral};
-
- // Represents a bluetooth central device that is connected to the local GATT
- // server.
- dictionary Device {
- // The address of the device, in the format 'XX:XX:XX:XX:XX:XX'.
- DOMString address;
-
- // The human-readable name of the device.
- DOMString? name;
-
- // The class of the device, a bit-field defined by
- // http://www.bluetooth.org/en-us/specification/assigned-numbers/baseband.
- long? deviceClass;
- };
-
- // Represents a peripheral's Bluetooth GATT Service, a collection of
- // characteristics and relationships to other services that encapsulate
- // the behavior of part of a device.
- dictionary Service {
- // The UUID of the service, e.g. 0000180d-0000-1000-8000-00805f9b34fb.
- DOMString uuid;
-
- // Indicates whether the type of this service is primary or secondary.
- boolean isPrimary;
-
- // Returns the identifier assigned to this service. Use the instance ID to
- // distinguish between services from a peripheral with the same UUID and
- // to make function calls that take in a service identifier. Present, if
- // this instance represents a remote service.
- DOMString? instanceId;
-
- // The device address of the remote peripheral that the GATT service belongs
- // to. Present, if this instance represents a remote service.
- DOMString? deviceAddress;
- };
-
- // Represents a GATT characteristic, which is a basic data element that
- // provides further information about a peripheral's service.
- dictionary Characteristic {
- // The UUID of the characteristic, e.g.
- // 00002a37-0000-1000-8000-00805f9b34fb.
- DOMString uuid;
-
- // The GATT service this characteristic belongs to.
- Service? service;
-
- // The properties of this characteristic.
- CharacteristicProperty[] properties;
-
- // Returns the identifier assigned to this characteristic. Use the instance
- // ID to distinguish between characteristics from a peripheral with the same
- // UUID and to make function calls that take in a characteristic identifier.
- // Present, if this instance represents a remote characteristic.
- DOMString? instanceId;
-
- // The currently cached characteristic value. This value gets updated when
- // the value of the characteristic is read or updated via a notification
- // or indication.
- ArrayBuffer? value;
- };
-
- // Represents a GATT characteristic descriptor, which provides further
- // information about a characteristic's value.
- dictionary Descriptor {
- // The UUID of the characteristic descriptor, e.g.
- // 00002902-0000-1000-8000-00805f9b34fb.
- DOMString uuid;
-
- // The GATT characteristic this descriptor belongs to.
- Characteristic? characteristic;
-
- // The permissions of this descriptor.
- DescriptorPermission[] permissions;
-
- // Returns the identifier assigned to this descriptor. Use the instance ID
- // to distinguish between descriptors from a peripheral with the same UUID
- // and to make function calls that take in a descriptor identifier. Present,
- // if this instance represents a remote characteristic.
- DOMString? instanceId;
-
- // The currently cached descriptor value. This value gets updated when
- // the value of the descriptor is read.
- ArrayBuffer? value;
- };
-
- // The connection properties specified during a call to $(ref:connect).
- dictionary ConnectProperties {
- // Flag indicating whether a connection to the device is left open when the
- // event page of the application is unloaded (see Manage App
- // Lifecycle). The default value is false.
- boolean persistent;
- };
-
- // Optional characteristic notification session properties specified during a
- // call to $(ref:startCharacteristicNotifications).
- dictionary NotificationProperties {
- // Flag indicating whether the app should receive notifications when the
- // event page of the application is unloaded (see Manage App
- // Lifecycle). The default value is false.
- boolean persistent;
- };
-
- // Represents an entry of the "Manufacturer Specific Data" field of Bluetooth
- // LE advertisement data.
- dictionary ManufacturerData {
- long id;
- long[] data;
- };
-
- // Represents an entry of the "Service Data" field of Bluetooth LE advertisement
- // data.
- dictionary ServiceData {
- DOMString uuid;
- long[] data;
- };
-
- // Represents a Bluetooth LE advertisement instance.
- dictionary Advertisement {
- // Type of advertisement.
- AdvertisementType type;
-
- // List of UUIDs to include in the "Service UUIDs" field of the Advertising
- // Data. These UUIDs can be of the 16bit, 32bit or 128 formats.
- DOMString[]? serviceUuids;
-
- // List of manufacturer specific data to be included in "Manufacturer Specific
- // Data" fields of the advertising data.
- ManufacturerData[]? manufacturerData;
-
- // List of UUIDs to include in the "Solicit UUIDs" field of the Advertising
- // Data. These UUIDs can be of the 16bit, 32bit or 128 formats.
- DOMString[]? solicitUuids;
-
- // List of service data to be included in "Service Data" fields of the advertising
- // data.
- ServiceData[]? serviceData;
- };
-
- // Represents a an attribute read/write request.
- dictionary Request {
- // Unique ID for this request. Use this ID when responding to this request.
- long requestId;
- // Device that send this request.
- Device device;
- // Value to write (if this is a write request).
- ArrayBuffer? value;
- };
-
- // Represents a response to an attribute read/write request.
- dictionary Response {
- // Id of the request this is a response to.
- long requestId;
- // If this is an error response, this should be true.
- boolean isError;
- // Response value. Write requests and error responses will ignore this
- // parameter.
- ArrayBuffer? value;
- };
-
- // Represents a notification to be sent to a remote device.
- dictionary Notification {
- // New value of the characteristic.
- ArrayBuffer value;
- // Optional flag for sending an indication instead of a notification.
- boolean? shouldIndicate;
- };
-
- callback CharacteristicCallback = void(Characteristic result);
- callback CreateCharacteristicCallback = void(DOMString characteristicId);
- callback CharacteristicsCallback = void(Characteristic[] result);
- callback DescriptorCallback = void(Descriptor result);
- callback CreateDescriptorCallback = void(DOMString descriptorId);
- callback DescriptorsCallback = void(Descriptor[] result);
- callback ResultCallback = void();
- callback ServiceCallback = void(Service result);
- callback CreateServiceCallback = void(DOMString serviceId);
- callback ServicesCallback = void(Service[] result);
- callback RegisterAdvertisementCallback = void (long advertisementId);
-
- // These functions all report failures via chrome.runtime.lastError.
- interface Functions {
- // Establishes a connection between the application and the device with the
- // given address. A device may be already connected and its GATT services
- // available without calling connect, however, an app that
- // wants to access GATT services of a device should call this function to
- // make sure that a connection to the device is maintained. If the device
- // is not connected, all GATT services of the device will be discovered
- // after a successful call to connect.
- // |deviceAddress|: The Bluetooth address of the remote device to which a
- // GATT connection should be opened.
- // |properties|: Connection properties (optional).
- // |callback|: Called when the connect request has completed.
- static void connect(
- DOMString deviceAddress,
- optional ConnectProperties properties,
- ResultCallback callback);
-
- // Closes the app's connection to the device with the given address. Note
- // that this will not always destroy the physical link itself, since there
- // may be other apps with open connections.
- // |deviceAddress|: The Bluetooth address of the remote device.
- // |callback|: Called when the disconnect request has completed.
- static void disconnect(
- DOMString deviceAddress,
- optional ResultCallback callback);
-
- // Get the GATT service with the given instance ID.
- // |serviceId|: The instance ID of the requested GATT service.
- // |callback|: Called with the requested Service object.
- static void getService(
- DOMString serviceId,
- ServiceCallback callback);
-
- // Create a locally hosted GATT service. This service can be registered
- // to be available on a local GATT server.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |service|: The service to create.
- // |callback|: Called with the created services's unique ID.
- static void createService(
- Service service,
- CreateServiceCallback callback);
-
- // Get all the GATT services that were discovered on the remote device with
- // the given device address.
- //
- // Note: If service discovery is not yet complete on the device,
- // this API will return a subset (possibly empty) of services. A work around
- // is to add a time based delay and/or call repeatedly until the expected
- // number of services is returned.
- //
- // |deviceAddress|: The Bluetooth address of the remote device whose GATT
- // services should be returned.
- // |callback|: Called with the list of requested Service objects.
- static void getServices(
- DOMString deviceAddress,
- ServicesCallback callback);
-
- // Get the GATT characteristic with the given instance ID that belongs to
- // the given GATT service, if the characteristic exists.
- // |characteristicId|: The instance ID of the requested GATT
- // characteristic.
- // |callback|: Called with the requested Characteristic object.
- static void getCharacteristic(
- DOMString characteristicId,
- CharacteristicCallback callback);
-
- // Create a locally hosted GATT characteristic. This characteristic must
- // be hosted under a valid service. If the service ID is not valid, the
- // lastError will be set.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |characteristic|: The characteristic to create.
- // |serviceId|: ID of the service to create this characteristic for.
- // |callback|: Called with the created characteristic's unique ID.
- static void createCharacteristic(
- Characteristic characteristic,
- DOMString serviceId,
- CreateCharacteristicCallback callback);
-
- // Get a list of all discovered GATT characteristics that belong to the
- // given service.
- // |serviceId|: The instance ID of the GATT service whose characteristics
- // should be returned.
- // |callback|: Called with the list of characteristics that belong to the
- // given service.
- static void getCharacteristics(
- DOMString serviceId,
- CharacteristicsCallback callback);
-
- // Get a list of GATT services that are included by the given service.
- // |serviceId|: The instance ID of the GATT service whose included
- // services should be returned.
- // |callback|: Called with the list of GATT services included from the
- // given service.
- static void getIncludedServices(
- DOMString serviceId,
- ServicesCallback callback);
-
- // Get the GATT characteristic descriptor with the given instance ID.
- // |descriptorId|: The instance ID of the requested GATT characteristic
- // descriptor.
- // |callback|: Called with the requested Descriptor object.
- static void getDescriptor(
- DOMString descriptorId,
- DescriptorCallback callback);
-
- // Create a locally hosted GATT descriptor. This descriptor must
- // be hosted under a valid characteristic. If the characteristic ID is not
- // valid, the lastError will be set.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |descriptor|: The descriptor to create.
- // |characteristicId|: ID of the characteristic to create this descriptor
- // for.
- // |callback|: Called with the created descriptor's unique ID.
- static void createDescriptor(
- Descriptor descriptor,
- DOMString characteristicId,
- CreateDescriptorCallback callback);
-
- // Get a list of GATT characteristic descriptors that belong to the given
- // characteristic.
- // |characteristicId|: The instance ID of the GATT characteristic whose
- // descriptors should be returned.
- // |callback|: Called with the list of descriptors that belong to the given
- // characteristic.
- static void getDescriptors(
- DOMString characteristicId,
- DescriptorsCallback callback);
-
- // Retrieve the value of a specified characteristic from a remote
- // peripheral.
- // |characteristicId|: The instance ID of the GATT characteristic whose
- // value should be read from the remote device.
- // |callback|: Called with the Characteristic object whose value was
- // requested. The value field of the returned Characteristic
- // object contains the result of the read request.
- static void readCharacteristicValue(
- DOMString characteristicId,
- CharacteristicCallback callback);
-
- // Write the value of a specified characteristic from a remote peripheral.
- // |characteristicId|: The instance ID of the GATT characteristic whose
- // value should be written to.
- // |value|: The value that should be sent to the remote characteristic as
- // part of the write request.
- // |callback|: Called when the write request has completed.
- static void writeCharacteristicValue(
- DOMString characteristicId,
- ArrayBuffer value,
- ResultCallback callback);
-
- // Enable value notifications/indications from the specified characteristic.
- // Once enabled, an application can listen to notifications using the
- // $(ref:onCharacteristicValueChanged) event.
- // |characteristicId|: The instance ID of the GATT characteristic that
- // notifications should be enabled on.
- // |properties|: Notification session properties (optional).
- // |callback|: Called when the request has completed.
- static void startCharacteristicNotifications(
- DOMString characteristicId,
- optional NotificationProperties properties,
- ResultCallback callback);
-
- // Disable value notifications/indications from the specified
- // characteristic. After a successful call, the application will stop
- // receiving notifications/indications from this characteristic.
- // |characteristicId|: The instance ID of the GATT characteristic on which
- // this app's notification session should be stopped.
- // |callback|: Called when the request has completed (optional).
- static void stopCharacteristicNotifications(
- DOMString characteristicId,
- optional ResultCallback callback);
-
- // Notify a remote device of a new value for a characteristic. If the
- // shouldIndicate flag in the notification object is true, an indication
- // will be sent instead of a notification. Note, the characteristic needs
- // to correctly set the 'notify' or 'indicate' property during creation for
- // this call to succeed.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |characteristicId|: The characteristic to send the notication for.
- // |notifcation|: The notification to send.
- // |callback|: Callback called once the notification or indication has
- // been sent successfully.
- static void notifyCharacteristicValueChanged(
- DOMString characteristicId,
- Notification notification,
- ResultCallback callback);
-
- // Retrieve the value of a specified characteristic descriptor from a remote
- // peripheral.
- // |descriptorId|: The instance ID of the GATT characteristic descriptor
- // whose value should be read from the remote device.
- // |callback|: Called with the Descriptor object whose value was requested.
- // The value field of the returned Descriptor object contains
- // the result of the read request.
- static void readDescriptorValue(
- DOMString descriptorId,
- DescriptorCallback callback);
-
- // Write the value of a specified characteristic descriptor from a remote
- // peripheral.
- // |descriptorId|: The instance ID of the GATT characteristic descriptor
- // whose value should be written to.
- // |value|: The value that should be sent to the remote descriptor as part
- // of the write request.
- // |callback|: Called when the write request has completed.
- static void writeDescriptorValue(
- DOMString descriptorId,
- ArrayBuffer value,
- ResultCallback callback);
-
- // Register the given service with the local GATT server. If the service
- // ID is invalid, the lastError will be set.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |serviceId|: Unique ID of a created service.
- // |callback|: Callback with the result of the register operation.
- static void registerService(
- DOMString serviceId,
- ResultCallback callback);
-
- // Unregister the given service with the local GATT server. If the service
- // ID is invalid, the lastError will be set.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |serviceId|: Unique ID of a current registered service.
- // |callback|: Callback with the result of the register operation.
- static void unregisterService(
- DOMString serviceId,
- ResultCallback callback);
-
- // Remove the specified service, unregistering it if it was registered.
- // If the service ID is invalid, the lastError will be set.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |serviceId|: Unique ID of a current registered service.
- // |callback|: Callback called once the service is removed.
- static void removeService(
- DOMString serviceId,
- optional ResultCallback callback);
-
- // Create an advertisement and register it for advertising. To call this
- // function, the app must have the bluetooth:low_energy and
- // bluetooth:peripheral permissions set to true. Additionally this API
- // is only available to auto launched apps in Kiosk Mode or by setting
- // the '--enable-ble-advertising-in-apps' command-line switch.
- // See https://developer.chrome.com/apps/manifest/bluetooth
- // Note: On some hardware, central and peripheral modes at the same time is
- // supported but on hardware that doesn't support this, making this call
- // will switch the device to peripheral mode. In the case of hardware which
- // does not support both central and peripheral mode, attempting to use the
- // device in both modes will lead to undefined behavior or prevent other
- // central-role applications from behaving correctly (including the
- // discovery of Bluetooth Low Energy devices).
- // |advertisement|: The advertisement to advertise.
- // |callback|: Called once the registeration is done and we've started
- // advertising. Returns the id of the created advertisement.
- static void registerAdvertisement(
- Advertisement advertisement,
- RegisterAdvertisementCallback callback);
-
- // Unregisters an advertisement and stops its advertising. If the
- // advertisement fails to unregister the only way to stop advertising
- // might be to restart the device.
- // |advertisementId|: Id of the advertisement to unregister.
- // |callback|: Called once the advertisement is unregistered and is no
- // longer being advertised.
- static void unregisterAdvertisement(
- long advertisementId,
- ResultCallback callback);
-
- // Resets advertising on the current device. It will unregister and
- // stop all existing advertisements.
- // |callback|: Called once the advertisements are reset.
- static void resetAdvertising(ResultCallback callback);
-
- // Set's the interval betweeen two consecutive advertisements. Note:
- // This is a best effort. The actual interval may vary non-trivially
- // from the requested intervals. On some hardware, there is a minimum
- // interval of 100ms. The minimum and maximum values cannot exceed the
- // the range allowed by the Bluetooth 4.2 specification.
- // |minInterval|: Minimum interval between advertisments (in
- // milliseconds). This cannot be lower than 20ms (as per the spec).
- // |maxInterval|: Maximum interval between advertisments (in
- // milliseconds). This cannot be more than 10240ms (as per the spec).
- // |callback|: Called once the interval has been set.
- static void setAdvertisingInterval(
- long minInterval,
- long maxInterval,
- ResultCallback callback);
-
- // Sends a response for a characteristic or descriptor read/write
- // request.
- // This function is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |response|: The response to the request.
- static void sendRequestResponse(Response response);
- };
-
- interface Events {
- // Fired whan a new GATT service has been discovered on a remote device.
- // |service|: The GATT service that was added.
- static void onServiceAdded(Service service);
-
- // Fired when the state of a remote GATT service changes. This involves any
- // characteristics and/or descriptors that get added or removed from the
- // service, as well as "ServiceChanged" notifications from the remote
- // device.
- // |service|: The GATT service whose state has changed.
- static void onServiceChanged(Service service);
-
- // Fired when a GATT service that was previously discovered on a remote
- // device has been removed.
- // |service|: The GATT service that was removed.
- static void onServiceRemoved(Service service);
-
- // Fired when the value of a remote GATT characteristic changes, either as
- // a result of a read request, or a value change notification/indication
- // This event will only be sent if the app has enabled notifications by
- // calling $(ref:startCharacteristicNotifications).
- // |characteristic|: The GATT characteristic whose value has changed.
- static void onCharacteristicValueChanged(Characteristic characteristic);
-
- // Fired when the value of a remote GATT characteristic descriptor changes,
- // usually as a result of a read request. This event exists
- // mostly for convenience and will always be sent after a successful
- // call to $(ref:readDescriptorValue).
- // |descriptor|: The GATT characteristic descriptor whose value has
- // changed.
- static void onDescriptorValueChanged(Descriptor descriptor);
-
- // Fired when a connected central device requests to read the value of a
- // characteristic registered on the local GATT server. Not responding
- // to this request for a long time may lead to a disconnection.
- // This event is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |request|: Request data for this request.
- // |characteristic|: The GATT characteristic whose value is requested.
- static void onCharacteristicReadRequest(
- Request request, DOMString characteristicId);
-
- // Fired when a connected central device requests to write the value of a
- // characteristic registered on the local GATT server. Not responding
- // to this request for a long time may lead to a disconnection.
- // This event is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |request|: Request data for this request.
- // |characteristic|: The GATT characteristic whose value is being written.
- static void onCharacteristicWriteRequest(
- Request request, DOMString characteristicId);
-
- // Fired when a connected central device requests to read the value of a
- // descriptor registered on the local GATT server. Not responding to
- // this request for a long time may lead to a disconnection.
- // This event is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |request|: Request data for this request.
- // |descriptor|: The GATT descriptor whose value is requested.
- static void onDescriptorReadRequest(
- Request request, DOMString descriptorId);
-
- // Fired when a connected central device requests to write the value of a
- // descriptor registered on the local GATT server. Not responding to
- // this request for a long time may lead to a disconnection.
- // This event is only available if the app has both the
- // bluetooth:low_energy and the bluetooth:peripheral permissions set to
- // true. The peripheral permission may not be available to all apps.
- // |request|: Request data for this request.
- // |descriptor|: The GATT descriptor whose value is being written.
- static void onDescriptorWriteRequest(
- Request request, DOMString descriptorId);
- };
-};
diff --git a/tools/under-control/src/extensions/common/api/bluetooth_socket.idl b/tools/under-control/src/extensions/common/api/bluetooth_socket.idl
deleted file mode 100755
index e7e93aa0..00000000
--- a/tools/under-control/src/extensions/common/api/bluetooth_socket.idl
+++ /dev/null
@@ -1,326 +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.
-
-// Use the chrome.bluetoothSocket API to send and receive data
-// to Bluetooth devices using RFCOMM and L2CAP connections.
-namespace bluetoothSocket {
- // The socket properties specified in the $ref:create or $ref:update
- // function. Each property is optional. If a property value is not specified,
- // a default value is used when calling $ref:create, or the existing value is
- // preserved when calling $ref:update.
- dictionary SocketProperties {
- // Flag indicating whether the socket is left open when the event page of
- // the application is unloaded (see Manage App
- // Lifecycle). The default value is false. When the
- // application is loaded, any sockets previously opened with persistent=true
- // can be fetched with $ref:getSockets.
- boolean? persistent;
-
- // An application-defined string associated with the socket.
- DOMString? name;
-
- // The size of the buffer used to receive data. The default value is 4096.
- long? bufferSize;
- };
-
- // Result of create call.
- dictionary CreateInfo {
- // The ID of the newly created socket. Note that socket IDs created
- // from this API are not compatible with socket IDs created from other APIs,
- // such as the $(ref:sockets.tcp) API.
- long socketId;
- };
-
- // Callback from the create method.
- // |createInfo| : The result of the socket creation.
- callback CreateCallback = void (CreateInfo createInfo);
-
- // Callback from the update method.
- callback UpdateCallback = void ();
-
- // Callback from the setPaused method.
- callback SetPausedCallback = void ();
-
- // Options that may be passed to the listenUsingRfcomm and
- // listenUsingL2cap methods. Each property is optional with a
- // default being used if not specified.
- dictionary ListenOptions {
- // The RFCOMM Channel used by listenUsingRfcomm. If specified,
- // this channel must not be previously in use or the method call will fail.
- // When not specified, an unused channel will be automatically allocated.
- long? channel;
-
- // The L2CAP PSM used by listenUsingL2cap. If specified, this
- // PSM must not be previously in use or the method call with fail. When
- // not specified, an unused PSM will be automatically allocated.
- long? psm;
-
- // Length of the socket's listen queue. The default value depends on the
- // operating system's host subsystem.
- long? backlog;
- };
-
- // Callback from the listenUsingRfcomm and
- // listenUsingL2cap methods.
- callback ListenCallback = void ();
-
- // Callback from the connect method.
- callback ConnectCallback = void ();
-
- // Callback from the disconnect method.
- callback DisconnectCallback = void ();
-
- // Callback from the close method.
- callback CloseCallback = void ();
-
- // Callback from the send method.
- // |bytesSent| : The number of bytes sent.
- callback SendCallback = void (long bytesSent);
-
- // Result of the getInfo method.
- dictionary SocketInfo {
- // The socket identifier.
- long socketId;
-
- // Flag indicating if the socket remains open when the event page of the
- // application is unloaded (see SocketProperties.persistent).
- // The default value is "false".
- boolean persistent;
-
- // Application-defined string associated with the socket.
- DOMString? name;
-
- // The size of the buffer used to receive data. If no buffer size has been
- // specified explictly, the value is not provided.
- long? bufferSize;
-
- // Flag indicating whether a connected socket blocks its peer from sending
- // more data, or whether connection requests on a listening socket are
- // dispatched through the onAccept event or queued up in the
- // listen queue backlog.
- // See setPaused. The default value is "false".
- boolean paused;
-
- // Flag indicating whether the socket is connected to a remote peer.
- boolean connected;
-
- // If the underlying socket is connected, contains the Bluetooth address of
- // the device it is connected to.
- DOMString? address;
-
- // If the underlying socket is connected, contains information about the
- // service UUID it is connected to, otherwise if the underlying socket is
- // listening, contains information about the service UUID it is listening
- // on.
- DOMString? uuid;
- };
-
- // Callback from the getInfo method.
- // |socketInfo| : Object containing the socket information.
- callback GetInfoCallback = void (SocketInfo socketInfo);
-
- // Callback from the getSockets method.
- // |socketInfos| : Array of object containing socket information.
- callback GetSocketsCallback = void (SocketInfo[] sockets);
-
- // Data from an onAccept event.
- dictionary AcceptInfo {
- // The server socket identifier.
- long socketId;
-
- // The client socket identifier, i.e. the socket identifier of the newly
- // established connection. This socket identifier should be used only with
- // functions from the chrome.bluetoothSocket namespace. Note
- // the client socket is initially paused and must be explictly un-paused by
- // the application to start receiving data.
- long clientSocketId;
- };
-
- enum AcceptError {
- // A system error occurred and the connection may be unrecoverable.
- system_error,
-
- // The socket is not listening.
- not_listening
- };
-
- // Data from an onAcceptError event.
- dictionary AcceptErrorInfo {
- // The server socket identifier.
- long socketId;
-
- // The error message.
- DOMString errorMessage;
-
- // An error code indicating what went wrong.
- AcceptError error;
- };
-
- // Data from an onReceive event.
- dictionary ReceiveInfo {
- // The socket identifier.
- long socketId;
-
- // The data received, with a maxium size of bufferSize.
- ArrayBuffer data;
- };
-
- enum ReceiveError {
- // The connection was disconnected.
- disconnected,
-
- // A system error occurred and the connection may be unrecoverable.
- system_error,
-
- // The socket has not been connected.
- not_connected
- };
-
- // Data from an onReceiveError event.
- dictionary ReceiveErrorInfo {
- // The socket identifier.
- long socketId;
-
- // The error message.
- DOMString errorMessage;
-
- // An error code indicating what went wrong.
- ReceiveError error;
- };
-
- // These functions all report failures via chrome.runtime.lastError.
- interface Functions {
- // Creates a Bluetooth socket.
- // |properties| : The socket properties (optional).
- // |callback| : Called when the socket has been created.
- static void create(
- optional SocketProperties properties,
- CreateCallback callback);
-
- // Updates the socket properties.
- // |socketId| : The socket identifier.
- // |properties| : The properties to update.
- // |callback| : Called when the properties are updated.
- static void update(
- long socketId,
- SocketProperties properties,
- optional UpdateCallback callback);
-
- // Enables or disables a connected socket from receiving messages from its
- // peer, or a listening socket from accepting new connections. The default
- // value is "false". Pausing a connected socket is typically used by an
- // application to throttle data sent by its peer. When a connected socket
- // is paused, no onReceiveevent is raised. When a socket is
- // connected and un-paused, onReceive events are raised again
- // when messages are received. When a listening socket is paused, new
- // connections are accepted until its backlog is full then additional
- // connection requests are refused. onAccept events are raised
- // only when the socket is un-paused.
- static void setPaused(
- long socketId,
- boolean paused,
- optional SetPausedCallback callback);
-
- // Listen for connections using the RFCOMM protocol.
- // |socketId| : The socket identifier.
- // |uuid| : Service UUID to listen on.
- // |options| : Optional additional options for the service.
- // |callback| : Called when listen operation completes.
- static void listenUsingRfcomm(
- long socketId,
- DOMString uuid,
- optional ListenOptions options,
- ListenCallback callback);
-
- // Listen for connections using the L2CAP protocol.
- // |socketId| : The socket identifier.
- // |uuid| : Service UUID to listen on.
- // |options| : Optional additional options for the service.
- // |callback| : Called when listen operation completes.
- static void listenUsingL2cap(
- long socketId,
- DOMString uuid,
- optional ListenOptions options,
- ListenCallback callback);
-
- // Connects the socket to a remote Bluetooth device. When the
- // connect operation completes successfully,
- // onReceive events are raised when data is received from the
- // peer. If a network error occur while the runtime is receiving packets,
- // a onReceiveError event is raised, at which point no more
- // onReceive event will be raised for this socket until the
- // setPaused(false) method is called.
- // |socketId| : The socket identifier.
- // |address| : The address of the Bluetooth device.
- // |uuid| : The UUID of the service to connect to.
- // |callback| : Called when the connect attempt is complete.
- static void connect(
- long socketId,
- DOMString address,
- DOMString uuid,
- ConnectCallback callback);
-
- // Disconnects the socket. The socket identifier remains valid.
- // |socketId| : The socket identifier.
- // |callback| : Called when the disconnect attempt is complete.
- static void disconnect(
- long socketId,
- optional DisconnectCallback callback);
-
- // Disconnects and destroys the socket. Each socket created should be
- // closed after use. The socket id is no longer valid as soon at the
- // function is called. However, the socket is guaranteed to be closed only
- // when the callback is invoked.
- // |socketId| : The socket identifier.
- // |callback| : Called when the close operation completes.
- static void close(
- long socketId,
- optional CloseCallback callback);
-
- // Sends data on the given Bluetooth socket.
- // |socketId| : The socket identifier.
- // |data| : The data to send.
- // |callback| : Called with the number of bytes sent.
- static void send(
- long socketId,
- ArrayBuffer data,
- optional SendCallback callback);
-
- // Retrieves the state of the given socket.
- // |socketId| : The socket identifier.
- // |callback| : Called when the socket state is available.
- static void getInfo(
- long socketId,
- GetInfoCallback callback);
-
- // Retrieves the list of currently opened sockets owned by the application.
- // |callback| : Called when the list of sockets is available.
- static void getSockets(GetSocketsCallback callback);
- };
-
- interface Events {
- // Event raised when a connection has been established for a given socket.
- // |info| : The event data.
- static void onAccept(AcceptInfo info);
-
- // Event raised when a network error occurred while the runtime was waiting
- // for new connections on the given socket. Once this event is raised, the
- // socket is set to paused and no more onAccept
- // events are raised for this socket.
- // |info| : The event data.
- static void onAcceptError(AcceptErrorInfo info);
-
- // Event raised when data has been received for a given socket.
- // |info| : The event data.
- static void onReceive(ReceiveInfo info);
-
- // Event raised when a network error occured while the runtime was waiting
- // for data on the socket. Once this event is raised, the socket is set to
- // paused and no more onReceive events are raised
- // for this socket.
- // |info| : The event data.
- static void onReceiveError(ReceiveErrorInfo info);
- };
-};
diff --git a/tools/under-control/src/gin/v8_initializer.cc b/tools/under-control/src/gin/v8_initializer.cc
index 5bb090c9..0b14695a 100755
--- a/tools/under-control/src/gin/v8_initializer.cc
+++ b/tools/under-control/src/gin/v8_initializer.cc
@@ -413,9 +413,6 @@ void SetFeatureFlags() {
SetV8FlagsFormatted("--high-end-android-physical-memory-threshold=%i",
features::kV8HighEndAndroidMemoryThreshold.Get());
}
- SetV8FlagsIfOverridden(features::kV8IncrementalMarkingStartUserVisible,
- "--incremental-marking-start-user-visible",
- "--no-incremental-marking-start-user-visible");
SetV8FlagsIfOverridden(features::kV8IdleGcOnContextDisposal,
"--idle-gc-on-context-disposal",
"--no-idle-gc-on-context-disposal");
diff --git a/tools/under-control/src/services/network/network_context.cc b/tools/under-control/src/services/network/network_context.cc
index 71cef856..48d5d5c0 100755
--- a/tools/under-control/src/services/network/network_context.cc
+++ b/tools/under-control/src/services/network/network_context.cc
@@ -19,6 +19,7 @@
#include "base/check.h"
#include "base/check_op.h"
#include "base/command_line.h"
+#include "base/containers/extend.h"
#include "base/containers/flat_set.h"
#include "base/containers/to_vector.h"
#include "base/containers/unique_ptr_adapters.h"
@@ -46,9 +47,6 @@
#include "build/chromecast_buildflags.h"
#include "components/cookie_config/cookie_store_util.h"
#include "components/domain_reliability/monitor.h"
-#include "components/ip_protection/common/ip_protection_core_host_remote.h"
-#include "components/ip_protection/common/ip_protection_core_impl_mojo.h"
-#include "components/ip_protection/common/ip_protection_proxy_delegate.h"
#include "components/network_session_configurator/browser/network_session_configurator.h"
#include "components/network_session_configurator/common/network_switches.h"
#include "components/os_crypt/async/common/encryptor.h"
@@ -56,8 +54,10 @@
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/pref_service_factory.h"
+#include "components/unexportable_keys/mojom/unexportable_key_service_proxied.h"
#include "components/url_matcher/url_matcher.h"
#include "components/url_matcher/url_util.h"
+#include "components/url_pattern/simple_url_pattern_matcher.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "net/base/features.h"
#include "net/base/isolation_info.h"
@@ -77,6 +77,7 @@
#include "net/cookies/cookie_monster.h"
#include "net/cookies/cookie_setting_override.h"
#include "net/device_bound_sessions/session_service.h"
+#include "net/disk_cache/disk_cache.h"
#include "net/dns/host_cache.h"
#include "net/dns/mapped_host_resolver.h"
#include "net/extras/sqlite/cookie_crypto_delegate.h"
@@ -97,6 +98,7 @@
#include "net/proxy_resolution/configured_proxy_resolution_service.h"
#include "net/proxy_resolution/proxy_config.h"
#include "net/shared_dictionary/shared_dictionary_isolation_key.h"
+#include "net/ssl/ssl_config_service.h"
#include "net/storage_access_api/status.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "net/url_request/static_http_user_agent_settings.h"
@@ -110,6 +112,7 @@
#include "services/network/device_bound_session_manager.h"
#include "services/network/devtools_durable_msg_collector.h"
#include "services/network/disk_cache/mojo_backend_file_operations_factory.h"
+#include "services/network/enterprise/encryption/encrypted_backend_file_operations_factory.h"
#include "services/network/host_resolver.h"
#include "services/network/http_auth_cache_proxy_copier.h"
#include "services/network/http_server_properties_pref_delegate.h"
@@ -1220,14 +1223,6 @@ void NetworkContext::SetBlockTrustTokens(bool block) {
block_trust_tokens_ = block;
}
-void NetworkContext::SetTrackingProtectionContentSetting(
- const ContentSettingsForOneType& settings) {
- if (!ip_protection_core_) {
- return;
- }
- ip_protection_core_->SetTrackingProtectionContentSetting(settings);
-}
-
void NetworkContext::OnProxyLookupComplete(
ProxyLookupRequest* proxy_lookup_request) {
auto it = proxy_lookup_requests_.find(proxy_lookup_request);
@@ -2337,10 +2332,13 @@ void NetworkContext::VerifyCertificateForTesting(
void NetworkContext::GetTrustAnchorIDsForTesting(
GetTrustAnchorIDsForTestingCallback callback) {
- std::move(callback).Run(
- base::ToVector(url_request_context_->ssl_config_service()
- ->GetSSLContextConfig()
- .trust_anchor_ids));
+ const net::SSLContextConfig& ssl_context_config =
+ url_request_context_->ssl_config_service()->GetSSLContextConfig();
+ std::vector> all_trust_anchor_ids =
+ ssl_context_config.mtc_trust_anchor_ids;
+ base::Extend(all_trust_anchor_ids,
+ base::ToVector(ssl_context_config.trust_anchor_ids));
+ std::move(callback).Run(all_trust_anchor_ids);
}
void NetworkContext::PreconnectSockets(
@@ -2707,41 +2705,8 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_delegate_ = network_delegate.get();
builder.set_network_delegate(std::move(network_delegate));
- // Decide which ProxyDelegate to create. At most one of these will be the
- // case for any given NetworkContext: either PrefetchProxy, handling its
- // custom proxy configs, or IpProtection, using the proxy allowlist.
- auto* mdl_manager = network_service_->masked_domain_list_manager();
- auto* prt_registry = network_service_->probabilistic_reveal_token_registry();
- bool requires_ipp_proxy_delegate =
- (mdl_manager->IsEnabled() ||
- !net::features::kIpPrivacyUnconditionalProxyDomainList.Get().empty()) &&
- (params_->ip_protection_core_host ||
- net::features::kIpPrivacyAlwaysCreateCore.Get());
- if (requires_ipp_proxy_delegate) {
- CHECK(!params_->initial_custom_proxy_config);
- CHECK(!params_->custom_proxy_config_client_receiver);
- scoped_refptr core_host_remote =
- params_->ip_protection_core_host
- ? base::MakeRefCounted(
- std::move(params_->ip_protection_core_host))
- : nullptr;
- auto ip_protection_core_impl =
- std::make_unique(
- std::move(params_->ip_protection_control), core_host_remote,
- mdl_manager, prt_registry, params_->enable_ip_protection,
- params_->ip_protection_incognito,
- std::move(params_->initial_ip_protection_tokens),
- params_->ip_protection_data_directory);
- builder.set_proxy_delegate(
- std::make_unique(
- ip_protection_core_impl.get()));
- // Set tracking protection content settings if there are any provided.
- ip_protection_core_impl->SetTrackingProtectionContentSetting(
- params_->tracking_protection_content_settings);
-
- ip_protection_core_ = std::move(ip_protection_core_impl);
- } else if (params_->initial_custom_proxy_config ||
- params_->custom_proxy_config_client_receiver) {
+ if (params_->initial_custom_proxy_config ||
+ params_->custom_proxy_config_client_receiver) {
builder.set_proxy_delegate(std::make_unique(
std::move(params_->initial_custom_proxy_config),
std::move(params_->custom_proxy_config_client_receiver),
@@ -2850,6 +2815,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
base::MakeRefCounted(
std::move(params_->http_cache_file_operations_factory));
}
+
+ // For enterprise users, we wrap `BackendFileOperations` to intercept file
+ // I/O with encryption ops.
+ if (params_->enable_encrypted_http_cache) {
+ if (!cache_params.file_operations_factory) {
+ // Since it's the fallback later anyways, explicitly created here to
+ // wrap.
+ cache_params.file_operations_factory =
+ base::MakeRefCounted();
+ }
+ cache_params.file_operations_factory = base::MakeRefCounted<
+ enterprise::EncryptedBackendFileOperationsFactory>(
+ std::move(cache_params.file_operations_factory));
+ }
}
cache_params.reset_cache = params_->reset_http_cache_backend;
@@ -3074,13 +3053,17 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
builder.set_check_cleartext_permitted(params_->check_clear_text_permitted);
#endif // BUILDFLAG(IS_ANDROID)
- if (params_->cookie_deprecation_label.has_value()) {
- builder.set_cookie_deprecation_label(*params_->cookie_deprecation_label);
- }
-
if (params_->device_bound_sessions_enabled) {
builder.set_has_device_bound_session_service(true);
+#if BUILDFLAG(ENABLE_DEVICE_BOUND_SESSIONS)
+ if (params_->bound_sessions_unexportable_key_service.is_valid()) {
+ builder.set_unexportable_key_service(
+ std::make_unique(
+ std::move(params_->bound_sessions_unexportable_key_service)));
+ }
+#endif
+
if (base::FeatureList::IsEnabled(
net::features::kPersistDeviceBoundSessions)) {
base::FilePath device_bound_sessions_file_path;
@@ -3490,17 +3473,33 @@ void NetworkContext::FlushMatchingCachedClientCert(
}
}
-void NetworkContext::SetCookieDeprecationLabel(
- const std::optional& label) {
- CHECK(url_request_context_);
- url_request_context_->set_cookie_deprecation_label(label);
-}
-
void NetworkContext::RevokeNetworkForNonces(
- const std::vector& nonces,
+ std::vector nonces_to_patterns,
RevokeNetworkForNoncesCallback callback) {
- for (const auto& nonce : nonces) {
- network_revocation_nonces_.insert(nonce);
+ for (auto& entry : nonces_to_patterns) {
+ const base::UnguessableToken& nonce = entry->nonce;
+
+ // Accessing `network_revocation_nonces_[nonce]` here ensures that if it's
+ // not already present in the set, it's default-constructed. This is
+ // important, as an empty `entry->allowlisted_patterns` represents complete
+ // network revocation.
+ auto& revocation_set = network_revocation_nonces_[nonce];
+ for (const std::string& pattern : entry->allowlisted_patterns) {
+ auto matcher = url_pattern::SimpleUrlPatternMatcher::Create(
+ pattern, /*base_url=*/nullptr);
+ if (!matcher.has_value()) {
+ // TODO(crbug.com/447954811): This case should result in an issue
+ // delivered to the devtools console (and ideally we'd avoid it
+ // entirely by parsing these strings as URL Patterns when initially
+ // parsing the header rather than here when enforcing it).
+ continue;
+ }
+ revocation_set.insert(std::move(matcher.value()));
+ }
+
+ // CancelRequestsIfNonceMatchesAndUrlNotExempted is not needed for
+ // connection allowlist since there should not be any ongoing
+ // requests.
const std::set& exemptions = network_revocation_exemptions_[nonce];
for (const auto& factory : url_loader_factories_) {
factory->CancelRequestsIfNonceMatchesAndUrlNotExempted(nonce, exemptions);
@@ -3604,37 +3603,6 @@ void NetworkContext::AddQuicHints(
}
}
-void NetworkContext::GetIpProxyStatus(GetIpProxyStatusCallback callback) {
- ip_protection::IpProxyStatus status =
- ip_protection::IpProxyStatus::kUnavailable;
-
- if (!base::FeatureList::IsEnabled(net::features::kEnableIpProtectionProxy)) {
- status = ip_protection::IpProxyStatus::kFeatureNotEnabled;
- std::move(callback).Run(status);
- return;
- }
- if (!base::FeatureList::IsEnabled(features::kMaskedDomainList)) {
- status = ip_protection::IpProxyStatus::kMaskedDomainListNotEnabled;
- std::move(callback).Run(status);
- return;
- }
- if (ip_protection_core()) {
- // ip_protection_core() should be null if either of the above features are
- // disabled, so check beforehand
- status = ip_protection_core()->GetIpProxyStatus();
- std::move(callback).Run(status);
- return;
- }
-
- std::move(callback).Run(status);
-}
-
-void NetworkContext::SetBypassIpProtectionProxy(bool bypass_proxy) {
- if (ip_protection_core()) {
- ip_protection_core()->SetBypassProxy(bypass_proxy);
- }
-}
-
bool NetworkContext::IsNetworkForNonceAndUrlAllowed(
const base::UnguessableToken& nonce,
const GURL& url) const {
@@ -3642,6 +3610,24 @@ bool NetworkContext::IsNetworkForNonceAndUrlAllowed(
if (!network_revocation_nonces_.contains(nonce)) {
return true;
}
+
+ // For connection allowlist feature, network_revocation_nonces_ map contains
+ // the allowed URL Patterns.
+ // Note that the network_revocation_exemptions_ check below which was added
+ // to enable fenced frames testing is orthogonal to this feature.
+ // If there are no allowlisted URLs then it is assumed that all network URLs
+ // are restricted (unless exempted for FF testing).
+ if (base::FeatureList::IsEnabled(network::features::kConnectionAllowlists)) {
+ const std::set>&
+ allowlisted_patterns = network_revocation_nonces_.find(nonce)->second;
+ for (const std::unique_ptr& pattern :
+ allowlisted_patterns) {
+ if (pattern->Match(url)) {
+ return true;
+ }
+ }
+ }
+
// If network has been revoked for the nonce, but the url is exempted, it's
// allowed.
if (network_revocation_exemptions_.contains(nonce) &&
diff --git a/tools/under-control/src/testing/variations/fieldtrial_testing_config.json b/tools/under-control/src/testing/variations/fieldtrial_testing_config.json
index c135d4c5..d326724f 100755
--- a/tools/under-control/src/testing/variations/fieldtrial_testing_config.json
+++ b/tools/under-control/src/testing/variations/fieldtrial_testing_config.json
@@ -1,25 +1,4 @@
{
- "AIMEligibilityService": [
- {
- "platforms": [
- "android",
- "chromeos",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AimServerEligibilityEnabled",
- "AimServerEligibilityForPrimaryAccountEnabled"
- ]
- }
- ]
- }
- ],
"AIMHintText": [
{
"platforms": [
@@ -152,21 +131,20 @@
]
}
],
- "AbslFlatMapInVariantMap": [
+ "AccessibilityCheckJavaNodeCacheFreshness": [
{
"platforms": [
- "android",
- "chromeos",
- "linux",
- "windows",
- "mac"
+ "android"
],
"experiments": [
{
+ "//1": "Experiment checks correctness of cache by bypassing it;",
+ "//2": "Not intended for wide release.",
"name": "Enabled",
"enable_features": [
- "AbslFlatMapInVariantMap"
- ]
+ "AccessibilityCheckJavaNodeCacheFreshness"
+ ],
+ "disable_benchmarking": true
}
]
}
@@ -229,16 +207,33 @@
]
}
],
- "AccessibilityIncludeLongClickAction": [
+ "AccessibilityImproveLiveRegionAnnounce": [
{
"platforms": [
- "android"
+ "android",
+ "android_webview"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "AccessibilityIncludeLongClickAction"
+ "AccessibilityImproveLiveRegionAnnounce"
+ ]
+ }
+ ]
+ }
+ ],
+ "AccessibilityMagnificationFollowsFocus": [
+ {
+ "platforms": [
+ "android",
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AccessibilityMagnificationFollowsFocus"
]
}
]
@@ -364,17 +359,16 @@
]
}
],
- "AccessibilityTextFormatting": [
+ "AccessibilitySetSelectableOnAllNodesWithText": [
{
"platforms": [
- "android",
- "android_webview"
+ "android"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "AccessibilityTextFormatting"
+ "AccessibilitySetSelectableOnAllNodesWithText"
]
}
]
@@ -410,21 +404,6 @@
]
}
],
- "AddSuggestStrongPasswordFromAddPassword": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SuggestStrongPasswordInAddPassword"
- ]
- }
- ]
- }
- ],
"AddressInfobarDisplayLength": [
{
"platforms": [
@@ -467,6 +446,24 @@
]
}
],
+ "AlignPdfDefaultPrintSettingsWithHTML": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AlignPdfDefaultPrintSettingsWithHTML"
+ ]
+ }
+ ]
+ }
+ ],
"AlignWakeUps": [
{
"platforms": [
@@ -587,9 +584,10 @@
],
"experiments": [
{
- "name": "Enabled_20250903",
+ "name": "Enabled_WithVisualUpdate",
"enable_features": [
- "AndroidAnimatedProgressBarInBrowser"
+ "AndroidAnimatedProgressBarInBrowser",
+ "AndroidProgressBarVisualUpdate"
]
}
]
@@ -626,21 +624,6 @@
]
}
],
- "AndroidAutofillUpdateContextForWebContents": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AndroidAutofillUpdateContextForWebContents"
- ]
- }
- ]
- }
- ],
"AndroidBookmarkBar": [
{
"platforms": [
@@ -648,24 +631,40 @@
],
"experiments": [
{
- "name": "Enabled_DefaultDevicePref_False",
+ "name": "Enabled",
"params": {
"show_bookmark_bar": "false"
},
"enable_features": [
"AndroidAppearanceSettings",
"AndroidBookmarkBar",
+ "IPH_BookmarksBar",
"TopControlsRefactor"
]
},
{
- "name": "Enabled_DefaultDevicePref_True",
+ "name": "Enabled_DefaultVisible",
"params": {
"show_bookmark_bar": "true"
},
"enable_features": [
"AndroidAppearanceSettings",
"AndroidBookmarkBar",
+ "IPH_BookmarksBar",
+ "TopControlsRefactor"
+ ]
+ },
+ {
+ "name": "Enabled_IPHTrackingOnly",
+ "params": {
+ "event_trigger": "name:bookmark_bar_iph_triggered_tracking_only;comparator:any;window:0;storage:360",
+ "show_bookmark_bar": "false",
+ "tracking_only": "true"
+ },
+ "enable_features": [
+ "AndroidAppearanceSettings",
+ "AndroidBookmarkBar",
+ "IPH_BookmarksBar",
"TopControlsRefactor"
]
}
@@ -750,6 +749,25 @@
]
}
],
+ "AndroidDesktopZoomScaling": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "desktop-zoom-scaling-factor": "100",
+ "monitor-zoom-scaling-factor": "100"
+ },
+ "enable_features": [
+ "AndroidDesktopZoomScaling"
+ ]
+ }
+ ]
+ }
+ ],
"AndroidHatsNext": [
{
"platforms": [
@@ -778,6 +796,7 @@
{
"name": "Enabled",
"params": {
+ "enable_hub_search_tab_group_strings": "true",
"enable_hub_search_tab_groups_pane": "true"
},
"enable_features": [
@@ -874,6 +893,21 @@
]
}
],
+ "AndroidPinnedTabs": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AndroidPinnedTabs"
+ ]
+ }
+ ]
+ }
+ ],
"AndroidPinnedTabsTabletTabStrip": [
{
"platforms": [
@@ -889,21 +923,6 @@
]
}
],
- "AndroidProgressBarVisualUpdate": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AndroidProgressBarVisualUpdate"
- ]
- }
- ]
- }
- ],
"AndroidRaiseDisplayCriticalThreadPriority": [
{
"platforms": [
@@ -912,29 +931,10 @@
],
"experiments": [
{
- "name": "EnabledBoth_20250704",
- "enable_features": [
- "InputScenarioPriorityBoost",
- "RaiseDisplayCriticalThreadPriority"
- ]
- },
- {
- "name": "EnabledRaiseDisplayCriticalThreadPriority_20250704",
+ "name": "Enabled_20251001",
"enable_features": [
"RaiseDisplayCriticalThreadPriority"
]
- },
- {
- "name": "Enabled",
- "enable_features": [
- "RaiseDisplayCriticalThreadPriority"
- ]
- },
- {
- "name": "EnabledInputScenarioPriorityBoost_20250704",
- "enable_features": [
- "InputScenarioPriorityBoost"
- ]
}
]
}
@@ -946,11 +946,14 @@
],
"experiments": [
{
- "name": "EnabledBothReadabilityDistillerAndTriggering",
+ "name": "EnabledReadabilityDistillerWithNoTriggering",
"params": {
- "show_cpa": "false",
+ "heuristic_min_content_length": "160",
+ "heuristic_min_score": "50",
+ "min_content_length": "100",
+ "show_cpa": "true",
"use_distiller": "true",
- "use_heuristic": "false"
+ "use_heuristic": "true"
},
"enable_features": [
"ReaderModeDistillInApp",
@@ -998,6 +1001,21 @@
]
}
],
+ "AndroidSettingsContainment": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AndroidSettingsContainment"
+ ]
+ }
+ ]
+ }
+ ],
"AndroidSmsOtpFilling": [
{
"platforms": [
@@ -1008,6 +1026,7 @@
"name": "Enabled",
"enable_features": [
"AndroidSmsOtpFilling",
+ "FieldClassificationModelCaching",
"PasswordFormClientsideClassifier"
]
}
@@ -1117,6 +1136,42 @@
]
}
],
+ "AndroidTipsNotifications": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_TrustAndSafety",
+ "params": {
+ "trust_and_safety": "true"
+ },
+ "enable_features": [
+ "AndroidTipsNotifications"
+ ]
+ },
+ {
+ "name": "Enabled_Essential",
+ "params": {
+ "essential": "true"
+ },
+ "enable_features": [
+ "AndroidTipsNotifications"
+ ]
+ },
+ {
+ "name": "Enabled_NewFeatures",
+ "params": {
+ "new_features": "true"
+ },
+ "enable_features": [
+ "AndroidTipsNotifications"
+ ]
+ }
+ ]
+ }
+ ],
"AndroidUseCorrectDisplayWorkArea": [
{
"platforms": [
@@ -1209,23 +1264,6 @@
]
}
],
- "AndroidWindowOcclusion": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AndroidWindowOcclusion"
- ]
- }
- ]
- }
- ],
"AndroidWindowPopupLargeScreen": [
{
"platforms": [
@@ -1235,6 +1273,7 @@
{
"name": "Enabled",
"enable_features": [
+ "AndroidWindowPopupCustomTabUi",
"AndroidWindowPopupLargeScreen",
"AndroidWindowPopupPredictFinalBounds",
"AndroidWindowPopupResizeAfterSpawn"
@@ -1320,9 +1359,10 @@
],
"experiments": [
{
- "name": "Enabled_20250929",
+ "name": "AnimationTriggerOn_LimitTriggerAttachmentUpdatesOn_20251111",
"enable_features": [
- "AnimationTrigger"
+ "AnimationTrigger",
+ "LimitTriggerAttachmentUpdates"
]
}
]
@@ -1459,9 +1499,18 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_horizontal_plain_v1",
+ "params": {
+ "probability": "1.0",
+ "prompt_arm": "1",
+ "prompt_disposition_reason_filter": "DefaultFallback",
+ "request_type_filter": "Geolocation",
+ "survey_display_time": "OnPromptResolved",
+ "trigger_id": "wLrmhfRxr0tK1KeaPYj0R4gRD5YC"
+ },
"enable_features": [
- "ApproximateGeolocationPermission"
+ "ApproximateGeolocationPermission",
+ "PermissionsPromptSurvey"
]
}
]
@@ -1599,16 +1648,25 @@
]
}
],
- "ArcOnDemandV2_holdback": [
+ "ArcOnDemandV2_4GBTuning": [
{
"platforms": [
"chromeos"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "enabled_1days_20251029",
+ "params": {
+ "inactive_interval": "1d"
+ },
"enable_features": [
"ArcOnDemandV2"
+ ],
+ "hardware_classes": [
+ "dedede",
+ "grunt",
+ "hana",
+ "octopus"
]
}
]
@@ -1799,8 +1857,8 @@
],
"experiments": [
{
- "name": "Disabled",
- "disable_features": [
+ "name": "Enabled",
+ "enable_features": [
"AskGeminiChip"
]
}
@@ -1989,6 +2047,26 @@
]
}
],
+ "AudioDecoderAudioFileReader": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AudioDecoderAudioFileReader"
+ ]
+ }
+ ]
+ }
+ ],
"AudioFocusEnforcementStudy": [
{
"platforms": [
@@ -2272,7 +2350,7 @@
]
}
],
- "AutofillAiI18n": [
+ "AutofillAiM3PublicPasses": [
{
"platforms": [
"chromeos",
@@ -2283,38 +2361,16 @@
"experiments": [
{
"name": "Enabled",
- "params": {
- "autofill_ai_geo_ip_blocklist": "IN"
- },
"enable_features": [
- "AutofillAiIgnoreCapabilityCheck",
- "AutofillAiIgnoreGeoIp",
- "AutofillAiIgnoreLocale",
- "AutofillAiIgnoreWhetherUserHasAddressOrPaymentsDataForIph",
- "AutofillAiKnownTravelerNumber",
- "AutofillAiNationalIdCard",
- "AutofillAiRedressNumber"
- ]
- }
- ]
- }
- ],
- "AutofillAiVoteForFormatStringsForAffixes": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillAiVoteForFormatStringsForAffixes"
+ "AutofillAiDedupeEntities",
+ "AutofillAiVoteForFormatStringsForFlightNumbers",
+ "AutofillAiWalletFlightReservation",
+ "AutofillAiWalletVehicleRegistration",
+ "IPH_AutofillAiValuables",
+ "SyncAccountSettings",
+ "SyncAutofillValuableMetadata",
+ "SyncWalletFlightReservations",
+ "SyncWalletVehicleRegistrations"
]
}
]
@@ -2340,28 +2396,7 @@
]
}
],
- "AutofillAndPasswordsInSameSurface": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillAndPasswordsInSameSurface"
- ]
- }
- ]
- }
- ],
- "AutofillAndroidDesktopKeyboardAccessoryRevamp": [
+ "AutofillAndroidKeyboardAccessoryDynamicPositioning": [
{
"platforms": [
"android"
@@ -2370,22 +2405,9 @@
{
"name": "Enabled",
"enable_features": [
- "AutofillAndroidDesktopKeyboardAccessoryRevamp"
- ]
- }
- ]
- }
- ],
- "AutofillAndroidDesktopSuppressAccessoryOnEmpty": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillAndroidDesktopSuppressAccessoryOnEmpty"
+ "AutofillAndroidDesktopKeyboardAccessoryRevamp",
+ "AutofillAndroidDesktopSuppressAccessoryOnEmpty",
+ "AutofillAndroidKeyboardAccessoryDynamicPositioning"
]
}
]
@@ -2433,26 +2455,6 @@
]
}
],
- "AutofillDeduplicateAccountAddresses": [
- {
- "platforms": [
- "android",
- "chromeos",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillDeduplicateAccountAddresses"
- ]
- }
- ]
- }
- ],
"AutofillEnableBuyNowPayLaterDesktop": [
{
"platforms": [
@@ -2530,16 +2532,19 @@
]
}
],
- "AutofillEnableCardBenefitsForBmo": [
+ "AutofillEnableCvcStorage": [
{
"platforms": [
- "android"
+ "ios"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "AutofillEnableCardBenefitsForBmo"
+ "AutofillEnableCvcStorageAndFilling",
+ "AutofillEnableCvcStorageAndFillingEnhancement",
+ "AutofillEnableCvcStorageAndFillingStandaloneFormEnhancement",
+ "SyncAutofillWalletCredentialData"
]
}
]
@@ -2588,21 +2593,6 @@
]
}
],
- "AutofillEnableFlatRateCardBenefitsFromCurinos": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableFlatRateCardBenefitsFromCurinos"
- ]
- }
- ]
- }
- ],
"AutofillEnableFpanRiskBasedAuthentication": [
{
"platforms": [
@@ -2621,22 +2611,7 @@
]
}
],
- "AutofillEnableKeyboardAccessoryChipRedesign": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableKeyboardAccessoryChipRedesign"
- ]
- }
- ]
- }
- ],
- "AutofillEnableKeyboardAccessoryChipWidthAdjustment": [
+ "AutofillEnableKeyboardAccessoryRedesign": [
{
"platforms": [
"android"
@@ -2645,6 +2620,7 @@
{
"name": "Enabled",
"enable_features": [
+ "AutofillEnableKeyboardAccessoryChipRedesign",
"AutofillEnableKeyboardAccessoryChipWidthAdjustment"
]
}
@@ -2672,41 +2648,19 @@
]
}
],
- "AutofillEnableMultipleRequestInVirtualCardDownstreamEnrollment": [
+ "AutofillEnableLoyaltyCardsFieldParsingiOS": [
{
"platforms": [
- "android",
- "ios",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
+ "ios"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "AutofillEnableMultipleRequestInVirtualCardDownstreamEnrollment"
- ]
- }
- ]
- }
- ],
- "AutofillEnableNewFopDisplayDesktop": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableNewFopDisplayDesktop"
+ "AutofillEnableEmailOrLoyaltyCardsFilling",
+ "AutofillEnableLoyaltyCardsFilling",
+ "IPH_AutofillEnableLoyaltyCards",
+ "SyncAutofillLoyaltyCard"
]
}
]
@@ -2814,6 +2768,47 @@
]
}
],
+ "AutofillExtendZipCodeValidation": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AutofillExtendZipCodeValidation"
+ ]
+ }
+ ]
+ }
+ ],
+ "AutofillFixFormEquality": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AutofillFixFormEquality"
+ ]
+ }
+ ]
+ }
+ ],
"AutofillFixRewriterRules": [
{
"platforms": [
@@ -3099,28 +3094,6 @@
]
}
],
- "AutofillRelaxAddressImport": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableImportWhenMultiplePhoneNumbers",
- "AutofillRelaxAddressImport"
- ]
- }
- ]
- }
- ],
"AutofillServerExperimentalSignatures": [
{
"platforms": [
@@ -3406,7 +3379,7 @@
]
}
],
- "AutomatedPasswordChangeStudyV2": [
+ "AutomatedPasswordChangeStudyV3": [
{
"platforms": [
"chromeos",
@@ -3417,17 +3390,31 @@
"experiments": [
{
"name": "Enabled",
- "params": {
- "PasswordChangeCanceledSurveyTriggerId": "yMCuP6M4o0ugnJ3q1cK0PhQKJ1tX",
- "PasswordChangeDelayedSurveyTriggerId": "h68mSmrgL0ugnJ3q1cK0R6FWDDMV",
- "PasswordChangeErrorSurveyTriggerId": "QA4ECrqpN0ugnJ3q1cK0U1jrufAq",
- "PasswordChangeSuccessSurveyTriggerId": "JkkpCGkZT0ugnJ3q1cK0W48wvGnr",
- "probability": "1.0"
- },
"enable_features": [
- "CheckLoginStateBeforePasswordChange",
- "ImprovedPasswordChangeService",
- "PasswordChangeSubmissionMqlsLogging"
+ "CheckVisibilityInChangePasswordFormWaiter",
+ "DisableFillingOnPageLoadForLeakedCredentials",
+ "StopLoginCheckOnFailedLogin"
+ ],
+ "disable_features": [
+ "DownloadModelForPasswordChange"
+ ]
+ }
+ ]
+ }
+ ],
+ "AutomatedPasswordChangeStudyV4": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ReduceRequirementsForPasswordChange"
]
}
]
@@ -3746,7 +3733,7 @@
]
}
],
- "BackForwardTransitionsCrossDocSharedImage": [
+ "BackForwardTransitionsSharedImage": [
{
"platforms": [
"android"
@@ -3755,7 +3742,9 @@
{
"name": "Enabled",
"enable_features": [
- "BackForwardTransitionsCrossDocSharedImage"
+ "BackForwardTransitionsCrossDocSharedImage",
+ "BackForwardTransitionsNativePageSharedImage",
+ "BackForwardTransitionsSameDocSharedImage"
]
}
]
@@ -3787,22 +3776,6 @@
]
}
],
- "BackgroundNotPerceptibleBinding": [
- {
- "platforms": [
- "android",
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled_20250728",
- "enable_features": [
- "BackgroundNotPerceptibleBinding"
- ]
- }
- ]
- }
- ],
"BackgroundResourceFetch": [
{
"platforms": [
@@ -3824,6 +3797,33 @@
]
}
],
+ "BackgroundTabsInterventions": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "SustainedPMUrgentDiscarding",
+ "enable_features": [
+ "SustainedPMUrgentDiscarding"
+ ],
+ "disable_features": [
+ "InfiniteTabsFreezing"
+ ]
+ },
+ {
+ "name": "InfiniteTabsFreezing",
+ "enable_features": [
+ "InfiniteTabsFreezing"
+ ],
+ "disable_features": [
+ "SustainedPMUrgentDiscarding"
+ ]
+ }
+ ]
+ }
+ ],
"BackgroundThreadPoolPISupported": [
{
"platforms": [
@@ -4098,6 +4098,40 @@
]
}
],
+ "BocaReceiverCustomPolling": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "BocaReceiverCustomPollingInterval": "10s",
+ "BocaReceiverCustomPollingMaxFailuresCountx": "3"
+ },
+ "enable_features": [
+ "BocaReceiverCustomPolling"
+ ]
+ }
+ ]
+ }
+ ],
+ "BocaRedirectStudentAudioToKiosk": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "BocaRedirectStudentAudioToKiosk"
+ ]
+ }
+ ]
+ }
+ ],
"BocaScreenSharingStudent": [
{
"platforms": [
@@ -4394,6 +4428,24 @@
]
}
],
+ "BrowsingHistoryActorIntegrationM2": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "BrowsingHistoryActorIntegrationM2"
+ ]
+ }
+ ]
+ }
+ ],
"BubbleMetricsApi": [
{
"platforms": [
@@ -4576,6 +4628,21 @@
]
}
],
+ "CacheIdentityListInChrome": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "CacheIdentityListInChrome"
+ ]
+ }
+ ]
+ }
+ ],
"CacheIsMultiInstanceApi31Enabled": [
{
"platforms": [
@@ -4785,101 +4852,6 @@
]
}
],
- "CatanCombinedHoldback23H2": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "MainThreadCompositingPriority",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- },
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "RunTasksByBatches",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- },
- {
- "platforms": [
- "mac"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CacheMacSandboxProfiles",
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "MacSetDefaultTaskRole",
- "MainThreadCompositingPriority",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "RunTasksByBatches",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- },
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AboveNormalCompositingBrowserWin",
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "ExplicitHighResolutionTimerWin",
- "MainThreadCompositingPriority",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- }
- ],
"CctClientDataHeader": [
{
"platforms": [
@@ -5993,7 +5965,7 @@
]
}
],
- "ChromnientEduActionChip": [
+ "ChromnientEduActionChipV2": [
{
"platforms": [
"chromeos",
@@ -6041,7 +6013,7 @@
]
}
],
- "ChromnientReinvocationAffordance": [
+ "ChromnientNonBlockingPrivacyNotice": [
{
"platforms": [
"chromeos",
@@ -6053,7 +6025,56 @@
{
"name": "Enabled",
"enable_features": [
+ "LensOverlayNonBlockingPrivacyNotice"
+ ]
+ }
+ ]
+ }
+ ],
+ "ChromnientOptimizationFilter": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "LensOverlayOptimizationFilter"
+ ]
+ }
+ ]
+ }
+ ],
+ "ChromnientReinvocationAffordance": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "clear-vsint-when-no-region-selection": "true",
+ "enable-typeahead-suggestions": "true",
+ "lens-aim-suggestions-type": "Multimodal",
+ "number-of-aim-suggestions": "8",
+ "send-image-signals-for-lens-suggest": "false",
+ "send-lens-visual-interaction-data-for-lens-suggest": "true"
+ },
+ "enable_features": [
+ "LensAimSuggestions",
+ "LensOverlaySuggestionsMigration",
"LensSearchReinvocationAffordance"
+ ],
+ "disable_features": [
+ "LensAimSuggestionsGradientBackground"
]
}
]
@@ -6204,6 +6225,9 @@
"experiments": [
{
"name": "Enabled",
+ "params": {
+ "upload-chunk-retries": "2"
+ },
"enable_features": [
"LensOverlayUploadChunking"
]
@@ -6361,40 +6385,6 @@
]
}
],
- "CleanupLegacyTabState": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CleanupLegacyTabState"
- ]
- }
- ]
- }
- ],
- "ClearBrowsingDataAndroidSurvey": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "en_site_id": "TmqhVJ5cH0tK1KeaPYj0StW6qFe8",
- "probability": "0.0075"
- },
- "enable_features": [
- "ClearBrowsingDataAndroidSurvey"
- ]
- }
- ]
- }
- ],
"ClearGrShaderDiskCacheOnInvalidPrefix": [
{
"platforms": [
@@ -6429,8 +6419,9 @@
"name": "Enabled",
"params": {
"HCAcceptanceRate": "1.0",
- "MaxLength": "100",
- "MinLength": "30",
+ "MaxLength": "1000",
+ "MinLength": "50",
+ "ProcessPayload": "false",
"SampleRate": "1.0"
},
"enable_features": [
@@ -6996,24 +6987,6 @@
]
}
],
- "CompositorLoadingAnimations": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CompositorLoadingAnimations"
- ]
- }
- ]
- }
- ],
"CompressionDictionaryPreload": [
{
"platforms": [
@@ -7204,6 +7177,46 @@
]
}
],
+ "ContextualTasks": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "ContextualTasksEntryPoint": "toolbar-permanent"
+ },
+ "enable_features": [
+ "ContextualTasks",
+ "TabbedBrowserUseNewLayout"
+ ]
+ }
+ ]
+ }
+ ],
+ "ContextualTasksContext": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ContextualTasksContext"
+ ]
+ }
+ ]
+ }
+ ],
"ControlsVisibilityFromNavigations": [
{
"platforms": [
@@ -7631,21 +7644,6 @@
]
}
],
- "CrOSLateBootResourcedMsrLogger": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CrOSLateBootResourcedMsrLogger"
- ]
- }
- ]
- }
- ],
"CrOSLateBootResourcedVariableTimeMemorySignal": [
{
"platforms": [
@@ -8015,7 +8013,7 @@
"enable_features": [
"CrostiniContainerless"
],
- "min_os_version": "16450.0.0"
+ "min_os_version": "16467.0.0"
}
]
}
@@ -8214,25 +8212,6 @@
]
}
],
- "DbdRevampDesktop": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DbdRevampDesktop"
- ]
- }
- ]
- }
- ],
"DecommitPooledPages": [
{
"platforms": [
@@ -8285,6 +8264,23 @@
]
}
],
+ "DefaultBrowserFramework": [
+ {
+ "platforms": [
+ "windows",
+ "mac",
+ "linux"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "DefaultBrowserFramework"
+ ]
+ }
+ ]
+ }
+ ],
"DefaultBrowserPromoAndroid2": [
{
"platforms": [
@@ -8294,7 +8290,8 @@
{
"name": "Enabled",
"enable_features": [
- "DefaultBrowserPromoAndroid2"
+ "DefaultBrowserPromoAndroid2",
+ "EducationalTipDefaultBrowserPromoCard"
]
}
]
@@ -8380,6 +8377,26 @@
]
}
],
+ "DelayRfhDestructionsOnUnloadAndDetach": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "DelayRfhDestructionsOnUnloadAndDetach"
+ ]
+ }
+ ]
+ }
+ ],
"DelegatedCompositingOnWindows": [
{
"platforms": [
@@ -8496,6 +8513,21 @@
]
}
],
+ "DesktopMediaPickerCheckAudioPermissions": [
+ {
+ "platforms": [
+ "mac"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "DesktopMediaPickerCheckAudioPermissions"
+ ]
+ }
+ ]
+ }
+ ],
"DesktopNtpDriveCache": [
{
"platforms": [
@@ -8517,24 +8549,6 @@
]
}
],
- "DesktopNtpDriveHistorySyncRequirement": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "NtpDriveModuleHistorySyncRequirement"
- ]
- }
- ]
- }
- ],
"DesktopNtpImageErrorDetection": [
{
"platforms": [
@@ -8819,7 +8833,8 @@
"name": "Enabled",
"enable_features": [
"SilentPolicyAndDefaultAppUpdating",
- "WebAppPredictableAppUpdating"
+ "WebAppPredictableAppUpdating",
+ "WebAppUsePrimaryIcon"
]
}
]
@@ -8837,7 +8852,7 @@
"ext_display_desktop_ua_oem_allowlist": "samsung"
},
"enable_features": [
- "DesktopUAOnConnectedDisplays"
+ "DesktopUAOnConnectedDisplay"
]
}
]
@@ -8876,6 +8891,24 @@
]
}
],
+ "DevToolsConsoleInsightsTeasers": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "DevToolsAiPromptApi"
+ ]
+ }
+ ]
+ }
+ ],
"DeviceBoundSessionCredentials2": [
{
"platforms": [
@@ -8945,21 +8978,6 @@
]
}
],
- "DirectCompositorThreadIpcWin": [
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DirectCompositorThreadIpc"
- ]
- }
- ]
- }
- ],
"DirtyWritebackMaxBytes": [
{
"platforms": [
@@ -9052,25 +9070,6 @@
]
}
],
- "DisableInstanceLimitWithV2Switcher": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "max_instance_limit": "20"
- },
- "enable_features": [
- "DisableInstanceLimit",
- "InstanceSwitcherV2"
- ]
- }
- ]
- }
- ],
"DisableMemoryReclaimerInBackground": [
{
"platforms": [
@@ -9124,6 +9123,22 @@
]
}
],
+ "DisableProgressBarAndroidAnimations": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AndroidPbDisablePulseAnimation",
+ "AndroidPbDisableSmoothAnimation"
+ ]
+ }
+ ]
+ }
+ ],
"DisableSystemBlur": [
{
"platforms": [
@@ -9229,29 +9244,6 @@
]
}
],
- "DiscountConsentV2": [
- {
- "platforms": [
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "enabled_ntp_native_dialog_with_approved_strings_M104_20220809",
- "params": {
- "discount-consent-ntp-variation": "4",
- "step-one-static-content": "Let Google help you find discounts for your carts",
- "step-one-use-static-content": "true"
- },
- "enable_features": [
- "DiscountConsentV2"
- ]
- }
- ]
- }
- ],
"DiskCacheBackendExperiment": [
{
"platforms": [
@@ -9266,10 +9258,14 @@
{
"name": "Sql",
"params": {
+ "SqlDiskCacheLoadIndexOnInit": "true",
+ "SqlDiskCacheShardCount": "3",
+ "SqlDiskCacheSynchronousOff": "true",
"backend": "sql"
},
"enable_features": [
- "DiskCacheBackendExperiment"
+ "DiskCacheBackendExperiment",
+ "HttpCacheInitializeDiskCacheBackendEarly"
]
}
]
@@ -9599,6 +9595,7 @@
"platforms": [
"android",
"chromeos",
+ "ios",
"linux",
"mac",
"windows"
@@ -9607,7 +9604,9 @@
{
"name": "Enabled",
"enable_features": [
- "DynamicProfileCountry"
+ "DynamicProfileCountry",
+ "StrictAssociatedCountriesCheck",
+ "WaffleRestrictToAssociatedCountries"
]
}
]
@@ -9647,28 +9646,6 @@
]
}
],
- "EmitPerScrollJankMetricsAtEndOfScroll": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Experiment_V1EnabledV4Disabled",
- "enable_features": [
- "EmitPerScrollJankV1MetricAtEndOfScroll"
- ],
- "disable_features": [
- "EmitPerScrollJankV4MetricAtEndOfScroll"
- ]
- }
- ]
- }
- ],
"En840AndFstDecoderParamsUpdate": [
{
"platforms": [
@@ -9678,7 +9655,6 @@
{
"name": "Enable_Model_And_Params_20230602",
"enable_features": [
- "ImeFstDecoderParamsUpdate",
"ImeUsEnglishModelUpdate"
]
}
@@ -9780,7 +9756,7 @@
"name": "Enabled",
"enable_features": [
"EnableBestEffortTaskInhibitingPolicy",
- "ScopedBestEffortExecutionFenceOnUIThread"
+ "ScopedBestEffortExecutionFenceForTaskQueue"
]
}
]
@@ -9831,6 +9807,21 @@
]
}
],
+ "EnableClipboardDataControlsIOS": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableClipboardDataControlsIOS"
+ ]
+ }
+ ]
+ }
+ ],
"EnableCustomInputStreamBufferSize": [
{
"platforms": [
@@ -9928,6 +9919,21 @@
]
}
],
+ "EnableExclusiveAccessManager": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableExclusiveAccessManager"
+ ]
+ }
+ ]
+ }
+ ],
"EnableFallbackFontsCrashReporting": [
{
"platforms": [
@@ -10070,6 +10076,54 @@
]
}
],
+ "EnableNewUploadSizeLimit": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_200MB",
+ "params": {
+ "max_file_size_mb": "200"
+ },
+ "enable_features": [
+ "EnableNewUploadSizeLimit"
+ ]
+ },
+ {
+ "name": "Enabled_500MB",
+ "params": {
+ "max_file_size_mb": "500"
+ },
+ "enable_features": [
+ "EnableNewUploadSizeLimit"
+ ]
+ },
+ {
+ "name": "Enabled_1GB",
+ "params": {
+ "max_file_size_mb": "1024"
+ },
+ "enable_features": [
+ "EnableNewUploadSizeLimit"
+ ]
+ },
+ {
+ "name": "Enabled_2GB",
+ "params": {
+ "max_file_size_mb": "2048"
+ },
+ "enable_features": [
+ "EnableNewUploadSizeLimit"
+ ]
+ }
+ ]
+ }
+ ],
"EnablePDPMetricsUSDesktopIOS": [
{
"platforms": [
@@ -10240,27 +10294,6 @@
]
}
],
- "EnableVerdictCache": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "verdict_cache_max_size": "200"
- },
- "enable_features": [
- "EnableVerdictCache"
- ]
- }
- ]
- }
- ],
"EnableWatermarkCustomization": [
{
"platforms": [
@@ -10297,23 +10330,6 @@
]
}
],
- "EncryptedPrefHashing": [
- {
- "platforms": [
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EncryptedPrefHashing"
- ]
- }
- ]
- }
- ],
"EndOfLifeIncentive": [
{
"platforms": [
@@ -10579,21 +10595,6 @@
]
}
],
- "ExtendedReportingRemovePrefDependencyIos": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "EnabledRemovePrefDependencyIos",
- "enable_features": [
- "ExtendedReportingRemovePrefDependencyIos"
- ]
- }
- ]
- }
- ],
"ExtensionManifestV2Deprecation": [
{
"platforms": [
@@ -10640,12 +10641,29 @@
],
"experiments": [
{
- "name": "Variant1",
+ "name": "Chips_v1",
"params": {
- "x_iph-variant": "custom-action-iph"
+ "x_iph-variant": "custom-ui-chip-iph"
+ },
+ "enable_features": [
+ "IPH_ExtensionsZeroStatePromo"
+ ]
+ },
+ {
+ "name": "Chips_v2",
+ "params": {
+ "x_iph-variant": "ustom-ui-chip-iph-v2"
+ },
+ "enable_features": [
+ "IPH_ExtensionsZeroStatePromo"
+ ]
+ },
+ {
+ "name": "Chips_v3",
+ "params": {
+ "x_iph-variant": "custom-ui-chip-iph-v3"
},
"enable_features": [
- "ExtensionsCollapseMainMenu",
"IPH_ExtensionsZeroStatePromo"
]
}
@@ -10718,6 +10736,7 @@
"android",
"android_webview",
"chromeos",
+ "ios",
"linux",
"mac",
"windows"
@@ -11064,44 +11083,6 @@
]
}
],
- "FledgeBiddingAndAuctionNonceSupport": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows",
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeBiddingAndAuctionNonceSupport"
- ]
- }
- ]
- }
- ],
- "FledgeModifyInterestGroupPolicyCheckOnOwner": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows",
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeModifyInterestGroupPolicyCheckOnOwner"
- ]
- }
- ]
- }
- ],
"Floss": [
{
"platforms": [
@@ -11117,6 +11098,21 @@
]
}
],
+ "FluidResize": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "FluidResize"
+ ]
+ }
+ ]
+ }
+ ],
"FlushPersistentSystemProfileOnWrite": [
{
"platforms": [
@@ -11193,6 +11189,33 @@
]
}
],
+ "FontDataServiceLinux": [
+ {
+ "platforms": [
+ "linux"
+ ],
+ "experiments": [
+ {
+ "name": "Fontations_Enabled",
+ "params": {
+ "typeface": "Fontations"
+ },
+ "enable_features": [
+ "FontDataServiceLinux"
+ ]
+ },
+ {
+ "name": "Freetype_Enabled",
+ "params": {
+ "typeface": "Freetype"
+ },
+ "enable_features": [
+ "FontDataServiceLinux"
+ ]
+ }
+ ]
+ }
+ ],
"ForceMigrateSyncingUserToSignedInAndroid": [
{
"platforms": [
@@ -11328,6 +11351,21 @@
]
}
],
+ "FuturePoliciesOnDesktopAndroid": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "FuturePoliciesOnDesktopAndroid"
+ ]
+ }
+ ]
+ }
+ ],
"GCMUseDedicatedNetworkThread": [
{
"platforms": [
@@ -11520,6 +11558,44 @@
]
}
],
+ "GlicButtonAltLabel": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "LabelA",
+ "params": {
+ "glic-button-alt-label-variant": "0"
+ },
+ "enable_features": [
+ "GlicButtonAltLabel"
+ ]
+ },
+ {
+ "name": "LabelB",
+ "params": {
+ "glic-button-alt-label-variant": "1"
+ },
+ "enable_features": [
+ "GlicButtonAltLabel"
+ ]
+ },
+ {
+ "name": "LabelC",
+ "params": {
+ "glic-button-alt-label-variant": "2"
+ },
+ "enable_features": [
+ "GlicButtonAltLabel"
+ ]
+ }
+ ]
+ }
+ ],
"GlicClientResponsivenessCheckExtension": [
{
"platforms": [
@@ -11577,7 +11653,8 @@
"platforms": [
"mac",
"windows",
- "linux"
+ "linux",
+ "chromeos"
],
"experiments": [
{
@@ -11589,6 +11666,22 @@
]
}
],
+ "GlicEnableMultiInstanceBasedOnTier": [
+ {
+ "platforms": [
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "GlicEnableMultiInstanceBasedOnTier"
+ ]
+ }
+ ]
+ }
+ ],
"GlicEntrypointVariations": [
{
"platforms": [
@@ -11597,6 +11690,12 @@
"windows"
],
"experiments": [
+ {
+ "name": "Control_MultiArm",
+ "disable_features": [
+ "GlicEntrypointVariations"
+ ]
+ },
{
"name": "Arm2_LabelOnly",
"params": {
@@ -11731,6 +11830,8 @@
{
"name": "Enabled",
"enable_features": [
+ "GlicIntro",
+ "GlicLearnMore",
"GlicRollout"
]
}
@@ -11807,6 +11908,41 @@
]
}
],
+ "GlicShareImage": [
+ {
+ "platforms": [
+ "mac",
+ "windows",
+ "linux"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_20251023",
+ "enable_features": [
+ "GlicShareImage",
+ "SvgFallBackToContainerSize"
+ ]
+ }
+ ]
+ }
+ ],
+ "GlicSidePanelChromeOS": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "GlicMultiInstance",
+ "GlicMultiTab",
+ "GlicMultitabUnderlines"
+ ]
+ }
+ ]
+ }
+ ],
"GlicTieredRollout": [
{
"platforms": [
@@ -12153,6 +12289,28 @@
]
}
],
+ "HandleNonDamagingInputsInScrollJankV4Metric": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Experiment_NewBehaviorCountAllFrames",
+ "params": {
+ "count_non_damaging_frames_towards_histogram_frame_count": "true"
+ },
+ "enable_features": [
+ "HandleNonDamagingInputsInScrollJankV4Metric"
+ ]
+ }
+ ]
+ }
+ ],
"HangoutsExtensionV3": [
{
"platforms": [
@@ -12677,6 +12835,51 @@
]
}
],
+ "HeliosFullChatHistory": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "GeminiFullChatHistory"
+ ]
+ }
+ ]
+ }
+ ],
+ "HeliosImmediateOverlay": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "GeminiImmediateOverlay"
+ ]
+ }
+ ]
+ }
+ ],
+ "HeliosLoadingRedesign": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "GeminiLoadingStateRedesign"
+ ]
+ }
+ ]
+ }
+ ],
"HelpAppLauncherSearch": [
{
"platforms": [
@@ -12800,26 +13003,6 @@
]
}
],
- "HstsTopLevelNavigationsOnly": [
- {
- "platforms": [
- "android_webview",
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "HstsTopLevelNavigationsOnly"
- ]
- }
- ]
- }
- ],
"HttpCacheNoVarySearch": [
{
"platforms": [
@@ -12875,15 +13058,14 @@
],
"experiments": [
{
- "name": "Enabled_NVS_HttpCache_Only_WithNewAreEquivalent_DevCanary_1008_Desktop",
+ "name": "Enabled_NVS_HttpCache_And_Omnibox_Prefetch",
"enable_features": [
"HttpCacheNoVarySearch",
- "HttpNoVarySearchDataUseNewAreEquivalent"
+ "SearchPrefetchWithNoVarySearchDiskCache"
],
"disable_features": [
"DsePreload2",
- "PrefetchPrerenderIntegration",
- "SearchPrefetchWithNoVarySearchDiskCache"
+ "PrefetchPrerenderIntegration"
]
}
]
@@ -12936,24 +13118,6 @@
]
}
],
- "HttpsFirstDialogUi": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "HttpsFirstDialogUi"
- ]
- }
- ]
- }
- ],
"HttpsFirstModeV2ForTypicallySecureUsers": [
{
"platforms": [
@@ -12973,6 +13137,21 @@
]
}
],
+ "IOSAutoOpenRemoteTabGroupsSettings": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "IOSAutoOpenRemoteTabGroupsSettings"
+ ]
+ }
+ ]
+ }
+ ],
"IOSAutofillAcrossIframesV2": [
{
"platforms": [
@@ -12991,21 +13170,6 @@
]
}
],
- "IOSAutofillBadgeRemoval": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillBadgeRemoval"
- ]
- }
- ]
- }
- ],
"IOSAutofillBottomSheetNewBlur": [
{
"platforms": [
@@ -13021,6 +13185,21 @@
]
}
],
+ "IOSAutofillPaymentsSheetV3": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AutofillPaymentsSheetV3Ios"
+ ]
+ }
+ ]
+ }
+ ],
"IOSAutofillRefillForForms": [
{
"platforms": [
@@ -13084,6 +13263,41 @@
]
}
],
+ "IOSBottomMultilineOmnibox": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "EnabledWithEditStateFollowSteadyState",
+ "params": {
+ "kBottomOmniboxEvolutionParam": "kBottomOmniboxEvolutionParamEditStateFollowSteadyState"
+ },
+ "enable_features": [
+ "BottomOmniboxEvolution",
+ "MultilineBrowserOmnibox"
+ ]
+ },
+ {
+ "name": "EnabledWithForceBottomOmniboxEditState",
+ "params": {
+ "kBottomOmniboxEvolutionParam": "kBottomOmniboxEvolutionParamForceBottomOmniboxEditState"
+ },
+ "enable_features": [
+ "BottomOmniboxEvolution",
+ "MultilineBrowserOmnibox"
+ ]
+ },
+ {
+ "name": "EnabledWithoutBottomOmniboxOnFocus",
+ "enable_features": [
+ "MultilineBrowserOmnibox"
+ ]
+ }
+ ]
+ }
+ ],
"IOSBrowserEditMenuMetrics": [
{
"platforms": [
@@ -13130,21 +13344,6 @@
]
}
],
- "IOSCriteriaExperimentEnabled": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DefaultBrowserTriggerCriteriaExperiment"
- ]
- }
- ]
- }
- ],
"IOSDefaultBrowserOffCyclePromo": [
{
"platforms": [
@@ -13195,6 +13394,9 @@
"experiments": [
{
"name": "Enabled",
+ "params": {
+ "cooldown-days": "14"
+ },
"enable_features": [
"DefaultBrowserPromoPropensityModel"
]
@@ -13510,21 +13712,6 @@
]
}
],
- "IOSIncognitoSoftLock": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "IOSSoftLock"
- ]
- }
- ]
- }
- ],
"IOSKeepsRenderProcessAlive": [
{
"platforms": [
@@ -13540,6 +13727,21 @@
]
}
],
+ "IOSKeyboardAccessoryTwoBubble": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "IOSKeyboardAccessoryTwoBubble"
+ ]
+ }
+ ]
+ }
+ ],
"IOSLensFetchSrp": [
{
"platforms": [
@@ -13785,8 +13987,8 @@
],
"experiments": [
{
- "name": "Enabled",
- "enable_features": [
+ "name": "Disabled",
+ "disable_features": [
"IOSPasskeyModalLoginWithShim"
]
}
@@ -13808,6 +14010,21 @@
]
}
],
+ "IOSPersistTabContext": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "PersistTabContext"
+ ]
+ }
+ ]
+ }
+ ],
"IOSProactivePasswordGenerationBottomSheet": [
{
"platforms": [
@@ -13823,6 +14040,21 @@
]
}
],
+ "IOSProactiveSuggestionsFramework": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "IOSProactiveSuggestionsFramework"
+ ]
+ }
+ ]
+ }
+ ],
"IOSReaderMode": [
{
"platforms": [
@@ -13832,19 +14064,35 @@
{
"name": "Enabled",
"enable_features": [
- "EnableReadabilityHeuristic",
"EnableReaderMode",
- "EnableReaderModeDefaultBrowserPromo",
- "EnableReaderModeTranslation",
+ "EnableReaderModeOmniboxEntryPoint",
"ReaderModeUseReadability"
],
"disable_features": [
+ "EnableReadabilityHeuristic",
+ "EnableReaderModeDefaultBrowserPromo",
+ "EnableReaderModeInUS",
"EnableReaderModePageEligibilityForToolsMenu"
]
}
]
}
],
+ "IOSReaderModeWithTranslate": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableReaderModeTranslation"
+ ]
+ }
+ ]
+ }
+ ],
"IOSSafariImportWorkflow": [
{
"platforms": [
@@ -13920,7 +14168,7 @@
]
}
],
- "IOSShareExtensionMIM": [
+ "IOSShowTabGroupInGridOnStart": [
{
"platforms": [
"ios"
@@ -13929,7 +14177,7 @@
{
"name": "Enabled",
"enable_features": [
- "ShareExtensionForMultiprofile"
+ "ShowTabGroupInGridOnStart"
]
}
]
@@ -14034,6 +14282,25 @@
]
}
],
+ "IOSSyncedSetUp": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "SyncedSetUpImpressionLimit": "1"
+ },
+ "enable_features": [
+ "EnableCrossDevicePrefTracker",
+ "IOSSyncedSetUp"
+ ]
+ }
+ ]
+ }
+ ],
"IOSTFLiteLanguageDetection": [
{
"platforms": [
@@ -14050,6 +14317,21 @@
]
}
],
+ "IOSTabGridDragAndDrop": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "TabGridDragAndDrop"
+ ]
+ }
+ ]
+ }
+ ],
"IOSTabResumptionShopCard": [
{
"platforms": [
@@ -14259,21 +14541,6 @@
]
}
],
- "IdentityInAuthError": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EnableIdentityInAuthError"
- ]
- }
- ]
- }
- ],
"IgnoreDiscardAttemptMarker": [
{
"platforms": [
@@ -14409,13 +14676,15 @@
"AdditionalDelay": "100ms",
"DelayMainJobWithAvailableSpdySession": "false",
"QuicHandshakeTimeout": "15s",
- "mtu": "1230"
+ "mtu": "1230",
+ "quic_options": "ORIG"
},
"enable_features": [
"AdditionalDelayMainJob",
"ConfigureQuicHints",
"ExtendQuicHandshakeTimeout",
- "LowerQuicMaxPacketSize"
+ "LowerQuicMaxPacketSize",
+ "TryQuicByDefault"
]
}
]
@@ -14444,6 +14713,42 @@
]
}
],
+ "InfobarPrioritization": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "InfobarPrioritization"
+ ]
+ }
+ ]
+ }
+ ],
+ "InfobarRefresh": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "InfobarRefresh"
+ ]
+ }
+ ]
+ }
+ ],
"InhibitSQLPreload": [
{
"platforms": [
@@ -14475,6 +14780,25 @@
]
}
],
+ "InhibitSQLReleaseCacheMemoryIfNeeded": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "windows",
+ "mac"
+ ],
+ "experiments": [
+ {
+ "name": "InhibitSQLReleaseCacheMemoryIfNeeded",
+ "enable_features": [
+ "InhibitSQLReleaseCacheMemoryIfNeeded"
+ ]
+ }
+ ]
+ }
+ ],
"InlineFullscreenPerfExperiment": [
{
"platforms": [
@@ -14504,28 +14828,6 @@
"enable_features": [
"InputOnViz"
]
- },
- {
- "name": "InputOnVizPredictionAtDeadlineEnabled",
- "params": {
- "mode": "UseScrollPredictorForDeadline"
- },
- "enable_features": [
- "InputOnViz",
- "WaitForLateScrollEvents"
- ]
- },
- {
- "name": "InputOnVizDisabledPredictionAtDeadlineEnabled",
- "params": {
- "mode": "UseScrollPredictorForDeadline"
- },
- "enable_features": [
- "WaitForLateScrollEvents"
- ],
- "disable_features": [
- "InputOnViz"
- ]
}
]
}
@@ -15154,17 +15456,15 @@
"length": "65536"
},
"enable_features": [
- "LibraryPrefetcherMadvise"
+ "LibraryPrefetcherMadvise",
+ "WebViewPrefetchNativeLibrary"
]
},
{
- "name": "Enabled_1",
- "params": {
- "fallback": "true",
- "length": "1"
- },
- "enable_features": [
- "LibraryPrefetcherMadvise"
+ "name": "AblatePrefetch",
+ "disable_features": [
+ "LibraryPrefetcherMadvise",
+ "WebViewPrefetchNativeLibrary"
]
}
]
@@ -15226,6 +15526,26 @@
]
}
],
+ "LoadAllTabsAtStartup": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "LazyBrowserInterfaceBroker",
+ "LoadAllTabsAtStartup"
+ ]
+ }
+ ]
+ }
+ ],
"LoadNativeEarly": [
{
"platforms": [
@@ -15292,24 +15612,6 @@
]
}
],
- "LocalIpAddressInEvents": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "LocalIpAddressInEvents"
- ]
- }
- ]
- }
- ],
"LocalNetworkAccessChecks": [
{
"platforms": [
@@ -15742,6 +16044,28 @@
]
}
],
+ "MediaIndicatorsAndroid": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MediaIndicatorsAndroid"
+ ]
+ },
+ {
+ "name": "EnabledWithEnhancedAudioResponsiveness",
+ "enable_features": [
+ "EnableAudioMonitoringOnAndroid",
+ "MediaIndicatorsAndroid"
+ ]
+ }
+ ]
+ }
+ ],
"MeetDevicesMojoServices": [
{
"platforms": [
@@ -15768,194 +16092,18 @@
]
}
],
- "MemoryCacheCombined": [
+ "MemoryConsumerForNGShapeCache": [
{
"platforms": [
- "chromeos",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "IP_Enabled",
+ "name": "Enabled",
"enable_features": [
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference",
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ],
- "disable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheStrongReferenceExtensions"
- ]
- },
- {
- "name": "IP_Enabled_NoPressureRelease",
- "enable_features": [
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference"
- ],
- "disable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheStrongReferenceExtensions",
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "MaxLimits1HourDelay",
- "params": {
- "memory_cache_strong_ref_resource_size_threshold": "104857600",
- "memory_cache_strong_ref_total_size_threshold": "209715200",
- "strong_reference_prune_delay": "60m"
- },
- "enable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheStrongReference"
- ],
- "disable_features": [
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReferenceExtensions",
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "MaxLimits1HourDelay_HM",
- "params": {
- "image": "true",
- "manifest": "true",
- "memory_cache_strong_ref_resource_size_threshold": "104857600",
- "memory_cache_strong_ref_total_size_threshold": "209715200",
- "raw": "true",
- "strong_reference_prune_delay": "60m",
- "svg_document": "true",
- "xsl_stylesheet": "true"
- },
- "enable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheStrongReference",
- "MemoryCacheStrongReferenceExtensions"
- ],
- "disable_features": [
- "MemoryCacheIntelligentPruning",
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "Combination_HM_MaxLimits",
- "params": {
- "image": "true",
- "manifest": "true",
- "memory_cache_strong_ref_resource_size_threshold": "104857600",
- "memory_cache_strong_ref_total_size_threshold": "209715200",
- "raw": "true",
- "strong_reference_prune_delay": "60m",
- "svg_document": "true",
- "xsl_stylesheet": "true"
- },
- "enable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference",
- "MemoryCacheStrongReferenceExtensions"
- ],
- "disable_features": [
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "Combination_Image_MaxLimits",
- "params": {
- "image": "true",
- "memory_cache_strong_ref_resource_size_threshold": "104857600",
- "memory_cache_strong_ref_total_size_threshold": "209715200",
- "strong_reference_prune_delay": "60m"
- },
- "enable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference",
- "MemoryCacheStrongReferenceExtensions"
- ],
- "disable_features": [
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "Combination_HM_MaxLimits_Balanced",
- "params": {
- "cost_weight": "0.0005",
- "freq_weight": "75.0",
- "image": "true",
- "manifest": "true",
- "memory_cache_strong_ref_resource_size_threshold": "104857600",
- "memory_cache_strong_ref_total_size_threshold": "209715200",
- "raw": "true",
- "strong_reference_prune_delay": "60m",
- "svg_document": "true",
- "type_weight": "75.0",
- "xsl_stylesheet": "true"
- },
- "enable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference",
- "MemoryCacheStrongReferenceExtensions"
- ],
- "disable_features": [
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "Combination_HM_MaxLimits_SizeAware",
- "params": {
- "cost_weight": "0.005",
- "freq_weight": "60.0",
- "image": "true",
- "manifest": "true",
- "memory_cache_strong_ref_resource_size_threshold": "104857600",
- "memory_cache_strong_ref_total_size_threshold": "209715200",
- "raw": "true",
- "strong_reference_prune_delay": "60m",
- "svg_document": "true",
- "type_weight": "80.0",
- "xsl_stylesheet": "true"
- },
- "enable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference",
- "MemoryCacheStrongReferenceExtensions"
- ],
- "disable_features": [
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
- ]
- },
- {
- "name": "IntelligentPruning_HM_DefaultLimits",
- "params": {
- "image": "true",
- "manifest": "true",
- "raw": "true",
- "svg_document": "true",
- "xsl_stylesheet": "true"
- },
- "enable_features": [
- "MemoryCacheIntelligentPruning",
- "MemoryCacheStrongReference",
- "MemoryCacheStrongReferenceExtensions"
- ],
- "disable_features": [
- "MemoryCacheChangeStrongReferencePruneDelay",
- "ReleaseResourceDecodedDataOnMemoryPressure",
- "ReleaseResourceStrongReferencesOnMemoryPressure"
+ "MemoryConsumerForNGShapeCache"
]
}
]
@@ -16168,6 +16316,39 @@
]
}
],
+ "MobilePromoOnDesktop": [
+ {
+ "platforms": [
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MobilePromoOnDesktop"
+ ]
+ }
+ ]
+ }
+ ],
+ "MobilePromoOnDesktopDataCollection": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MobilePromoOnDesktopRecordActiveDays"
+ ]
+ }
+ ]
+ }
+ ],
"MojoChannelAssociatedSendUsesRunOrPostTask": [
{
"platforms": [
@@ -16225,6 +16406,21 @@
]
}
],
+ "MovePasswordLeakDetectionToggleIos": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MovePasswordLeakDetectionToggleIos"
+ ]
+ }
+ ]
+ }
+ ],
"MultiCalendarSupport": [
{
"platforms": [
@@ -16291,6 +16487,22 @@
]
}
],
+ "NTPPopularSites": [
+ {
+ "platforms": [
+ "android",
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Version7",
+ "params": {
+ "version": "7"
+ }
+ }
+ ]
+ }
+ ],
"NavigationThrottleRegistryAttributeCache": [
{
"platforms": [
@@ -16563,39 +16775,6 @@
]
}
],
- "NewTabPageCustomizationForMvt": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "NewTabPageCustomizationForMvt"
- ]
- }
- ]
- }
- ],
- "NewTabsInGroups": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "NewTabAddsToActiveGroup"
- ]
- }
- ]
- }
- ],
"NimbleCollisionAvoidanceV1": [
{
"platforms": [
@@ -16629,6 +16808,21 @@
]
}
],
+ "NoPreReadMainDllStartup": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "NoPreReadMainDllStartup"
+ ]
+ }
+ ]
+ }
+ ],
"NoThrottlingVisibleAgent": [
{
"platforms": [
@@ -16790,7 +16984,6 @@
"name": "Enabled",
"params": {
"ConfigParam": "CgIIAxI8CAEQARoXCAAQ4MZbGMAMIMAMKCgyB2ltYWdlLyoiGwiAhK9fEhQucGRmLGFwcGxpY2F0aW9uL3BkZigB",
- "SendLnsSurfaceParam": "true",
"ShowComposeboxZps": "true",
"ShowContextMenu": "true"
},
@@ -16802,6 +16995,23 @@
]
}
],
+ "NtpCustomizeChromeAutoOpen": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Control",
+ "disable_features": [
+ "NtpCustomizeChromeAutoOpen"
+ ]
+ }
+ ]
+ }
+ ],
"NtpMicrosoftFilesCard": [
{
"platforms": [
@@ -16874,6 +17084,22 @@
]
}
],
+ "OAuthMultiloginStandardCookiesBinding": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableOAuthMultiloginStandardCookiesBinding",
+ "UseUnexportableKeyServiceInBrowserProcess"
+ ]
+ }
+ ]
+ }
+ ],
"OcclusionCullingQuadSplitLimit": [
{
"platforms": [
@@ -17403,6 +17629,24 @@
]
}
],
+ "OnTaskStatusCheck": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "OnTaskStatusCheckInterval": "60s"
+ },
+ "enable_features": [
+ "OnTaskStatusCheck"
+ ]
+ }
+ ]
+ }
+ ],
"OneGroupPerRenderer": [
{
"platforms": [
@@ -17703,25 +17947,6 @@
]
}
],
- "PWANavigationCapturingAndroidFullscreenWindowing": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "EnabledFullscreenWindowingNavigations",
- "params": {
- "auxiliary_navigation_stays_in_browser": "all_wm"
- },
- "enable_features": [
- "AuxiliaryNavigationStaysInBrowser",
- "AuxiliaryNavigationStaysInPWA"
- ]
- }
- ]
- }
- ],
"PageActionsMigration": [
{
"platforms": [
@@ -17741,9 +17966,11 @@
"cookie_controls": "true",
"discounts": "true",
"file_system_access": "true",
+ "filled_card_information": "true",
"find": "true",
"intent_picker": "true",
"lens_overlay": "true",
+ "lens_overlay_homework": "true",
"manage_passwords": "true",
"mandatory_reauth": "true",
"memory_saver": "true",
@@ -17751,8 +17978,10 @@
"price_insights": "true",
"price_tracking": "true",
"pwa_install": "true",
+ "save_payments": "true",
"sharing_hub": "true",
"translate": "true",
+ "virtual_card": "true",
"zoom": "true"
},
"enable_features": [
@@ -17892,6 +18121,46 @@
]
}
],
+ "PartitionAllocFreeWithSize": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "enabled_with_strict_check_20251212",
+ "params": {
+ "strict-free-size-check": "true"
+ },
+ "enable_features": [
+ "PartitionAllocFreeWithSize"
+ ]
+ }
+ ]
+ }
+ ],
+ "PartitionAllocLockTuneSpin": [
+ {
+ "platforms": [
+ "android",
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "PartitionAllocLockTuneSpin"
+ ]
+ }
+ ]
+ }
+ ],
"PartitionAllocMemoryReclaimer": [
{
"platforms": [
@@ -18186,6 +18455,28 @@
]
}
],
+ "PasskeyUnlockErrorUi": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_with_unlock_wording_20251209",
+ "params": {
+ "passkey_unlock_ui_experiment_arm": "text_with_unlock_wording"
+ },
+ "enable_features": [
+ "PasskeyUnlockErrorUi",
+ "PasskeyUnlockManager"
+ ]
+ }
+ ]
+ }
+ ],
"PasswordFormGroupedAffiliations": [
{
"platforms": [
@@ -18313,6 +18604,27 @@
]
}
],
+ "PdfInkSignaturesTextHighlighter": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "enabled",
+ "params": {
+ "text-highlighting": "true"
+ },
+ "enable_features": [
+ "PdfInk2"
+ ]
+ }
+ ]
+ }
+ ],
"PdfOutOfProcessIframe": [
{
"platforms": [
@@ -18348,6 +18660,28 @@
]
}
],
+ "PdfSaveToDriveSurvey": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "consumer-trigger-id": "E6hRdJzmG0ugnJ3q1cK0WrDN8qfv",
+ "enterprise-trigger-id": "NYK9PbTYD0ugnJ3q1cK0Twvu4X5v",
+ "probability": "1.0"
+ },
+ "enable_features": [
+ "PdfSaveToDriveSurvey"
+ ]
+ }
+ ]
+ }
+ ],
"PdfUseShowSaveFilePicker": [
{
"platforms": [
@@ -18431,33 +18765,182 @@
{
"platforms": [
"android",
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "EnabledConservative_20251114",
+ "params": {
+ "MacCriticalDiskSpacePressureThresholdMB": "250"
+ },
+ "enable_features": [
+ "AbslFlatMapInVariantMap",
+ "AsyncSetCookie",
+ "AvoidCloneArgsOnExtensionFunctionDispatch",
+ "AvoidUnnecessaryGetMinimizeButtonOffset",
+ "AvoidUnnecessaryShouldRenderRichAnimation",
+ "CompressParkableStrings",
+ "FastPathNoRaster",
+ "GCOnArrayBufferAllocationFailure",
+ "MacAllowBackgroundingRenderProcesses",
+ "MacCriticalDiskSpacePressure",
+ "MvcUpdateViewWhenModelChanged",
+ "NoPreReadMainDllIfSsd",
+ "PageAllocatorRetryOnCommitFailure",
+ "ReducePPMs",
+ "ReloadTabUiResourcesIfChanged",
+ "RemoveCancelledScriptedIdleTasks",
+ "ScreenWinDisplayLookupByHMONITOR",
+ "SlimDirectReceiverIpc",
+ "TerminationTargetPolicy",
+ "UpdateDirectManipulationHelperOnParentChange"
+ ],
+ "disable_features": [
+ "MemoryCacheStrongReference",
+ "SuppressMemoryListeners",
+ "SuppressMemoryMonitor"
+ ]
+ }
+ ]
+ },
+ {
+ "platforms": [
"chromeos",
- "ios",
- "linux",
- "mac",
+ "linux"
+ ],
+ "experiments": [
+ {
+ "name": "EnabledConservative_20251114",
+ "params": {
+ "MacCriticalDiskSpacePressureThresholdMB": "250"
+ },
+ "enable_features": [
+ "AbslFlatMapInVariantMap",
+ "AsyncSetCookie",
+ "AvoidCloneArgsOnExtensionFunctionDispatch",
+ "AvoidUnnecessaryGetMinimizeButtonOffset",
+ "AvoidUnnecessaryShouldRenderRichAnimation",
+ "CompressParkableStrings",
+ "FastPathNoRaster",
+ "GCOnArrayBufferAllocationFailure",
+ "MacAllowBackgroundingRenderProcesses",
+ "MacCriticalDiskSpacePressure",
+ "MvcUpdateViewWhenModelChanged",
+ "NoPreReadMainDllIfSsd",
+ "PageAllocatorRetryOnCommitFailure",
+ "ReducePPMs",
+ "ReloadTabUiResourcesIfChanged",
+ "RemoveCancelledScriptedIdleTasks",
+ "ScreenWinDisplayLookupByHMONITOR",
+ "SlimDirectReceiverIpc",
+ "TerminationTargetPolicy",
+ "UpdateDirectManipulationHelperOnParentChange"
+ ]
+ }
+ ]
+ },
+ {
+ "platforms": [
+ "mac"
+ ],
+ "experiments": [
+ {
+ "name": "EnabledConservative_20251114",
+ "params": {
+ "MacCriticalDiskSpacePressureThresholdMB": "250",
+ "suppress_memory_listeners_mask": "0000200200220200020020000002020000000000000000020",
+ "suppress_memory_monitor_mask": "00020000020000"
+ },
+ "enable_features": [
+ "AbslFlatMapInVariantMap",
+ "AsyncSetCookie",
+ "AvoidCloneArgsOnExtensionFunctionDispatch",
+ "AvoidUnnecessaryGetMinimizeButtonOffset",
+ "AvoidUnnecessaryShouldRenderRichAnimation",
+ "CompressParkableStrings",
+ "FastPathNoRaster",
+ "GCOnArrayBufferAllocationFailure",
+ "MacAllowBackgroundingRenderProcesses",
+ "MacCriticalDiskSpacePressure",
+ "MemoryCacheStrongReference",
+ "MvcUpdateViewWhenModelChanged",
+ "NoPreReadMainDllIfSsd",
+ "PageAllocatorRetryOnCommitFailure",
+ "ReducePPMs",
+ "ReleaseResourceDecodedDataOnMemoryPressure",
+ "ReleaseResourceStrongReferencesOnMemoryPressure",
+ "ReloadTabUiResourcesIfChanged",
+ "RemoveCancelledScriptedIdleTasks",
+ "ScreenWinDisplayLookupByHMONITOR",
+ "SlimDirectReceiverIpc",
+ "SuppressMemoryListeners",
+ "SuppressMemoryMonitor",
+ "TerminationTargetPolicy",
+ "UpdateDirectManipulationHelperOnParentChange"
+ ],
+ "disable_features": [
+ "MemoryCacheChangeStrongReferencePruneDelay"
+ ]
+ }
+ ]
+ },
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "EnabledConservative_20251114",
+ "params": {
+ "MacCriticalDiskSpacePressureThresholdMB": "250",
+ "suppress_memory_listeners_mask": "0000200200220200020020000002020000000000000000020",
+ "suppress_memory_monitor_mask": "00020000020000"
+ },
+ "enable_features": [
+ "AbslFlatMapInVariantMap",
+ "AsyncSetCookie",
+ "AvoidCloneArgsOnExtensionFunctionDispatch",
+ "AvoidUnnecessaryGetMinimizeButtonOffset",
+ "AvoidUnnecessaryShouldRenderRichAnimation",
+ "CompressParkableStrings",
+ "DirectCompositorThreadIpc",
+ "FastPathNoRaster",
+ "GCOnArrayBufferAllocationFailure",
+ "MacAllowBackgroundingRenderProcesses",
+ "MacCriticalDiskSpacePressure",
+ "MemoryCacheStrongReference",
+ "MvcUpdateViewWhenModelChanged",
+ "NoPreReadMainDllIfSsd",
+ "PageAllocatorRetryOnCommitFailure",
+ "ReducePPMs",
+ "ReleaseResourceDecodedDataOnMemoryPressure",
+ "ReleaseResourceStrongReferencesOnMemoryPressure",
+ "ReloadTabUiResourcesIfChanged",
+ "RemoveCancelledScriptedIdleTasks",
+ "ScreenWinDisplayLookupByHMONITOR",
+ "SlimDirectReceiverIpc",
+ "SuppressMemoryListeners",
+ "SuppressMemoryMonitor",
+ "TerminationTargetPolicy",
+ "UpdateDirectManipulationHelperOnParentChange"
+ ],
+ "disable_features": [
+ "MemoryCacheChangeStrongReferencePruneDelay"
+ ]
+ }
+ ]
+ }
+ ],
+ "PerformDefaultBrowserCheckValidations": [
+ {
+ "platforms": [
"windows"
],
"experiments": [
{
"name": "Enabled",
- "params": {
- "MacCriticalDiskSpacePressureThresholdMB": "250"
- },
"enable_features": [
- "AsyncSetCookie",
- "AvoidCloneArgsOnExtensionFunctionDispatch",
- "AvoidUnnecessaryGetMinimizeButtonOffset",
- "AvoidUnnecessaryShouldRenderRichAnimation",
- "GCOnArrayBufferAllocationFailure",
- "MacAllowBackgroundingRenderProcesses",
- "MacCriticalDiskSpacePressure",
- "NoPreReadMainDllIfSsd",
- "PageAllocatorRetryOnCommitFailure",
- "ReducePPMs",
- "RemoveCancelledScriptedIdleTasks",
- "ScreenWinDisplayLookupByHMONITOR",
- "TerminationTargetPolicy",
- "UpdateDirectManipulationHelperOnParentChange"
+ "PerformDefaultBrowserCheckValidations"
]
}
]
@@ -19336,6 +19819,51 @@
]
}
],
+ "PreloadingEagerViewportHeuristics": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "50ms",
+ "params": {
+ "viewport_present_time": "50ms"
+ },
+ "enable_features": [
+ "PreloadingEagerViewportHeuristics"
+ ]
+ },
+ {
+ "name": "200ms",
+ "params": {
+ "viewport_present_time": "200ms"
+ },
+ "enable_features": [
+ "PreloadingEagerViewportHeuristics"
+ ]
+ },
+ {
+ "name": "400ms",
+ "params": {
+ "viewport_present_time": "400ms"
+ },
+ "enable_features": [
+ "PreloadingEagerViewportHeuristics"
+ ]
+ },
+ {
+ "name": "1000ms",
+ "params": {
+ "viewport_present_time": "1000ms"
+ },
+ "enable_features": [
+ "PreloadingEagerViewportHeuristics"
+ ]
+ }
+ ]
+ }
+ ],
"Prerender2EarlyDocumentLifecycleUpdateV2": [
{
"platforms": [
@@ -19378,6 +19906,84 @@
]
}
],
+ "Prerender2WarmUpCompositorForBookmarkBar": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "Prerender2WarmUpCompositorForBookmarkBar"
+ ]
+ }
+ ]
+ }
+ ],
+ "Prerender2WarmUpCompositorForNewTabPage": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "Prerender2WarmUpCompositorForNewTabPage"
+ ]
+ }
+ ]
+ }
+ ],
+ "Prerender2WarmUpCompositorForSpeculationRules": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "Prerender2WarmUpCompositorForImmediate",
+ "Prerender2WarmUpCompositorForNonImmediate"
+ ]
+ }
+ ]
+ }
+ ],
+ "PrerenderSiteInstanceProcessPerDSE": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ConsiderDSEWarmUpPageAsSRP",
+ "CreatePrerenderSiteInstanceWithURL"
+ ],
+ "disable_features": []
+ }
+ ]
+ }
+ ],
"PreserveDiscardableImageMapQuality": [
{
"platforms": [
@@ -19565,26 +20171,6 @@
]
}
],
- "PrivacySandboxAllowPromptForBlocked3PCookies": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PrivacySandboxAllowPromptForBlocked3PCookies"
- ]
- }
- ]
- }
- ],
"PrivacySandboxDisableNotices": [
{
"platforms": [
@@ -19604,25 +20190,6 @@
]
}
],
- "PrivacySandboxGetPromptFromNoticeService": [
- {
- "platforms": [
- "linux",
- "windows",
- "android",
- "mac",
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PrivacySandboxGetPromptFromNoticeService"
- ]
- }
- ]
- }
- ],
"PrivacySandboxInternalsDevUI": [
{
"platforms": [
@@ -19642,26 +20209,6 @@
]
}
],
- "PrivacySandboxMigratePrefsToSchemaV2": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PrivacySandboxMigratePrefsToSchemaV2"
- ]
- }
- ]
- }
- ],
"PrivacySandboxNoticeQueue": [
{
"platforms": [
@@ -19816,20 +20363,19 @@
]
}
],
- "ProcessRankPolicyAndroid": [
+ "ProcessRankPolicyAndroid2": [
{
"platforms": [
"android"
],
"experiments": [
{
- "name": "EnabledAll_20250731",
+ "name": "EnabledAll_20251127",
"enable_features": [
"ChangeUnfocusedPriority",
"ProcessRankPolicyAndroid",
"ProtectedTabsAndroid",
- "SubframeImportance",
- "SubframePriorityContribution"
+ "SubframeImportance"
]
}
]
@@ -19859,14 +20405,68 @@
],
"experiments": [
{
- "name": "Enabled",
- "enable_features": [
+ "name": "Control",
+ "disable_features": [
"ProfileCreationDeclineSigninCTAExperiment"
]
}
]
}
],
+ "ProfileExperimentsM0": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Control",
+ "disable_features": [
+ "ProfilePickerTextVariations",
+ "ShowProfilePickerToAllUsersExperiment"
+ ]
+ }
+ ]
+ }
+ ],
+ "ProfileExperimentsM1FrictionReduction": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Control",
+ "disable_features": [
+ "ProfileCreationFrictionReductionExperimentPrefillNameRequirement",
+ "ProfileCreationFrictionReductionExperimentRemoveSigninStep",
+ "ProfileCreationFrictionReductionExperimentSkipCustomizeProfile"
+ ]
+ }
+ ]
+ }
+ ],
+ "ProfileExperimentsM1Usability": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Control",
+ "disable_features": [
+ "OpenAllProfilesFromProfilePickerExperiment"
+ ]
+ }
+ ]
+ }
+ ],
"ProfileRemoteCommands": [
{
"platforms": [
@@ -19920,35 +20520,6 @@
]
}
],
- "ProgressiveAccessibility": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ProgressiveAccessibility"
- ]
- },
- {
- "name": "EnabledWithHide",
- "params": {
- "progressive_accessibility_mode": "disable_on_hide"
- },
- "enable_features": [
- "ProgressiveAccessibility"
- ]
- }
- ]
- }
- ],
"PropagateWebViewNetworkingSignals": [
{
"platforms": [
@@ -19981,312 +20552,6 @@
]
}
],
- "ProtectedAudienceAuctionDownloaderStaleWhileRevalidate": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeAuctionDownloaderStaleWhileRevalidate"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceAuctionTextConversionHelpers": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeTextConversionHelpers"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceClickiness": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AdAuctionEventRegistration",
- "FledgeClickiness"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceDealsSupport": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeAuctionDealSupport"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceEagerJSCompilation": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeEagerJSCompilation"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceEarlyProcessCreationStudy": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeStartAnticipatoryProcesses"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceNoWasmLazyCompilationStudy": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeNoWasmLazyCompilation"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencePreconnectCacheStudy": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeUsePreconnectCache"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencePrepareBidderContextsStudy": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgePrepareBidderContextsInAdvance"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceSendDebugReportCooldownsToBandA": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeSendDebugReportCooldownsToBandA"
- ]
- }
- ]
- }
- ],
- "ProtectedAudienceTrustedSignalsKVv1CreativeScanning": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeTrustedSignalsKVv1CreativeScanning"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencesEnableBandAKAnonEnforcement": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EnableBandAKAnonEnforcement"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencesEnableSampleDebugReportOnCookieSetting": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeEnableSampleDebugReportOnCookieSetting"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencesHeaderDirectFromSellerSignalsStudy": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeDirectFromSellerSignalsHeaderAdSlot"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencesKAnonymityEnforcementStudy": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "FledgeConsiderKAnonymity",
- "FledgeEnforceKAnonymity"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencesUpdateIfOlderThanMs": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "InterestGroupUpdateIfOlderThan"
- ]
- }
- ]
- }
- ],
"ProtoBasedEnterpriseReporting": [
{
"platforms": [
@@ -20490,25 +20755,6 @@
]
}
],
- "QuickDeleteAndroidSurvey": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "probability": "0.015",
- "trigger_id": "GtpVWQGxM0tK1KeaPYj0QBUXAQ9v"
- },
- "enable_features": [
- "QuickDeleteAndroidSurvey"
- ]
- }
- ]
- }
- ],
"QuickShareV2": [
{
"platforms": [
@@ -20589,24 +20835,6 @@
]
}
],
- "ReadAloudReadabilityDelay": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "read_aloud_readability_delay_ms_after_page_load": "1500"
- },
- "enable_features": [
- "ReadAloud"
- ]
- }
- ]
- }
- ],
"ReadAloudTapToSeek": [
{
"platforms": [
@@ -20647,29 +20875,6 @@
]
}
],
- "ReadAnythingReadAloudDesktop": [
- {
- "platforms": [
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ReadAnythingReadAloud"
- ]
- },
- {
- "name": "Disabled",
- "disable_features": [
- "ReadAnythingReadAloud"
- ]
- }
- ]
- }
- ],
"ReadAnythingReadAloudPhraseHighlighting": [
{
"platforms": [
@@ -20694,6 +20899,30 @@
]
}
],
+ "ReadAnythingReadAloudTsTextSegmentation": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ReadAnythingReadAloudTSTextSegmentation"
+ ]
+ },
+ {
+ "name": "Disabled",
+ "disable_features": [
+ "ReadAnythingReadAloudTSTextSegmentation"
+ ]
+ }
+ ]
+ }
+ ],
"ReclaimOldPrepaintTiles": [
{
"platforms": [
@@ -20778,37 +21007,6 @@
]
}
],
- "ReduceAcceptLanguageCount": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_5",
- "params": {
- "MaxAcceptLanguage": "5"
- },
- "enable_features": [
- "ReduceAcceptLanguageCount"
- ]
- },
- {
- "name": "Enabled_10",
- "params": {
- "MaxAcceptLanguage": "10"
- },
- "enable_features": [
- "ReduceAcceptLanguageCount"
- ]
- }
- ]
- }
- ],
"ReduceAcceptLanguageHTTP": [
{
"platforms": [
@@ -20898,21 +21096,6 @@
]
}
],
- "ReduceUserAgentDataLinuxPlatformVersion": [
- {
- "platforms": [
- "linux"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ReduceUserAgentDataLinuxPlatformVersion"
- ]
- }
- ]
- }
- ],
"RefreshTokenV3Feature": [
{
"platforms": [
@@ -21477,6 +21660,7 @@
{
"name": "Enabled",
"enable_features": [
+ "ReportStuckThrottle",
"ResumeNavigationWithSpeculativeRFHProcessGone"
]
}
@@ -21600,26 +21784,6 @@
]
}
],
- "SRIMessageSignatureEnforcement": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SRIMessageSignatureEnforcement"
- ]
- }
- ]
- }
- ],
"SafeBrowsingDailyPhishingReportsLimit": [
{
"platforms": [
@@ -21642,6 +21806,21 @@
]
}
],
+ "SafeBrowsingExtendedReportingRemovePrefDependencyIos": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "EnabledRemovePrefDependencyIos",
+ "enable_features": [
+ "ExtendedReportingRemovePrefDependencyIos"
+ ]
+ }
+ ]
+ }
+ ],
"SafeBrowsingExtensionTelemetrySearchHijackingSignal": [
{
"platforms": [
@@ -21706,11 +21885,7 @@
"experiments": [
{
"name": "Enabled",
- "params": {
- "SafetyCheckMagicStackAutorunHoursThreshold": "720"
- },
"enable_features": [
- "SafetyCheckMagicStack",
"SegmentationPlatformIosModuleRankerSplitBySurface"
]
}
@@ -21832,6 +22007,25 @@
]
}
],
+ "SafetyHubUnusedPermissionRevocationForAllSurfaces": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SafetyHubUnusedPermissionRevocationForAllSurfaces"
+ ]
+ }
+ ]
+ }
+ ],
"SavedTabGroupUrlRestriction": [
{
"platforms": [
@@ -23404,7 +23598,7 @@
"respect_navigation_preload": "true",
"use_allowlist": "false"
},
- "enable_features": [
+ "disable_features": [
"ServiceWorkerAutoPreload"
]
}
@@ -23518,7 +23712,7 @@
]
}
],
- "SessionRestoreInfoBar": [
+ "SessionRestoreInfobar": [
{
"platforms": [
"linux",
@@ -23532,7 +23726,7 @@
"continue_session": "true"
},
"enable_features": [
- "SessionRestoreInfoBar"
+ "SessionRestoreInfobar"
]
}
]
@@ -23562,6 +23756,21 @@
]
}
],
+ "SettingsMultiColumn": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SettingsMultiColumn"
+ ]
+ }
+ ]
+ }
+ ],
"SettingsSingleActivity": [
{
"platforms": [
@@ -23867,25 +24076,6 @@
]
}
],
- "ShowManualNotificationRevocationsSafetyHub": [
- {
- "platforms": [
- "android",
- "windows",
- "mac",
- "linux",
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ShowManualNotificationRevocationsSafetyHub"
- ]
- }
- ]
- }
- ],
"ShowNewTabAnimationsAndroid": [
{
"platforms": [
@@ -23919,21 +24109,18 @@
"SideBySide": [
{
"platforms": [
- "linux",
- "mac",
- "windows",
"chromeos"
],
"experiments": [
{
- "name": "Enabled_WithMenu",
+ "name": "Enabled_WithClose",
"params": {
"drop_target_nudge_to_full_max_width": "360",
"drop_target_nudge_to_full_min_width": "120",
"drop_target_nudge_to_full_width_percentage": "15",
"drop_target_show_delay": "1400ms",
"drop_target_width_percentage": "15",
- "mini_toolbar_active_config": "showmenu"
+ "mini_toolbar_active_config": "showclose"
},
"enable_features": [
"CloseActiveTabInSplitViewViaHotkey",
@@ -23942,7 +24129,6 @@
"ReloadSelectionModel",
"SideBySide",
"SideBySideDropTargetNudge",
- "SideBySideKeyboardShortcut",
"SideBySideLinkMenuNewBadge",
"SideBySideSessionRestore"
]
@@ -24031,6 +24217,23 @@
]
}
],
+ "SigninPromoLimitsExperiment": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Control",
+ "disable_features": [
+ "SigninPromoLimitsExperiment"
+ ]
+ }
+ ]
+ }
+ ],
"SimpleCachePrioritizedCaching": [
{
"platforms": [
@@ -24219,7 +24422,7 @@
]
}
],
- "SkipIPCChanelPausingForNonGuests": [
+ "SkipIPCChannelPausingForNonGuestsStudy": [
{
"platforms": [
"android",
@@ -24231,12 +24434,12 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_20251030",
"params": {
"internal_webui_only": "false"
},
"enable_features": [
- "SkipIPCChanelPausingForNonGuests"
+ "SkipIPCChannelPausingForNonGuests"
]
}
]
@@ -24307,32 +24510,6 @@
]
}
],
- "SlimScheduler": [
- {
- "platforms": [
- "android",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "pending_frames": "1"
- },
- "enable_features": [
- "DisplaySchedulerAsClient",
- "NoCompositorFrameAcks",
- "NoLateBeginFrames"
- ],
- "disable_features": [
- "AckOnSurfaceActivationWhenInteractive"
- ]
- }
- ]
- }
- ],
"SlopBucket": [
{
"platforms": [
@@ -24563,6 +24740,9 @@
"experiments": [
{
"name": "Enabled",
+ "params": {
+ "open_adjacently": "false"
+ },
"enable_features": [
"RobustWindowManagementExperimental"
]
@@ -24759,25 +24939,6 @@
]
}
],
- "SubframePriorityContribution": [
- {
- "platforms": [
- "android_webview",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SubframePriorityContribution"
- ]
- }
- ]
- }
- ],
"SubframeProcessShutdownDelay": [
{
"platforms": [
@@ -24827,10 +24988,25 @@
]
}
],
- "SuppressMemoryListeners": [
+ "SupervisedUserBlockInterstitialV3": [
{
"platforms": [
"android",
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SupervisedUserBlockInterstitialV3"
+ ]
+ }
+ ]
+ }
+ ],
+ "SupportOpeningDraggedLinksInSameTab": [
+ {
+ "platforms": [
"chromeos",
"linux",
"mac",
@@ -24838,15 +25014,9 @@
],
"experiments": [
{
- "name": "Enabled_HangWatcher",
- "params": {
- "suppress_memory_listeners_mask": "0200000000000000000000000000000000000000000000000"
- },
+ "name": "Enabled",
"enable_features": [
- "SuppressMemoryListeners"
- ],
- "disable_features": [
- "SuppressMemoryMonitor"
+ "SupportOpeningDraggedLinksInSameTab"
]
}
]
@@ -24878,16 +25048,18 @@
]
}
],
- "SustainedMPUrgentDiscarding": [
+ "SurfaceInputForAndroidVEA": [
{
"platforms": [
- "windows"
+ "android",
+ "android_webview",
+ "android_weblayer"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "SustainedMPUrgentDiscarding"
+ "SurfaceInputForAndroidVEA"
]
}
]
@@ -24896,19 +25068,13 @@
"SwiftShaderDeprecation": [
{
"platforms": [
- "android",
- "chromeos",
- "ios",
- "linux",
- "mac",
"windows"
],
"experiments": [
{
- "name": "SwiftShaderDisabled",
+ "name": "WarpDisabledForWindowsTests",
"disable_features": [
- "AllowSoftwareGLFallbackDueToCrashes",
- "AllowSwiftShaderFallback"
+ "AllowD3D11WarpFallback"
]
}
]
@@ -25009,8 +25175,7 @@
{
"name": "Enabled",
"enable_features": [
- "ImeManifestV3",
- "SystemJapanesePhysicalTyping"
+ "ImeManifestV3"
]
}
]
@@ -25150,24 +25315,6 @@
]
}
],
- "TabCaptureInfobarLinks": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "TabCaptureInfobarLinks"
- ]
- }
- ]
- }
- ],
"TabFreezingUsesDiscard": [
{
"platforms": [
@@ -25198,6 +25345,29 @@
]
}
],
+ "TabGroupInteractionsDesktop": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "BookmarkTabGroupConversion",
+ "CreateNewTabGroupAppMenuTopLevel",
+ "NewTabAddsToActiveGroup",
+ "ShowTabGroupsMacSystemMenu",
+ "TabGroupMenuImprovements",
+ "TabGroupMenuMoreEntryPoints"
+ ]
+ }
+ ]
+ }
+ ],
"TabGroupParityAndroidV2": [
{
"platforms": [
@@ -25408,11 +25578,12 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_WithCurrentDefault",
"params": {
"choice_screen_surface": "fre_only"
},
"enable_features": [
+ "CurrentDseHighlightOnChoiceScreenSupport",
"Taiyaki"
]
}
@@ -25605,16 +25776,16 @@
]
}
],
- "ToolbarStaleCaptureBugFix": [
+ "ToolbarTabletResizeRefactor": [
{
"platforms": [
"android"
],
"experiments": [
{
- "name": "Enabled_20251008",
+ "name": "Enabled",
"enable_features": [
- "ToolbarStaleCaptureBugFix"
+ "ToolbarTabletResizeRefactor"
]
}
]
@@ -25720,6 +25891,37 @@
]
}
],
+ "TreesInViz": [
+ {
+ "platforms": [
+ "linux"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "TreesInViz"
+ ]
+ }
+ ]
+ },
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Disabled",
+ "disable_features": [
+ "TreesInViz"
+ ]
+ }
+ ]
+ }
+ ],
"TriggerPasswordResyncWhenUndecryptablePasswordsDetected": [
{
"platforms": [
@@ -26036,6 +26238,61 @@
]
}
],
+ "UnoPhase2FollowUpDesktop": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SpellcheckSeparateLocalAndAccountDictionaries",
+ "UnoPhase2FollowUp"
+ ]
+ }
+ ]
+ }
+ ],
+ "UpdateIsMainFrameOriginRecentlyAccessedStudy": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "UpdateIsMainFrameOriginRecentlyAccessed"
+ ]
+ }
+ ]
+ }
+ ],
+ "UpdateScrollPredictorInputMapping": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "InputPredictorInputMappingEnabled_20251031",
+ "params": {
+ "mode": "UseScrollPredictorForEmptyQueue"
+ },
+ "enable_features": [
+ "UpdateScrollPredictorInputMapping",
+ "WaitForLateScrollEvents"
+ ]
+ }
+ ]
+ }
+ ],
"UploadOfficeToCloud": [
{
"platforms": [
@@ -26088,6 +26345,25 @@
]
}
],
+ "UseCecEnabledFlag": [
+ {
+ "platforms": [
+ "android",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "UseCECFlagInPolicyData"
+ ]
+ }
+ ]
+ }
+ ],
"UseCompositorClockVSyncInterval": [
{
"platforms": [
@@ -26103,6 +26379,21 @@
]
}
],
+ "UseCursorEventHook": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "UseCursorEventHook"
+ ]
+ }
+ ]
+ }
+ ],
"UseDHCPCD10": [
{
"platforms": [
@@ -26232,6 +26523,25 @@
]
}
],
+ "UseLastVisitedFallbackURLFavicon": [
+ {
+ "platforms": [
+ "android",
+ "linux",
+ "mac",
+ "windows",
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "UseLastVisitedFallbackURLFavicon"
+ ]
+ }
+ ]
+ }
+ ],
"UsePersistentCacheForCodeCache": [
{
"platforms": [
@@ -26251,22 +26561,6 @@
]
}
],
- "UsePostBodyForUrlProvisionFetcher": [
- {
- "platforms": [
- "android",
- "fuchsia"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "UsePostBodyForUrlProvisionFetcher"
- ]
- }
- ]
- }
- ],
"UseSCContentSharingPicker": [
{
"platforms": [
@@ -26322,6 +26616,21 @@
]
}
],
+ "UseTerminationStatusMemoryExhaustion": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "UseTerminationStatusMemoryExhaustion"
+ ]
+ }
+ ]
+ }
+ ],
"UserBypassUI": [
{
"platforms": [
@@ -26410,17 +26719,33 @@
],
"experiments": [
{
- "name": "Time180Sparkplug",
+ "name": "Time180",
"params": {
"bytecode_old_time": "180"
},
"enable_features": [
- "V8Flag_flush_baseline_code",
"V8Flag_flush_code_based_on_time",
"V8Flag_ineffective_gcs_forces_last_resort"
- ],
+ ]
+ }
+ ]
+ }
+ ],
+ "V8DisableScavengerUpdatesAllocationLimit": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
"disable_features": [
- "V8Flag_flush_code_based_on_tab_visibility"
+ "V8Flag_scavenger_updates_allocation_limit"
]
}
]
@@ -26469,46 +26794,6 @@
]
}
],
- "V8IncrementalMarkingAlwaysUserVisible": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "V8Flag_incremental_marking_always_user_visible"
- ]
- }
- ]
- }
- ],
- "V8IncrementalMarkingStartUserVisible": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "V8IncrementalMarkingStartUserVisible"
- ]
- }
- ]
- }
- ],
"V8IneffectiveMarkCompact": [
{
"platforms": [
@@ -26616,21 +26901,23 @@
]
}
],
- "V8MemoryReducerFavorsMemoryAblation": [
+ "V8NewOldGenerationHeapSize": [
{
"platforms": [
"android",
+ "android_weblayer",
"android_webview",
"chromeos",
+ "fuchsia",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "Disabled",
- "disable_features": [
- "V8Flag_memory_reducer_favors_memory"
+ "name": "Enabled",
+ "enable_features": [
+ "V8Flag_new_old_generation_heap_size"
]
}
]
@@ -26693,29 +26980,6 @@
]
}
],
- "V8SetIsLoadingExperiments": [
- {
- "platforms": [
- "android",
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Both",
- "enable_features": [
- "ComputeCurrentRailModeFromPerformanceScenario",
- "RAILInputAsLoading"
- ],
- "disable_features": [
- "SetIsLoadingAblation"
- ]
- }
- ]
- }
- ],
"V8SideStepTransitions": [
{
"platforms": [
@@ -26998,24 +27262,6 @@
]
}
],
- "VideoPictureInPictureControlsUpdate2024": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "VideoPictureInPictureControlsUpdate2024"
- ]
- }
- ]
- }
- ],
"VisibilityAwareResourceScheduler": [
{
"platforms": [
@@ -27139,29 +27385,6 @@
]
}
],
- "WasmTtsComponentUpdaterV3Enabled": [
- {
- "platforms": [
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WasmTtsComponentUpdaterV3Enabled"
- ]
- },
- {
- "name": "Disabled",
- "disable_features": [
- "WasmTtsComponentUpdaterV3Enabled"
- ]
- }
- ]
- }
- ],
"WebApkBackupAndRestore": [
{
"platforms": [
@@ -27205,21 +27428,6 @@
]
}
],
- "WebAuthenticationAndroidPasskeyCacheMigration": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WebAuthenticationAndroidPasskeyCacheMigration"
- ]
- }
- ]
- }
- ],
"WebAuthenticationNewRefreshFlow": [
{
"platforms": [
@@ -27248,10 +27456,31 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "EnabledIgnoreWorkers",
+ "params": {
+ "urgent_discard_ignore_workers": "true"
+ },
"enable_features": [
"WebContentsDiscard"
]
+ },
+ {
+ "name": "Enabled",
+ "params": {
+ "urgent_discard_ignore_workers": "false"
+ },
+ "enable_features": [
+ "WebContentsDiscard"
+ ]
+ },
+ {
+ "name": "Disabled",
+ "params": {
+ "urgent_discard_ignore_workers": "false"
+ },
+ "disable_features": [
+ "WebContentsDiscard"
+ ]
}
]
}
@@ -27335,23 +27564,6 @@
]
}
],
- "WebGPUUseVulkanMemoryModel": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WebGPUUseVulkanMemoryModel"
- ]
- }
- ]
- }
- ],
"WebOtpBackendAuto": [
{
"platforms": [
@@ -27368,6 +27580,25 @@
]
}
],
+ "WebProtectDlpScanPastedImages": [
+ {
+ "platforms": [
+ "chromeos",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "DlpScanPastedImages"
+ ]
+ }
+ ]
+ }
+ ],
"WebRTC-Aec3BufferingMaxAllowedExcessRenderBlocksOverride": [
{
"platforms": [
@@ -27420,6 +27651,21 @@
]
}
],
+ "WebRTC-Agc2SpeechLevelEstimatorExperimental": [
+ {
+ "platforms": [
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled"
+ }
+ ]
+ }
+ ],
"WebRTC-Audio-GainController2": [
{
"platforms": [
@@ -27688,24 +27934,6 @@
]
}
],
- "WebRTC-TimestampExtrapolatorConfig": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled,outlier_rejection_stddev:2,_v20250825_CANARY_DEV"
- }
- ]
- }
- ],
"WebRTC-UseAbsCapTimeForG2gMetric": [
{
"platforms": [
@@ -27917,6 +28145,26 @@
]
}
],
+ "WebRtcPqcForDtls": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "WebRtcPqcForDtls"
+ ]
+ }
+ ]
+ }
+ ],
"WebUIBundledCodeCache": [
{
"platforms": [
@@ -27999,22 +28247,34 @@
]
}
],
- "WebUITabStrip": [
+ "WebUIReloadButtonStudy": [
{
"platforms": [
+ "chromeos",
"linux",
+ "mac",
"windows"
],
"experiments": [
{
- "name": "Enabled",
- "params": {
- "availability": "any",
- "event_trigger": "name:webui_tab_strip_iph_triggered;comparator:<3;window:1;storage:365",
- "event_used": "name:webui_tab_strip_opened;comparator:==0;window:90;storage:365",
- "session_rate": "any"
- },
- "enable_features": [
+ "name": "Control_20251030",
+ "disable_features": [
+ "InitialWebUI",
+ "WebUIReloadButton"
+ ]
+ }
+ ]
+ }
+ ],
+ "WebUITabStripDeprecation": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Treatment",
+ "disable_features": [
"WebUITabStrip"
]
}
@@ -28043,6 +28303,21 @@
]
}
],
+ "WebViewBypassProvisionalCookieManager": [
+ {
+ "platforms": [
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "WebViewBypassProvisionalCookieManager"
+ ]
+ }
+ ]
+ }
+ ],
"WebViewCacheBoundaryInterfaceMethods": [
{
"platforms": [
@@ -28179,6 +28454,21 @@
]
}
],
+ "WebViewMoveWorkToProviderInit": [
+ {
+ "platforms": [
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "WebViewMoveWorkToProviderInit"
+ ]
+ }
+ ]
+ }
+ ],
"WebViewOptInToGmsBindServiceOptimization": [
{
"platforms": [
@@ -28194,6 +28484,21 @@
]
}
],
+ "WebViewPersistentMetricsInNoBackupDir": [
+ {
+ "platforms": [
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "WebViewPersistentMetricsInNoBackupDir"
+ ]
+ }
+ ]
+ }
+ ],
"WebViewPrefetchHighestPrefetchPriority": [
{
"platforms": [
@@ -28203,7 +28508,7 @@
{
"name": "Enabled",
"params": {
- "WebViewPrefetchHighestPrefetchPriorityBurstLimit": "1"
+ "WebViewPrefetchHighestPrefetchPriorityBurstLimit": "10"
},
"enable_features": [
"WebViewPrefetchHighestPrefetchPriority"
@@ -28212,24 +28517,6 @@
]
}
],
- "WebViewPrefetchNativeLibrary": [
- {
- "platforms": [
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "WebViewPrefetchFromRenderer": "true"
- },
- "enable_features": [
- "WebViewPrefetchNativeLibrary"
- ]
- }
- ]
- }
- ],
"WebViewRecordAppCacheHistograms": [
{
"platforms": [
@@ -28335,21 +28622,6 @@
]
}
],
- "WebViewShortCircuitShouldInterceptRequest": [
- {
- "platforms": [
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WebViewShortCircuitShouldInterceptRequest"
- ]
- }
- ]
- }
- ],
"WebViewSpareRendererProcessPriority": [
{
"platforms": [
@@ -28486,21 +28758,6 @@
]
}
],
- "WebViewUseRenderingHeuristic": [
- {
- "platforms": [
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WebViewUseRenderingHeuristic"
- ]
- }
- ]
- }
- ],
"WebViewXRequestedWithHeaderControl": [
{
"platforms": [
@@ -28531,7 +28788,7 @@
]
}
],
- "WebrtcAcceleratedScaling": [
+ "WebrtcEncodeReadbackOptimization": [
{
"platforms": [
"chromeos",
@@ -28543,10 +28800,34 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_acc_scaling",
"enable_features": [
"WebrtcAcceleratedScaling"
],
+ "disable_features": [
+ "BreakoutBoxConversionWithoutSinkSignal",
+ "MediaFoundationD3DVideoProcessing",
+ "MediaFoundationSharedImageEncode"
+ ]
+ },
+ {
+ "name": "Enabled_si_encoding",
+ "enable_features": [
+ "MediaFoundationD3DVideoProcessing",
+ "MediaFoundationSharedImageEncode"
+ ],
+ "disable_features": [
+ "BreakoutBoxConversionWithoutSinkSignal",
+ "WebrtcAcceleratedScaling"
+ ]
+ },
+ {
+ "name": "Enabled_acc_scaling_and_si_encoding",
+ "enable_features": [
+ "MediaFoundationD3DVideoProcessing",
+ "MediaFoundationSharedImageEncode",
+ "WebrtcAcceleratedScaling"
+ ],
"disable_features": [
"BreakoutBoxConversionWithoutSinkSignal"
]
@@ -28665,25 +28946,6 @@
]
}
],
- "WinPlatformLocationProvider": [
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "LocationProviderManagerMode": "PlatformOnly"
- },
- "enable_features": [
- "LocationProviderManager",
- "WinSystemLocationPermission"
- ]
- }
- ]
- }
- ],
"WinSboxCsrssLockdown": [
{
"platforms": [
@@ -28760,6 +29022,27 @@
]
}
],
+ "XSLTSpecialTrial": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Disabled",
+ "disable_features": [
+ "XSLTSpecialTrial"
+ ]
+ }
+ ]
+ }
+ ],
"YieldWithInputHint": [
{
"platforms": [
@@ -28796,6 +29079,25 @@
]
}
],
+ "YourSavedInfoSettingsPage": [
+ {
+ "platforms": [
+ "windows",
+ "mac",
+ "linux",
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enable",
+ "enable_features": [
+ "AutofillAiIgnoresWhetherAddressPrefIsEnabled",
+ "YourSavedInfoSettingsPage"
+ ]
+ }
+ ]
+ }
+ ],
"ZPSPrefetchDebouncingDesktop": [
{
"platforms": [
diff --git a/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom b/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
index 1108bd8c..5d47e6bd 100755
--- a/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
+++ b/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
@@ -338,8 +338,8 @@ enum WebFeature {
kNotificationShowEvent = 565,
kSVGTransformListConsolidate = 569,
kSVGAnimatedTransformListBaseVal = 570,
- kQuotedAnimationName = 571,
- kQuotedKeyframesRule = 572,
+ kOBSOLETE_QuotedAnimationName = 571,
+ kOBSOLETE_QuotedKeyframesRule = 572,
kSrcsetDroppedCandidate = 573,
kWindowPostMessage = 574,
kRenderRuby = 576,
@@ -947,8 +947,8 @@ enum WebFeature {
kTextAreaMinLength = 1425,
kTopNavigationFromSubFrame = 1426,
kPrefixedElementRequestFullscreenInShadow = 1427,
- kMediaSourceAbortRemove = 1428,
- kMediaSourceDurationTruncatingBuffered = 1429,
+ kOBSOLETE_MediaSourceAbortRemove = 1428,
+ kOBSOLETE_MediaSourceDurationTruncatingBuffered = 1429,
kAudioContextCrossOriginIframe = 1430,
// The above items are available in M53 branch
kOBSOLETE_PointerEventSetCapture = 1431,
@@ -2472,7 +2472,7 @@ enum WebFeature {
kThirdPartyCacheStorage = 3193,
kThirdPartyLocalStorage = 3194,
kThirdPartySessionStorage = 3195,
- kDeclarativeShadowRoot = 3196,
+ kOBSOLETE_DeclarativeShadowRoot = 3196,
kCrossOriginOpenerPolicySameOrigin = 3197,
kCrossOriginOpenerPolicySameOriginAllowPopups = 3198,
kCrossOriginEmbedderPolicyRequireCorp = 3199,
@@ -3689,7 +3689,7 @@ enum WebFeature {
kImageSet = 4413,
kWindowCloseHistoryLengthOne = 4414,
kOBSOLETE_CreateNSResolverWithNonElements = 4415,
- kCSSValueAppearanceNonStandard = 4416,
+ kOBSOLETE_CSSValueAppearanceNonStandard = 4416,
kOBSOLETE_CSSGetComputedAnimationDelayZero = 4417,
kGetEffectTimingDelayZero = 4418,
kScrollend = 4419,
@@ -3807,9 +3807,9 @@ enum WebFeature {
kOBSOLETE_AttributeValueContainsLtOrGt = 4527,
kOBSOLETE_V8ImportAssertionDeprecatedSyntax = 4528,
kImageCaptureBackgroundBlur = 4529,
- kPrivateNetworkAccessPreflightError = 4530,
- kPrivateNetworkAccessPreflightSuccess = 4531,
- kPrivateNetworkAccessPreflightWarning = 4532,
+ kOBSOLETE_PrivateNetworkAccessPreflightError = 4530,
+ kOBSOLETE_PrivateNetworkAccessPreflightSuccess = 4531,
+ kOBSOLETE_PrivateNetworkAccessPreflightWarning = 4532,
kCSSGetComputedAnimationDurationZero = 4533,
kCSSGetComputedWebkitFontSmoothingAnimationDurationZero = 4534,
kDocumentOpenAliasedOriginDocumentDomain = 4535,
@@ -3852,7 +3852,7 @@ enum WebFeature {
kV8FileSystemFileHandle_GetFile_Method = 4569,
kV8FileSystemHandle_GetUniqueId_Method = 4570,
kV8FileSystemHandle_Remove_Method = 4571,
- kPerformanceNavigateSystemEntropy = 4572,
+ kOBSOLETE_PerformanceNavigateSystemEntropy = 4572,
kV8InvalidatedNumberStringNotRegexpLikeProtector = 4573,
kCriticalCHRestartNavigationTiming = 4574,
kTopLevelDocumentWithEmbeddedCredentials = 4575,
@@ -4331,7 +4331,7 @@ enum WebFeature {
kButtonTypeAttrEmptyString = 5033,
kProtectedAudienceDirectFromSellerSignals = 5034,
kOBSOLETE_WebGPUSubgroupsFeatures = 5035,
- kAudioContextOnError = 5036,
+ kOBSOLETE_AudioContextOnError = 5036,
kNoVarySearchPrerender = 5037,
// The items above roughly this point are available in the M128 branch.
kOBSOLETE_V8AITextSession_Clone_Method = 5038,
@@ -4371,8 +4371,8 @@ enum WebFeature {
// The items above roughly this point are available in the M129 branch.
kFencedFrameCanLoadOpaqueURL = 5072,
kV8Performance_Memory_AttributeGetter_NotLockedToSite = 5073,
- kPartitionedPopin_OpenAttempt = 5074,
- kPartitionedPopin_Opened = 5075,
+ kOBSOLETE_PartitionedPopin_OpenAttempt = 5074,
+ kOBSOLETE_PartitionedPopin_Opened = 5075,
kOBSOLETE_V8AISummarizer_SharedContext_AttributeGetter = 5076,
kOBSOLETE_V8AISummarizer_Type_AttributeGetter = 5077,
kOBSOLETE_V8AISummarizer_Format_AttributeGetter = 5078,
@@ -4393,8 +4393,8 @@ enum WebFeature {
kOBSOLETE_V8AIAssistant_Destroy_Method = 5093,
kOBSOLETE_V8AIAssistant_Prompt_Method = 5094,
kOBSOLETE_V8AIAssistant_PromptStreaming_Method = 5095,
- kV8Window_PopinContextTypesSupported_Method = 5096,
- kV8Window_PopinContextType_Method = 5097,
+ kOBSOLETE_V8Window_PopinContextTypesSupported_Method = 5096,
+ kOBSOLETE_V8Window_PopinContextType_Method = 5097,
kWebAuthentication_AttestationFormats = 5098,
kCssDisplayPropertyMultipleValues = 5099,
kDocumentPolicyExpectNoLinkedResources = 5100,
@@ -4766,7 +4766,7 @@ enum WebFeature {
kSummarizer_OutputLanguage = 5456,
kSummarizer_SharedContext = 5457,
kSummarizer_Type = 5458,
- kCrossOriginSameSiteCookieAccessViaStorageAccessAPI = 5459,
+ kOBSOLETE_CrossOriginSameSiteCookieAccessViaStorageAccessAPI = 5459,
kOBSOLETE_V8GPUAdapter_IsFallbackAdapter_AttributeGetter = 5460,
kLanguageDetector_ExpectedInputLanguages = 5461,
kServiceWorkerPushEventListener = 5462,
@@ -5031,6 +5031,21 @@ enum WebFeature {
kAnimationCompositedTypes = 5715,
kAnimationSvgNonCompositedTypes = 5716,
kAnimationSvgCompositedTypes = 5717,
+ kAttributionReportingXhr = 5718,
+ kDidUseServerHttpAuthOnCrossPartitionRequest = 5719,
+ kLcpCandidateRemovedWhilePaintTimePending = 5720,
+ kGetBBoxForElementWithZeroWidthOrHeight = 5721,
+ kGetBBoxForNestedSVGElementWithZeroWidthOrHeight = 5722,
+ kXMLExternalResourceLoadEntitiesOnly = 5723,
+ kV8Origin_IsSameOrigin_Method = 5724,
+ kV8Origin_IsSameSite_Method = 5725,
+ kV8Origin_From_Method = 5726,
+ kV8Origin_FromURL_Method = 5727,
+ kV8Origin_Parse_Method = 5728,
+ kExtendedTextMetrics = 5729,
+ kUseCssSizingProperties = 5730,
+ kSharedStorageAPIAll = 5731,
+ kGamepadRawInputChangeEventListener = 5732,
// Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots. Also don't add extra
diff --git a/tools/under-control/src/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/tools/under-control/src/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
index 34779a40..7f44cff8 100755
--- a/tools/under-control/src/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
+++ b/tools/under-control/src/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
@@ -137,6 +137,7 @@ struct WebPreferences {
bool shrinks_standalone_images_to_fit;
bool text_areas_are_resizable;
bool allow_scripts_to_close_windows;
+ bool allow_window_focus_without_user_gesture;
bool remote_fonts_enabled;
bool javascript_can_access_clipboard;
// We don't use dns_prefetching_enabled to disable DNS prefetching. Instead,
@@ -181,7 +182,8 @@ struct WebPreferences {
// Disallow user opt-in for blockable mixed content.
bool strictly_block_blockable_mixed_content;
bool block_mixed_plugin_content;
- bool password_echo_enabled;
+ bool password_echo_enabled_physical;
+ bool password_echo_enabled_touch;
bool should_clear_document_background;
bool enable_scroll_animator;
bool prefers_reduced_motion;
@@ -512,8 +514,6 @@ struct WebPreferences {
// WebView and by `kWebPayments` feature flag everywhere.
bool payment_request_enabled = false;
- bool content_based_fingerprinting_protection_enabled = false;
-
bool ai_prompt_api_enabled = false;
[EnableIf=is_android]
diff --git a/tools/under-control/src/third_party/blink/renderer/core/animation/animation_trigger.idl b/tools/under-control/src/third_party/blink/renderer/core/animation/animation_trigger.idl
index 5f659f27..efc20247 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/animation/animation_trigger.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/animation/animation_trigger.idl
@@ -24,4 +24,5 @@ enum AnimationTriggerBehavior {
] interface AnimationTrigger {
[RaisesException] void addAnimation(Animation animation, AnimationTriggerBehavior activateBehavior, optional AnimationTriggerBehavior deactivateBehavior = "none");
void removeAnimation(Animation animation);
+ sequence getAnimations();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_test.idl b/tools/under-control/src/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_test.idl
deleted file mode 100755
index 2071cd91..00000000
--- a/tools/under-control/src/third_party/blink/renderer/core/canvas_interventions/canvas_interventions_test.idl
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2025 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Interface to retrieve the canvas noise token associated with the
-// ExecutionContext. It's not enabled outside of test environments.
-[
- Exposed=(Window, Worker),
- RuntimeEnabled=CanvasInterventionsTest
-]
-interface CanvasInterventionsTest {
- [CallWith=ExecutionContext] static DOMString? getCanvasNoiseToken();
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/css/parser/media_query_parser.cc b/tools/under-control/src/third_party/blink/renderer/core/css/parser/media_query_parser.cc
index dea6f79c..8123250b 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/css/parser/media_query_parser.cc
+++ b/tools/under-control/src/third_party/blink/renderer/core/css/parser/media_query_parser.cc
@@ -332,7 +332,7 @@ AtomicString MediaQueryParser::ConsumeRangeContextFeatureName(
//
// Where is a that does not allow
// any of the delimiters accepted by or .
-const MediaQueryExpNode* MediaQueryParser::ConsumeStyleFeatureRange(
+const ConditionalExpNode* MediaQueryParser::ConsumeStyleFeatureRange(
CSSParserTokenStream& stream) {
CSSParserTokenStream::State start = stream.Save();
std::optional value1 =
@@ -382,7 +382,7 @@ const MediaQueryExpNode* MediaQueryParser::ConsumeStyleFeatureRange(
MediaQueryExp::Create(value2.value(), MediaQueryExpBounds(left, right)));
}
-const MediaQueryExpNode* MediaQueryParser::ConsumeFeature(
+const ConditionalExpNode* MediaQueryParser::ConsumeFeature(
CSSParserTokenStream& stream,
const FeatureSet& feature_set) {
// There are several possible grammars for media queries, and we don't
@@ -556,96 +556,22 @@ const MediaQueryExpNode* MediaQueryParser::ConsumeFeature(
MediaQueryExpComparison(*value2, op2))));
}
-const MediaQueryExpNode* MediaQueryParser::ConsumeCondition(
- CSSParserTokenStream& stream,
- ConditionMode mode) {
- //
- if (ConsumeIfIdent(stream, "not")) {
- return MediaQueryExpNode::Not(ConsumeInParens(stream));
- }
-
- // Otherwise:
- // [ * | * ]
-
- const MediaQueryExpNode* result = ConsumeInParens(stream);
-
- if (AtIdent(stream.Peek(), "and")) {
- while (result && ConsumeIfIdent(stream, "and")) {
- result = MediaQueryExpNode::And(result, ConsumeInParens(stream));
- }
- } else if (result && AtIdent(stream.Peek(), "or") &&
- mode == ConditionMode::kNormal) {
- while (result && ConsumeIfIdent(stream, "or")) {
- result = MediaQueryExpNode::Or(result, ConsumeInParens(stream));
- }
- }
-
- return result;
-}
-
-const MediaQueryExpNode* MediaQueryParser::ConsumeInParens(
+const ConditionalExpNode* MediaQueryParser::ConsumeLeaf(
CSSParserTokenStream& stream) {
- if (stream.Peek().GetType() == kLeftParenthesisToken) {
- {
- CSSParserTokenStream::RestoringBlockGuard guard(stream);
- stream.ConsumeWhitespace();
-
- // ( )
- const MediaQueryExpNode* condition = ConsumeCondition(stream);
- if (condition && guard.Release()) {
- stream.ConsumeWhitespace();
- return MediaQueryExpNode::Nested(condition);
- }
- }
-
- {
- CSSParserTokenStream::RestoringBlockGuard guard(stream);
- stream.ConsumeWhitespace();
- // ( )
- const MediaQueryExpNode* feature =
- ConsumeFeature(stream, MediaQueryParser::MediaQueryFeatureSet());
- if (feature && guard.Release()) {
- stream.ConsumeWhitespace();
- return MediaQueryExpNode::Nested(feature);
- }
- }
- }
-
- //
- return ConsumeGeneralEnclosed(stream);
-}
-
-const MediaQueryExpNode* MediaQueryParser::ConsumeGeneralEnclosed(
- CSSParserTokenStream& stream) {
- if (stream.Peek().GetType() != kLeftParenthesisToken &&
- stream.Peek().GetType() != kFunctionToken) {
- return nullptr;
- }
-
- wtf_size_t start_offset = stream.Offset();
- StringView general_enclosed;
- {
- CSSParserTokenStream::BlockGuard guard(stream);
-
- stream.ConsumeWhitespace();
-
- // Note that is optional in , so having an
- // empty block is fine.
- ConsumeAnyValue(stream);
- if (!stream.AtEnd()) {
- return nullptr;
- }
- }
-
- wtf_size_t end_offset = stream.Offset();
-
- // TODO(crbug.com/962417): This is not well specified.
- general_enclosed =
- stream.StringRangeAt(start_offset, end_offset - start_offset);
-
stream.ConsumeWhitespace();
- return MakeGarbageCollected(
- general_enclosed.ToString());
+ // ( )
+ if (const ConditionalExpNode* feature =
+ ConsumeFeature(stream, MediaQueryParser::MediaQueryFeatureSet())) {
+ stream.ConsumeWhitespace();
+ return feature;
+ }
+
+ return nullptr;
+}
+
+const ConditionalExpNode* MediaQueryParser::ConsumeFunction(
+ CSSParserTokenStream&) {
+ return nullptr;
}
MediaQuerySet* MediaQueryParser::ConsumeSingleCondition(
@@ -654,7 +580,7 @@ MediaQuerySet* MediaQueryParser::ConsumeSingleCondition(
DCHECK(!stream.AtEnd());
HeapVector> queries;
- const MediaQueryExpNode* node = ConsumeCondition(stream);
+ const ConditionalExpNode* node = ConsumeCondition(stream);
if (!node) {
queries.push_back(MediaQuery::CreateNotAll());
} else {
@@ -678,8 +604,8 @@ MediaQuery* MediaQueryParser::ConsumeQuery(CSSParserTokenStream& stream) {
if (!ConsumeIfIdent(stream, "and")) {
return MakeGarbageCollected(restrictor, type, nullptr);
}
- if (const MediaQueryExpNode* node =
- ConsumeCondition(stream, ConditionMode::kWithoutOr)) {
+ if (const ConditionalExpNode* node =
+ ConsumeCondition(stream, ParseMode::kWithoutOr)) {
return MakeGarbageCollected(restrictor, type, node);
}
return nullptr;
@@ -687,7 +613,7 @@ MediaQuery* MediaQueryParser::ConsumeQuery(CSSParserTokenStream& stream) {
stream.Restore(savepoint);
// Otherwise,
- if (const MediaQueryExpNode* node = ConsumeCondition(stream)) {
+ if (const ConditionalExpNode* node = ConsumeCondition(stream)) {
return MakeGarbageCollected(MediaQuery::RestrictorType::kNone,
media_type_names::kAll, node);
}
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl
index 26b6e09a..733919dd 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl
@@ -35,8 +35,7 @@ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
[CallWith=Document] constructor();
[SameObject] readonly attribute DOMImplementation implementation;
[ImplementedAs=urlForBinding] readonly attribute USVString URL;
- // FIXME: documentURI should not be nullable.
- [ImplementedAs=urlForBinding] readonly attribute USVString? documentURI;
+ [ImplementedAs=urlForBinding] readonly attribute USVString documentURI;
readonly attribute DOMString compatMode;
readonly attribute DOMString characterSet;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/dom_token_list.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/dom_token_list.idl
index e84c4263..9a0dc89b 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/dom_token_list.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/dom_token_list.idl
@@ -36,7 +36,6 @@
[RaisesException, CEReactions] boolean toggle(DOMString token, optional boolean force);
[RaisesException, CEReactions] boolean replace(DOMString token, DOMString newToken);
[RaisesException] boolean supports(DOMString token);
- [CEReactions] attribute DOMString value;
- stringifier;
+ [CEReactions] stringifier attribute DOMString value;
iterable;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl
index 2ba90fd0..f56d3be5 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl
@@ -117,6 +117,9 @@ dictionary SetHTMLUnsafeOptions {
[RuntimeEnabled=SanitizerAPI,RaisesException,MeasureAs=SetHTMLUnsafe,CEReactions] void setHTMLUnsafe((TrustedHTML or DOMString) html, SetHTMLUnsafeOptions options);
[RuntimeEnabled=SanitizerAPI,RaisesException,MeasureAs=SetHTMLSafe,CEReactions] void setHTML(DOMString html, optional SetHTMLOptions options = {});
+ // https://github.com/whatwg/html/issues/2142
+ [RuntimeEnabled=DocumentPatching, CallWith=ScriptState, RaisesException] WritableStream streamAppendHTMLUnsafe();
+
// Declarative Shadow DOM getHTML() function.
[Affects=Nothing, MeasureAs=ElementGetHTML, RaisesException] DOMString getHTML(optional GetHTMLOptions options = {});
@@ -174,7 +177,6 @@ dictionary SetHTMLUnsafeOptions {
[CEReactions, Reflect=elementtiming] attribute DOMString elementTiming;
[RuntimeEnabled=ContainerTiming, CEReactions, Reflect=containertiming] attribute DOMString containerTiming;
[RuntimeEnabled=ContainerTiming, CEReactions, Reflect=containertiming-ignore] attribute boolean containerTimingIgnore;
- [RuntimeEnabled=ContainerTiming, CEReactions, Reflect=containertiming-nesting] attribute DOMString containerTimingNesting;
// Heading Offset
[CEReactions, RuntimeEnabled=HeadingOffset] attribute unsigned long headingOffset;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/events/event.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/events/event.idl
index e4cf6dd5..9c958327 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/events/event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/events/event.idl
@@ -53,7 +53,7 @@
[Measure] undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false);
- [MeasureAs=EventSrcElement] readonly attribute EventTarget srcElement;
+ [MeasureAs=EventSrcElement] readonly attribute EventTarget? srcElement;
[MeasureAs=EventReturnValue, CallWith=ScriptState, ImplementedAs=legacyReturnValue] attribute boolean returnValue;
[MeasureAs=EventCancelBubble, CallWith=ScriptState] attribute boolean cancelBubble;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/form_control_range.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/form_control_range.idl
index 9a50f607..27bf3e85 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/form_control_range.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/form_control_range.idl
@@ -12,5 +12,7 @@
unsigned long start,
unsigned long end);
+ DOMRectList getClientRects();
+ DOMRect getBoundingClientRect();
stringifier;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl
index f99027b1..a1a05a93 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl
@@ -58,6 +58,8 @@ interface ShadowRoot : DocumentFragment {
[RuntimeEnabled=SanitizerAPI,RaisesException,MeasureAs=SetHTMLUnsafe,CEReactions] void setHTMLUnsafe((TrustedHTML or DOMString) html, SetHTMLUnsafeOptions options);
[RuntimeEnabled=SanitizerAPI,RaisesException,MeasureAs=SetHTMLSafe,CEReactions] void setHTML(DOMString html, optional SetHTMLOptions options = {});
+ // https://github.com/whatwg/html/issues/2142
+ [RuntimeEnabled=DocumentPatching, CallWith=ScriptState, RaisesException] WritableStream streamAppendHTMLUnsafe();
};
ShadowRoot includes DocumentOrShadowRoot;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5 b/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5
index 0260c5f5..7f67d997 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5
@@ -105,7 +105,6 @@
"deviceorientationabsolute",
"dischargingtimechange",
"disconnect",
- "dismiss",
"display",
"dispose",
"downloadprogress",
@@ -143,6 +142,7 @@
"fullscreenerror",
"gamepadconnected",
"gamepaddisconnected",
+ "gamepadrawinputchanged",
"gatheringstatechange",
"gattserverdisconnected",
"geofenceenter",
@@ -273,7 +273,6 @@
"reset",
"resetpose",
"resize",
- "resolve",
"resourcetimingbufferfull",
"result",
"resume",
@@ -378,6 +377,7 @@
"webkitspeechchange",
"webkitvisibilitychange",
"wheel",
+ "writablechange",
"write",
"writeend",
"writestart",
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/mouse_event.idl b/tools/under-control/src/third_party/blink/renderer/core/events/mouse_event.idl
index ebd95577..f0cbbddb 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/mouse_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/mouse_event.idl
@@ -23,8 +23,8 @@
Exposed=Window
] interface MouseEvent : UIEvent {
[CallWith=ScriptState] constructor(DOMString type, optional MouseEventInit eventInitDict = {});
- [HighEntropy, MeasureAs=MouseEventScreenX] readonly attribute double screenX;
- [HighEntropy, MeasureAs=MouseEventScreenY] readonly attribute double screenY;
+ [MeasureAs=MouseEventScreenX] readonly attribute double screenX;
+ [MeasureAs=MouseEventScreenY] readonly attribute double screenY;
readonly attribute double clientX;
readonly attribute double clientY;
readonly attribute boolean ctrlKey;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/navigator_events.idl b/tools/under-control/src/third_party/blink/renderer/core/events/navigator_events.idl
index 78c753fd..ff9ea1ab 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/navigator_events.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/navigator_events.idl
@@ -33,5 +33,5 @@
[
ImplementedAs=NavigatorEvents
] partial interface Navigator {
- [HighEntropy=Direct, MeasureAs=NavigatorMaxTouchPoints] readonly attribute long maxTouchPoints;
+ [MeasureAs=NavigatorMaxTouchPoints] readonly attribute long maxTouchPoints;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/wheel_event.idl b/tools/under-control/src/third_party/blink/renderer/core/events/wheel_event.idl
index 19902695..1ec9be97 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/wheel_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/wheel_event.idl
@@ -32,10 +32,10 @@
readonly attribute double deltaX;
readonly attribute double deltaY;
readonly attribute double deltaZ;
- [HighEntropy=Direct, Measure] readonly attribute unsigned long deltaMode;
+ [Measure] readonly attribute unsigned long deltaMode;
// Non-standard APIs
- [HighEntropy=Direct, MeasureAs=WheelEventWheelDeltaX] readonly attribute long wheelDeltaX;
- [HighEntropy=Direct, MeasureAs=WheelEventWheelDeltaY] readonly attribute long wheelDeltaY;
- [HighEntropy=Direct, MeasureAs=WheelEventWheelDelta] readonly attribute long wheelDelta;
+ [MeasureAs=WheelEventWheelDeltaX] readonly attribute long wheelDeltaX;
+ [MeasureAs=WheelEventWheelDeltaY] readonly attribute long wheelDeltaY;
+ [MeasureAs=WheelEventWheelDelta] readonly attribute long wheelDelta;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/exported/web_view_impl.cc b/tools/under-control/src/third_party/blink/renderer/core/exported/web_view_impl.cc
index 385c4b6a..05de5050 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/tools/under-control/src/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -64,7 +64,6 @@
#include "third_party/blink/public/mojom/page/draggable_region.mojom-blink.h"
#include "third_party/blink/public/mojom/page/prerender_page_param.mojom.h"
#include "third_party/blink/public/mojom/page/widget.mojom-blink.h"
-#include "third_party/blink/public/mojom/partitioned_popins/partitioned_popin_params.mojom.h"
#include "third_party/blink/public/mojom/window_features/window_features.mojom-blink.h"
#include "third_party/blink/public/platform/interface_registry.h"
#include "third_party/blink/public/platform/platform.h"
@@ -502,10 +501,8 @@ WebView* WebView::Create(
std::optional page_base_background_color,
const base::UnguessableToken& browsing_context_group_token,
const ColorProviderColorMaps* color_provider_colors,
- blink::mojom::PartitionedPopinParamsPtr partitioned_popin_params,
int32_t history_index,
- int32_t history_length,
- const std::optional& canvas_noise_token) {
+ int32_t history_length) {
return WebViewImpl::Create(
client,
is_hidden ? mojom::blink::PageVisibilityState::kHidden
@@ -514,8 +511,7 @@ WebView* WebView::Create(
widgets_never_composited, To(opener), std::move(page_handle),
agent_group_scheduler, session_storage_namespace_id,
std::move(page_base_background_color), browsing_context_group_token,
- color_provider_colors, std::move(partitioned_popin_params), history_index,
- history_length, canvas_noise_token);
+ color_provider_colors, history_index, history_length);
}
WebViewImpl* WebViewImpl::Create(
@@ -533,18 +529,15 @@ WebViewImpl* WebViewImpl::Create(
std::optional page_base_background_color,
const base::UnguessableToken& browsing_context_group_token,
const ColorProviderColorMaps* color_provider_colors,
- blink::mojom::PartitionedPopinParamsPtr partitioned_popin_params,
int32_t history_index,
- int32_t history_length,
- const std::optional& canvas_noise_token) {
+ int32_t history_length) {
return new WebViewImpl(
client, visibility, std::move(prerender_param), fenced_frame_mode,
compositing_enabled, widgets_never_composited, opener,
std::move(page_handle), agent_group_scheduler,
session_storage_namespace_id, std::move(page_base_background_color),
- browsing_context_group_token, color_provider_colors,
- std::move(partitioned_popin_params), history_index, history_length,
- canvas_noise_token);
+ browsing_context_group_token, color_provider_colors, history_index,
+ history_length);
}
size_t WebView::GetWebViewCount() {
@@ -562,9 +555,9 @@ void WebView::ResetVisitedLinkState(bool invalidate_visited_link_hashes) {
void WebViewImpl::SetNoStatePrefetchClient(
WebNoStatePrefetchClient* no_state_prefetch_client) {
DCHECK(page_);
- ProvideNoStatePrefetchClientTo(*page_,
- MakeGarbageCollected(
- *page_, no_state_prefetch_client));
+ ProvideNoStatePrefetchClientTo(
+ *page_,
+ MakeGarbageCollected(no_state_prefetch_client));
}
void WebViewImpl::CloseWindow() {
@@ -609,10 +602,8 @@ WebViewImpl::WebViewImpl(
std::optional page_base_background_color,
const base::UnguessableToken& browsing_context_group_token,
const ColorProviderColorMaps* color_provider_colors,
- blink::mojom::PartitionedPopinParamsPtr partitioned_popin_params,
int32_t history_index,
- int32_t history_length,
- const std::optional& canvas_noise_token)
+ int32_t history_length)
: widgets_never_composited_(widgets_never_composited),
web_view_client_(client),
chrome_client_(MakeGarbageCollected(this)),
@@ -645,8 +636,7 @@ WebViewImpl::WebViewImpl(
page_ = Page::CreateOrdinary(
*chrome_client_, opener ? opener->GetPage() : nullptr,
agent_group_scheduler.GetAgentGroupScheduler(),
- browsing_context_group_token, color_provider_colors,
- std::move(partitioned_popin_params), canvas_noise_token);
+ browsing_context_group_token, color_provider_colors);
CoreInitializer::GetInstance().ProvideModulesToPage(
*page_, session_storage_namespace_id_);
@@ -1627,6 +1617,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
settings->SetDOMPasteAllowed(prefs.dom_paste_enabled);
settings->SetTextAreasAreResizable(prefs.text_areas_are_resizable);
settings->SetAllowScriptsToCloseWindows(prefs.allow_scripts_to_close_windows);
+ settings->SetAllowWindowFocusWithoutUserGesture(
+ prefs.allow_window_focus_without_user_gesture);
settings->SetDownloadableBinaryFontsEnabled(prefs.remote_fonts_enabled);
settings->SetJavaScriptCanAccessClipboard(
prefs.javascript_can_access_clipboard);
@@ -1700,7 +1692,9 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
prefs.strict_powerful_feature_restrictions);
settings->SetAllowGeolocationOnInsecureOrigins(
prefs.allow_geolocation_on_insecure_origins);
- settings->SetPasswordEchoEnabled(prefs.password_echo_enabled);
+ settings->SetPasswordEchoEnabledPhysical(
+ prefs.password_echo_enabled_physical);
+ settings->SetPasswordEchoEnabledTouch(prefs.password_echo_enabled_touch);
settings->SetShouldPrintBackgrounds(prefs.should_print_backgrounds);
settings->SetShouldClearDocumentBackground(
prefs.should_clear_document_background);
@@ -3140,8 +3134,6 @@ void WebViewImpl::Show(const LocalFrameToken& opener_frame_token,
window_features->has_width = web_window_features.width_set;
window_features->has_height = web_window_features.height_set;
window_features->is_popup = web_window_features.is_popup;
- window_features->is_partitioned_popin =
- web_window_features.is_partitioned_popin;
local_main_frame_host_remote_->ShowCreatedWindow(
opener_frame_token, NavigationPolicyToDisposition(policy),
std::move(window_features), opened_by_user_gesture,
@@ -3164,6 +3156,7 @@ void WebViewImpl::DidAccessInitialMainDocument() {
local_main_frame_host_remote_->DidAccessInitialMainDocument();
}
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
void WebViewImpl::Minimize() {
DCHECK(local_main_frame_host_remote_);
local_main_frame_host_remote_->Minimize();
@@ -3183,6 +3176,7 @@ void WebViewImpl::SetResizable(bool resizable) {
DCHECK(local_main_frame_host_remote_);
local_main_frame_host_remote_->SetResizable(resizable);
}
+#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
void WebViewImpl::UpdateTargetURL(const WebURL& url,
const WebURL& fallback_url) {
@@ -3498,15 +3492,6 @@ void WebViewImpl::UpdateUseOverlayScrollbar(bool use_overlay_scrollbar) {
}
#endif
-void WebViewImpl::UpdateCanvasNoiseToken(
- std::optional canvas_noise_token) {
- GetPage()->SetCanvasNoiseToken(canvas_noise_token);
-}
-
-std::optional WebViewImpl::CanvasNoiseTokenForTesting() {
- return GetPage()->CanvasNoiseToken();
-}
-
void WebViewImpl::ActivatePrerenderedPage(
mojom::blink::PrerenderPageActivationParamsPtr
prerender_page_activation_params,
@@ -3625,6 +3610,11 @@ void WebViewImpl::UpdateRendererPreferences(
renderer_preferences_.selection_clipboard_buffer_available);
#endif // BUILDFLAG(IS_OZONE)
+#if BUILDFLAG(IS_LINUX)
+ GetSettings()->SetMiddleClickPasteAllowed(
+ renderer_preferences_.middle_click_paste_allowed);
+#endif // BUILDFLAG(IS_LINUX)
+
SetExplicitlyAllowedPorts(
renderer_preferences_.explicitly_allowed_network_ports);
@@ -4120,6 +4110,10 @@ void WebViewImpl::SetSupportsDraggableRegions(bool supports_draggable_regions) {
if (supports_draggable_regions_) {
local_frame->View()->UpdateDocumentDraggableRegions();
} else {
+ if (!local_frame->GetDocument()->HasDraggableRegions()) {
+ return;
+ }
+
local_frame->GetDocument()->SetDraggableRegions(
Vector());
chrome_client_->DraggableRegionsChanged();
diff --git a/tools/under-control/src/third_party/blink/renderer/core/fetch/request.idl b/tools/under-control/src/third_party/blink/renderer/core/fetch/request.idl
index bd6904c6..c4b3c945 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/fetch/request.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/fetch/request.idl
@@ -23,9 +23,6 @@ enum RequestDestination {
// https://wicg.github.io/shared-storage/#request-destination-monkey-patch
"sharedstorageworklet",
- // https://w3c-fedid.github.io/FedCM/
- "webidentity",
-
// https://github.com/whatwg/fetch/issues/1120
"webbundle",
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/fetch/request_init.idl b/tools/under-control/src/third_party/blink/renderer/core/fetch/request_init.idl
index 5f729278..7e282cc8 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/fetch/request_init.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/fetch/request_init.idl
@@ -32,7 +32,7 @@ dictionary RequestInit {
// available in secure contexts, this has to be enforced after the fact
// because the SecureContext IDL attribute doesn't affect dictionary members.
[RuntimeEnabled=PrivateStateTokens] PrivateToken privateToken;
- [RuntimeEnabled=AttributionReporting] AttributionReportingRequestOptions attributionReporting;
+ [RuntimeEnabled=AttributionReporting, DeprecateAs=AttributionReportingAPIAll] AttributionReportingRequestOptions attributionReporting;
[RuntimeEnabled=FetchRetry] RetryOptions retryOptions;
// TODO(domfarolino): add support for RequestInit window member.
//any window; // can only be set to null
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/history.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/history.idl
index bd2c8072..e7deeeac 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/history.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/history.idl
@@ -30,7 +30,7 @@ enum ScrollRestoration {"auto", "manual"};
[
Exposed=Window
] interface History {
- [HighEntropy=Direct, MeasureAs=HistoryLength, RaisesException] readonly attribute unsigned long length;
+ [MeasureAs=HistoryLength, RaisesException] readonly attribute unsigned long length;
[Measure, RaisesException] attribute ScrollRestoration scrollRestoration;
[CallWith=ScriptState, RaisesException] readonly attribute any state;
[CallWith=ScriptState, RaisesException] void go(optional long delta = 0);
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator.idl
index c66bc240..37601c64 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator.idl
@@ -25,13 +25,13 @@
// objects implementing this interface also implement the interfaces given below
// TODO(foolip): vendorSub should be on NavigatorID.
- [HighEntropy=Direct, MeasureAs=NavigatorVendorSub] readonly attribute DOMString vendorSub;
+ [MeasureAs=NavigatorVendorSub] readonly attribute DOMString vendorSub;
// TODO(foolip): productSub and vendor are not yet in the spec:
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=27954
- [HighEntropy=Direct, MeasureAs=NavigatorProductSub] readonly attribute DOMString productSub;
+ [MeasureAs=NavigatorProductSub] readonly attribute DOMString productSub;
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=27786
- [HighEntropy=Direct, MeasureAs=NavigatorVendor] readonly attribute DOMString vendor;
+ [MeasureAs=NavigatorVendor] readonly attribute DOMString vendor;
};
Navigator includes NavigatorConcurrentHardware;
@@ -42,3 +42,4 @@ Navigator includes NavigatorLanguage;
Navigator includes NavigatorOnLine;
Navigator includes NavigatorAutomationInformation;
Navigator includes NavigatorUA;
+Navigator includes NavigatorPlugins;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_automation_information.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_automation_information.idl
index 31bf37cb..909497fe 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_automation_information.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_automation_information.idl
@@ -5,5 +5,5 @@
// https://w3c.github.io/webdriver/#interface
interface mixin NavigatorAutomationInformation {
- [HighEntropy] readonly attribute boolean webdriver;
+ readonly attribute boolean webdriver;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.idl
index d85c0f7d..d675cc36 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.idl
@@ -5,5 +5,5 @@
// https://html.spec.whatwg.org/C/#navigator.hardwareconcurrency
interface mixin NavigatorConcurrentHardware {
- [HighEntropy=Direct, MeasureAs=NavigatorHardwareConcurrency] readonly attribute unsigned long long hardwareConcurrency;
+ [MeasureAs=NavigatorHardwareConcurrency] readonly attribute unsigned long long hardwareConcurrency;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cookies.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cookies.idl
index 3d39a565..76c3a2c2 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cookies.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cookies.idl
@@ -5,6 +5,6 @@
// https://html.spec.whatwg.org/C/#cookies
interface mixin NavigatorCookies {
- [HighEntropy=Direct,MeasureAs=NavigatorCookieEnabled]
+ [MeasureAs=NavigatorCookieEnabled]
readonly attribute boolean cookieEnabled;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cpu_performance.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cpu_performance.idl
index 08742cd8..0d0d3ffa 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cpu_performance.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_cpu_performance.idl
@@ -9,6 +9,6 @@
SameObject,
SecureContext
] partial interface Navigator {
- [HighEntropy=Direct, MeasureAs=NavigatorCPUPerformance]
+ [MeasureAs=NavigatorCPUPerformance]
readonly attribute unsigned short cpuPerformance;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_device_memory.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_device_memory.idl
index e1399af3..6a57f550 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_device_memory.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_device_memory.idl
@@ -5,6 +5,6 @@
// https://github.com/w3c/device-memory#the-web-exposed-api
interface mixin NavigatorDeviceMemory {
- [HighEntropy=Direct,MeasureAs=NavigatorDeviceMemory,SecureContext]
+ [MeasureAs=NavigatorDeviceMemory,SecureContext]
readonly attribute float deviceMemory;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_id.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_id.idl
index ed29e509..99da043b 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_id.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_id.idl
@@ -33,10 +33,10 @@
interface mixin NavigatorID {
readonly attribute DOMString appCodeName; // constant "Mozilla"
readonly attribute DOMString appName; // constant "Netscape"
- [HighEntropy=Direct, MeasureAs=NavigatorAppVersion] readonly attribute DOMString appVersion;
- [HighEntropy=Direct, MeasureAs=NavigatorPlatform] readonly attribute DOMString platform;
+ [MeasureAs=NavigatorAppVersion] readonly attribute DOMString appVersion;
+ [MeasureAs=NavigatorPlatform] readonly attribute DOMString platform;
readonly attribute DOMString product; // constant "Gecko"
// https://www.w3.org/Bugs/Public/show_bug.cgi?id=22555
// boolean taintEnabled(); // constant false
- [HighEntropy=Direct, MeasureAs=NavigatorUserAgent] readonly attribute DOMString userAgent;
+ [MeasureAs=NavigatorUserAgent] readonly attribute DOMString userAgent;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_language.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_language.idl
index 2e4e5a52..5f116951 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_language.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_language.idl
@@ -5,6 +5,6 @@
// https://html.spec.whatwg.org/C/#language-preferences
interface mixin NavigatorLanguage {
- [HighEntropy=Direct, MeasureAs=NavigatorLanguage] readonly attribute DOMString language;
- [CachedAttribute=IsLanguagesDirty, HighEntropy=Direct, MeasureAs=NavigatorLanguages] readonly attribute FrozenArray languages;
+ [MeasureAs=NavigatorLanguage] readonly attribute DOMString language;
+ [CachedAttribute=IsLanguagesDirty, MeasureAs=NavigatorLanguages] readonly attribute FrozenArray languages;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_ua_data.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_ua_data.idl
index 3ffb9192..5edd01e1 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_ua_data.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/navigator_ua_data.idl
@@ -5,9 +5,9 @@
// https://github.com/WICG/ua-client-hints
[Exposed=(Window,Worker)] interface NavigatorUAData {
- [HighEntropy, MeasureAs=NavigatorUAData_Brands] readonly attribute FrozenArray brands;
- [HighEntropy=Direct, MeasureAs=NavigatorUAData_Mobile] readonly attribute boolean mobile;
- [HighEntropy=Direct, MeasureAs=NavigatorUAData_Platform] readonly attribute DOMString platform;
- [HighEntropy, CallWith=ScriptState, MeasureAs=NavigatorUAData_GetHighEntropyValues] Promise getHighEntropyValues(sequence hints);
- [HighEntropy, CallWith=ScriptState, MeasureAs=NavigatorUAData_toJSON] object toJSON();
+ [MeasureAs=NavigatorUAData_Brands] readonly attribute FrozenArray brands;
+ [MeasureAs=NavigatorUAData_Mobile] readonly attribute boolean mobile;
+ [MeasureAs=NavigatorUAData_Platform] readonly attribute DOMString platform;
+ [CallWith=ScriptState, MeasureAs=NavigatorUAData_GetHighEntropyValues] Promise getHighEntropyValues(sequence hints);
+ [CallWith=ScriptState, MeasureAs=NavigatorUAData_toJSON] object toJSON();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/screen.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/screen.idl
index 4102bd43..c4c9ee39 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/screen.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/screen.idl
@@ -31,23 +31,23 @@
[
Exposed=Window
] interface Screen : EventTarget {
- [HighEntropy=Direct, Measure] readonly attribute long availWidth;
- [HighEntropy=Direct, Measure] readonly attribute long availHeight;
- [HighEntropy=Direct, Measure] readonly attribute long width;
- [HighEntropy=Direct, Measure] readonly attribute long height;
- [HighEntropy=Direct, Measure] readonly attribute unsigned long colorDepth;
+ [Measure] readonly attribute long availWidth;
+ [Measure] readonly attribute long availHeight;
+ [Measure] readonly attribute long width;
+ [Measure] readonly attribute long height;
+ [Measure] readonly attribute unsigned long colorDepth;
// pixelDepth() is an alias for colorDepth(), no need to instrument it twice.
- [HighEntropy, Measure] readonly attribute unsigned long pixelDepth;
+ [Measure] readonly attribute unsigned long pixelDepth;
// Non-standard
- [HighEntropy=Direct, Measure] readonly attribute long availLeft;
- [HighEntropy=Direct, Measure] readonly attribute long availTop;
+ [Measure] readonly attribute long availLeft;
+ [Measure] readonly attribute long availTop;
// Fired when the window’s screen or that screen's attributes change.
// https://w3c.github.io/window-management/
- [SecureContext, HighEntropy, MeasureAs=WindowScreenChange] attribute EventHandler onchange;
+ [SecureContext, MeasureAs=WindowScreenChange] attribute EventHandler onchange;
// Whether the device’s visual output extends over multiple screens.
// https://w3c.github.io/window-management/
- [SecureContext, HighEntropy=Direct, MeasureAs=WindowScreenIsExtended] readonly attribute boolean isExtended;
+ [SecureContext, MeasureAs=WindowScreenIsExtended] readonly attribute boolean isExtended;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5 b/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5
index 9f68384d..3138dc41 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5
@@ -59,10 +59,17 @@
},
// Do not hide chars typed in password fields immediately, but let the last char stay
- // visible for N seconds, configured by the passwordEchoDurationInSeconds setting
- // FIXME: Enable automatically if passwordEchoDurationInSeconds is set to a positive value.
+ // visible for N seconds, configured by the passwordEchoDurationInSeconds setting.
+
+ // Controls password echoing when input is received from physical devices (like a hardware keyboard).
{
- name: "passwordEchoEnabled",
+ name: "passwordEchoEnabledPhysical",
+ initial: false,
+ },
+
+ // Controls password echoing when input is received from touch-based sources (like an on-screen soft keyboard).
+ {
+ name: "passwordEchoEnabledTouch",
initial: false,
},
@@ -184,6 +191,10 @@
name: "allowScriptsToCloseWindows",
initial: false,
},
+ {
+ name: "allowWindowFocusWithoutUserGesture",
+ initial: false,
+ },
// FIXME: This should really be disabled by default as it makes platforms that
// don't support the feature download files they can't use by.
@@ -1201,6 +1212,10 @@
name: "selectionClipboardBufferAvailable",
initial: false,
},
+ {
+ name: "middleClickPasteAllowed",
+ initial: true
+ },
{
name: "accessibilityIncludeSvgGElement",
initial: false,
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl
index de6a952f..e4852cd0 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl
@@ -30,16 +30,16 @@
Exposed=Window,
ImplementedAs=DOMVisualViewport
] interface VisualViewport : EventTarget {
- [HighEntropy=Direct, Measure] readonly attribute double offsetLeft;
- [HighEntropy=Direct, Measure] readonly attribute double offsetTop;
+ [Measure] readonly attribute double offsetLeft;
+ [Measure] readonly attribute double offsetTop;
- [HighEntropy=Direct, Measure] readonly attribute double pageLeft;
- [HighEntropy=Direct, Measure] readonly attribute double pageTop;
+ [Measure] readonly attribute double pageLeft;
+ [Measure] readonly attribute double pageTop;
- [HighEntropy=Direct, Measure] readonly attribute double width;
- [HighEntropy=Direct, Measure] readonly attribute double height;
+ [Measure] readonly attribute double width;
+ [Measure] readonly attribute double height;
- [HighEntropy=Direct, Measure] readonly attribute double scale;
+ [Measure] readonly attribute double scale;
attribute EventHandler onresize;
attribute EventHandler onscroll;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl
index 71027999..dd50e40e 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl
@@ -117,7 +117,7 @@
// CSSOM View Module
// https://drafts.csswg.org/cssom-view/#extensions-to-the-window-interface
- [HighEntropy, Measure, NewObject] MediaQueryList matchMedia(DOMString query);
+ [Measure, NewObject] MediaQueryList matchMedia(DOMString query);
[SameObject, Replaceable] readonly attribute Screen screen;
// browsing context
@@ -127,14 +127,14 @@
[MeasureAs=WindowResize, RaisesException] void resizeBy(long x, long y);
// viewport
- [HighEntropy=Direct, MeasureAs=WindowInnerWidth, Replaceable] readonly attribute long innerWidth;
- [HighEntropy=Direct, MeasureAs=WindowInnerHeight, Replaceable] readonly attribute long innerHeight;
+ [MeasureAs=WindowInnerWidth, Replaceable] readonly attribute long innerWidth;
+ [MeasureAs=WindowInnerHeight, Replaceable] readonly attribute long innerHeight;
// viewport scrolling
- [HighEntropy=Direct, MeasureAs=WindowScrollX, Replaceable] readonly attribute double scrollX;
- [HighEntropy=Direct, MeasureAs=WindowPageXOffset, Replaceable] readonly attribute double pageXOffset;
- [HighEntropy=Direct, MeasureAs=WindowScrollY, Replaceable] readonly attribute double scrollY;
- [HighEntropy=Direct, MeasureAs=WindowPageYOffset, Replaceable] readonly attribute double pageYOffset;
+ [MeasureAs=WindowScrollX, Replaceable] readonly attribute double scrollX;
+ [MeasureAs=WindowPageXOffset, Replaceable] readonly attribute double pageXOffset;
+ [MeasureAs=WindowScrollY, Replaceable] readonly attribute double scrollY;
+ [MeasureAs=WindowPageYOffset, Replaceable] readonly attribute double pageYOffset;
[ImplementedAs=scrollTo, CallWith=ScriptState] Promise scroll(optional ScrollToOptions options = {});
[ImplementedAs=scrollTo, CallWith=ScriptState] Promise scroll(unrestricted double x, unrestricted double y);
[CallWith=ScriptState] Promise scrollTo(optional ScrollToOptions options = {});
@@ -151,11 +151,11 @@
[Replaceable, SameObject, RuntimeEnabled=ViewportSegments] readonly attribute Viewport viewport;
// client
- [HighEntropy=Direct, MeasureAs=WindowScreenX, Replaceable] readonly attribute long screenX;
- [HighEntropy=Direct, MeasureAs=WindowScreenY, Replaceable] readonly attribute long screenY;
- [HighEntropy=Direct, MeasureAs=WindowOuterWidth, Replaceable] readonly attribute long outerWidth;
- [HighEntropy=Direct, MeasureAs=WindowOuterHeight, Replaceable] readonly attribute long outerHeight;
- [HighEntropy=Direct, MeasureAs=WindowDevicePixelRatio, Replaceable] readonly attribute double devicePixelRatio;
+ [MeasureAs=WindowScreenX, Replaceable] readonly attribute long screenX;
+ [MeasureAs=WindowScreenY, Replaceable] readonly attribute long screenY;
+ [MeasureAs=WindowOuterWidth, Replaceable] readonly attribute long outerWidth;
+ [MeasureAs=WindowOuterHeight, Replaceable] readonly attribute long outerHeight;
+ [MeasureAs=WindowDevicePixelRatio, Replaceable] readonly attribute double devicePixelRatio;
// Selection API
// https://w3c.github.io/selection-api/#extensions-to-window-interface
@@ -173,7 +173,7 @@
// This is the interface orientation in degrees. Some examples are:
// 0 is straight up; -90 is when the device is rotated 90 clockwise;
// 90 is when rotated counter clockwise.
- [HighEntropy=Direct, MeasureAs=WindowOrientation, RuntimeEnabled=OrientationEvent] readonly attribute long orientation;
+ [MeasureAs=WindowOrientation, RuntimeEnabled=OrientationEvent] readonly attribute long orientation;
// Event handler attribute for the pageswap event.
[RuntimeEnabled=PageSwapEvent] attribute EventHandler onpageswap;
@@ -195,8 +195,8 @@
optional boolean searchInFrames = false,
optional boolean showDialog = false);
[MeasureAs=WindowOffscreenBuffering, Replaceable, NotEnumerable] readonly attribute boolean offscreenBuffering;
- [HighEntropy=Direct, MeasureAs=WindowScreenLeft, Replaceable] readonly attribute long screenLeft;
- [HighEntropy=Direct, MeasureAs=WindowScreenTop, Replaceable] readonly attribute long screenTop;
+ [MeasureAs=WindowScreenLeft, Replaceable] readonly attribute long screenLeft;
+ [MeasureAs=WindowScreenTop, Replaceable] readonly attribute long screenTop;
[RuntimeEnabled=WindowDefaultStatus,MeasureAs=WindowDefaultStatus] attribute DOMString defaultStatus;
[RuntimeEnabled=WindowDefaultStatus,MeasureAs=WindowDefaultstatus, ImplementedAs=defaultStatus] attribute DOMString defaultstatus;
[MeasureAs=StyleMedia] readonly attribute StyleMedia styleMedia;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/window_popin.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/window_popin.idl
deleted file mode 100755
index 247f4f2b..00000000
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/window_popin.idl
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Popins are a type of pop-up for loading web content with a modal-like UI
-// relative to its opener tab. The interface defined here helps developers to
-// work with popins, e.g. to detect what popin types are available or tell
-// if a window is a popin of a certain type.
-// https://explainers-by-googlers.github.io/partitioned-popins/
-
-enum PopinContextType {
- // Popin with cookies/storage partitioned partitioned as though it were an
- // iframe in the opener's context.
- "partitioned",
-};
-
-[
- ImplementedAs=WindowPopin,
- Exposed=Window,
- RuntimeEnabled=PartitionedPopins
-] partial interface Window {
- // Returns an empty array if no popin context types are supported.
- [Measure] sequence popinContextTypesSupported();
-
- // Returns null if this isn't a popin context.
- [Measure] PopinContextType? popinContextType();
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/canvas/html_canvas_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/canvas/html_canvas_element.idl
index c93d109e..dcd5c334 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/canvas/html_canvas_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/canvas/html_canvas_element.idl
@@ -24,35 +24,24 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-dictionary CanvasHitTestRect {
- double x;
- double y;
- double? width;
- double? height;
-};
-
-dictionary CanvasElementHitTestRegion {
- Element element;
- CanvasHitTestRect rect;
-};
-
// https://html.spec.whatwg.org/C/canvas.html#htmlcanvaselement
[
Exposed=Window
] interface HTMLCanvasElement : HTMLElement
{
[HTMLConstructor] constructor();
- // Note: Due to dependecies on modules, getContext is defined in a partial
+ // Note: Due to dependencies on modules, getContext is defined in a partial
// interface in html_canvas_element_module.idl
[RaisesException=Setter, CEReactions] attribute unsigned long width;
[RaisesException=Setter, CEReactions] attribute unsigned long height;
[RuntimeEnabled=CanvasDrawElement] attribute boolean layoutSubtree;
+ [RuntimeEnabled=CanvasDrawElement, RaisesException] DOMMatrix getElementTransform(Element element, DOMMatrix draw_transform);
- [HighEntropy, MeasureAs=CanvasToDataURL, RaisesException] DOMString toDataURL(optional DOMString type = "image/png", optional any quality);
+ [MeasureAs=CanvasToDataURL, RaisesException] DOMString toDataURL(optional DOMString type = "image/png", optional any quality);
- [HighEntropy, MeasureAs=CanvasToBlob, RaisesException] void toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality);
+ [MeasureAs=CanvasToBlob, RaisesException] void toBlob(BlobCallback _callback, optional DOMString type = "image/png", optional any quality);
[RuntimeEnabled=CanvasHDR, RaisesException] void configureHighDynamicRange(CanvasHighDynamicRangeOptions options);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/canvas/text_metrics.idl b/tools/under-control/src/third_party/blink/renderer/core/html/canvas/text_metrics.idl
index bedf8924..92afe266 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/canvas/text_metrics.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/canvas/text_metrics.idl
@@ -50,16 +50,16 @@ interface TextMetrics {
[RuntimeEnabled=TextMetricsBaselines] readonly attribute double hangingBaseline;
[RuntimeEnabled=TextMetricsBaselines] readonly attribute double alphabeticBaseline;
[RuntimeEnabled=TextMetricsBaselines] readonly attribute double ideographicBaseline;
- [RuntimeEnabled=ExtendedTextMetrics] readonly attribute double emHeightAscent;
- [RuntimeEnabled=ExtendedTextMetrics] readonly attribute double emHeightDescent;
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] readonly attribute double emHeightAscent;
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] readonly attribute double emHeightDescent;
// For editing, to get the text offset at a point
- [RuntimeEnabled=ExtendedTextMetrics] unsigned long getIndexFromOffset(double x);
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] unsigned long getIndexFromOffset(double x);
// For selection
- [RuntimeEnabled=ExtendedTextMetrics, RaisesException] sequence getSelectionRects([EnforceRange] unsigned long start, [EnforceRange] unsigned long end);
+ [RuntimeEnabled=ExtendedTextMetrics, RaisesException, MeasureAs=ExtendedTextMetrics] sequence getSelectionRects([EnforceRange] unsigned long start, [EnforceRange] unsigned long end);
// For bounding box
- [RuntimeEnabled=ExtendedTextMetrics, RaisesException] DOMRectReadOnly getActualBoundingBox([EnforceRange] unsigned long start, [EnforceRange] unsigned long end);
- [RuntimeEnabled=ExtendedTextMetrics, RaisesException] sequence getTextClusters([EnforceRange] unsigned long start, [EnforceRange] unsigned long end, optional TextClusterOptions options = {});
- [RuntimeEnabled=ExtendedTextMetrics] sequence getTextClusters(optional TextClusterOptions options = {});
+ [RuntimeEnabled=ExtendedTextMetrics, RaisesException, MeasureAs=ExtendedTextMetrics] DOMRectReadOnly getActualBoundingBox([EnforceRange] unsigned long start, [EnforceRange] unsigned long end);
+ [RuntimeEnabled=ExtendedTextMetrics, RaisesException, MeasureAs=ExtendedTextMetrics] sequence getTextClusters([EnforceRange] unsigned long start, [EnforceRange] unsigned long end, optional TextClusterOptions options = {});
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] sequence getTextClusters(optional TextClusterOptions options = {});
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fenced_frame_config.idl b/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fenced_frame_config.idl
index 4f052219..7b5f69df 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fenced_frame_config.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fenced_frame_config.idl
@@ -14,5 +14,5 @@ interface FencedFrameConfig {
// For more information on why this is needed please see:
// https://github.com/WICG/fenced-frame/issues/48#issuecomment-1245809738
[RuntimeEnabled=FencedFramesDefaultMode] constructor(USVString url);
- void setSharedStorageContext(DOMString contextString);
+ [DeprecateAs=SharedStorageAPIAll] void setSharedStorageContext(DOMString contextString);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_attributionsrc_element_utils.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_attributionsrc_element_utils.idl
index 8c975e54..9864f3c5 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/html_attributionsrc_element_utils.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_attributionsrc_element_utils.idl
@@ -4,5 +4,5 @@
[RuntimeEnabled=AttributionReporting]
interface mixin HTMLAttributionSrcElementUtils {
- [CEReactions, Reflect, SecureContext] attribute USVString attributionSrc;
+ [CEReactions, Reflect, SecureContext, DeprecateAs=AttributionReportingAPIAll] attribute USVString attributionSrc;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_geolocation_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_geolocation_element.idl
index 815ffd5a..0ba65fef 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/html_geolocation_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_geolocation_element.idl
@@ -2,18 +2,36 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// https://github.com/WICG/PEPC/blob/main/geolocation_explainer.md
+// TODO(https://crbug.com/461543463): Putting this here rather than in a
+// distinct file, as it's possible that we'll rename it in the near future.
+//
+// https://wicg.github.io/PEPC/permission-elements.html#permission-mixin
+interface mixin InPagePermissionMixin {
+ readonly attribute boolean isValid;
+ // TODO(https://crbug.com/461543463): This should be
+ // `InPagePermissionMixinBlockerReason`, but that will require changing
+ // `HTMLPermissionElement` too.
+ readonly attribute DOMString invalidReason;
+ readonly attribute PermissionState initialPermissionStatus;
+ readonly attribute PermissionState permissionStatus;
+ attribute EventHandler onpromptaction;
+ attribute EventHandler onpromptdismiss;
+ attribute EventHandler onvalidationstatuschange;
+};
+
+// https://wicg.github.io/PEPC/permission-elements.html#geolocation-element
[RuntimeEnabled=GeolocationElement, Exposed=Window]
-interface HTMLGeolocationElement : HTMLPermissionElement {
+interface HTMLGeolocationElement : HTMLElement {
[HTMLConstructor] constructor();
attribute EventHandler onlocation;
- readonly attribute GeolocationPosition position;
- readonly attribute GeolocationPositionError error;
+ readonly attribute GeolocationPosition? position;
+ readonly attribute GeolocationPositionError? error;
[CEReactions, Reflect] attribute DOMString accuracymode;
- [CEReactions] attribute boolean autolocate;
- [CEReactions] attribute boolean watch;
+ [CEReactions, Reflect] attribute boolean autolocate;
+ [CEReactions, Reflect] attribute boolean watch;
};
+HTMLGeolocationElement includes InPagePermissionMixin;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_install_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_install_element.idl
new file mode 100755
index 00000000..8dffafb3
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_install_element.idl
@@ -0,0 +1,13 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://github.com/mikewest/pepc-install/
+
+[RuntimeEnabled=InstallElement, Exposed=Window]
+interface HTMLInstallElement : HTMLPermissionElement {
+ [HTMLConstructor] constructor();
+
+ [CEReactions, Reflect, URL] attribute USVString manifest;
+};
+// TODO(455783637): HTMLPermissionElement should shift to `InPagePermissionMixin`.
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_permission_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_permission_element.idl
index fd55ae47..4edc38fb 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/html_permission_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_permission_element.idl
@@ -20,11 +20,6 @@ interface HTMLPermissionElement : HTMLElement {
readonly attribute PermissionState initialPermissionStatus;
readonly attribute PermissionState permissionStatus;
- attribute EventHandler onresolve;
- attribute EventHandler ondismiss;
-
- // New name for the events `onresolve` and `ondismiss`. We will keep both
- // for backward compability and will remove the old events in M138.
attribute EventHandler onpromptaction;
attribute EventHandler onpromptdismiss;
attribute EventHandler onvalidationstatuschange;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_user_media_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_user_media_element.idl
new file mode 100755
index 00000000..8b455aa8
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_user_media_element.idl
@@ -0,0 +1,12 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://github.com/WICG/PEPC/blob/main/usermedia_element.md
+[RuntimeEnabled=UserMediaElement, Exposed=Window]
+interface HTMLUserMediaElement : HTMLElement {
+ [HTMLConstructor] constructor();
+ [CEReactions, Reflect] attribute DOMString type;
+};
+
+HTMLUserMediaElement includes InPagePermissionMixin;
\ No newline at end of file
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl
index 4d1ac889..0b0a0757 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl
@@ -48,7 +48,7 @@ enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
[CEReactions] attribute DOMString preload;
readonly attribute TimeRanges buffered;
void load();
- [HighEntropy, Measure] CanPlayTypeResult canPlayType(DOMString type);
+ CanPlayTypeResult canPlayType(DOMString type);
// ready state
const unsigned short HAVE_NOTHING = 0;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/media/html_video_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/media/html_video_element.idl
index 8c3905bf..88838d13 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/media/html_video_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/media/html_video_element.idl
@@ -38,11 +38,11 @@
// The number of frames that have been decoded and made available for
// playback.
- [HighEntropy=Direct, MeasureAs=PrefixedVideoDecodedFrameCount] readonly attribute unsigned long webkitDecodedFrameCount;
+ [MeasureAs=PrefixedVideoDecodedFrameCount] readonly attribute unsigned long webkitDecodedFrameCount;
// The number of decoded frames that have been dropped by the player
// for performance reasons during playback.
- [HighEntropy=Direct, MeasureAs=PrefixedVideoDroppedFrameCount] readonly attribute unsigned long webkitDroppedFrameCount;
+ [MeasureAs=PrefixedVideoDroppedFrameCount] readonly attribute unsigned long webkitDroppedFrameCount;
[CEReactions, Reflect] attribute boolean playsInline;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/input/input_device_capabilities.idl b/tools/under-control/src/third_party/blink/renderer/core/input/input_device_capabilities.idl
index c4f56c69..8f614ed8 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/input/input_device_capabilities.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/input/input_device_capabilities.idl
@@ -19,5 +19,5 @@
// Whether this device dispatches touch events for movement. This is used to detect
// mouse events which represent only an action that has already been handled by
// touch event handlers.
- [HighEntropy=Direct, Measure] readonly attribute boolean firesTouchEvents;
+ [Measure] readonly attribute boolean firesTouchEvents;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/input/touch.idl b/tools/under-control/src/third_party/blink/renderer/core/input/touch.idl
index 43a55641..410011d7 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/input/touch.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/input/touch.idl
@@ -40,5 +40,5 @@
readonly attribute float radiusX;
readonly attribute float radiusY;
readonly attribute float rotationAngle;
- [HighEntropy=Direct, Measure] readonly attribute float force;
+ [Measure] readonly attribute float force;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.idl b/tools/under-control/src/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.idl
index cfaac55a..86a8bf25 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.idl
@@ -12,8 +12,8 @@
attribute [EnforceRange] unsigned long width;
attribute [EnforceRange] unsigned long height;
- [CallWith=ScriptState, HighEntropy, MeasureAs=OffscreenCanvasTransferToImageBitmap, RaisesException] ImageBitmap transferToImageBitmap();
- [CallWith=ScriptState, HighEntropy, MeasureAs=OffscreenCanvasConvertToBlob, RaisesException] Promise convertToBlob(optional ImageEncodeOptions options = {});
+ [CallWith=ScriptState, MeasureAs=OffscreenCanvasTransferToImageBitmap, RaisesException] ImageBitmap transferToImageBitmap();
+ [CallWith=ScriptState, MeasureAs=OffscreenCanvasConvertToBlob, RaisesException] Promise convertToBlob(optional ImageEncodeOptions options = {});
attribute EventHandler oncontextlost;
attribute EventHandler oncontextrestored;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/permissions_policy/feature_policy.idl b/tools/under-control/src/third_party/blink/renderer/core/permissions_policy/feature_policy.idl
index 7135186b..4f929b50 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/permissions_policy/feature_policy.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/permissions_policy/feature_policy.idl
@@ -8,7 +8,7 @@
ImplementedAs=DOMFeaturePolicy
] interface FeaturePolicy {
[MeasureAs=FeaturePolicyJSAPI, CallWith=ScriptState] boolean allowsFeature(DOMString feature, optional DOMString origin);
- [HighEntropy=Direct, MeasureAs=FeaturePolicyJSAPI, CallWith=ScriptState] sequence features();
+ [MeasureAs=FeaturePolicyJSAPI, CallWith=ScriptState] sequence features();
[MeasureAs=FeaturePolicyJSAPI, CallWith=ScriptState] sequence allowedFeatures();
[MeasureAs=FeaturePolicyJSAPI, CallWith=ScriptState] sequence getAllowlistForFeature(DOMString feature);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/sanitizer/sanitizer_api.idl b/tools/under-control/src/third_party/blink/renderer/core/sanitizer/sanitizer_api.idl
index 54747e6b..e97fb4d1 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/sanitizer/sanitizer_api.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/sanitizer/sanitizer_api.idl
@@ -17,11 +17,11 @@ interface Sanitizer {
SanitizerConfig get();
// Modify a Sanitizer’s lists and fields:
- undefined allowElement(SanitizerElementWithAttributes element);
- undefined removeElement(SanitizerElement element);
- undefined replaceElementWithChildren(SanitizerElement element);
- undefined allowAttribute(SanitizerAttribute attribute);
- undefined removeAttribute(SanitizerAttribute attribute);
+ boolean allowElement(SanitizerElementWithAttributes element);
+ boolean removeElement(SanitizerElement element);
+ boolean replaceElementWithChildren(SanitizerElement element);
+ boolean allowAttribute(SanitizerAttribute attribute);
+ boolean removeAttribute(SanitizerAttribute attribute);
undefined setComments(boolean allow);
undefined setDataAttributes(boolean allow);
diff --git a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_geometry_element.idl b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_geometry_element.idl
index 02e51a18..4ec690e5 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_geometry_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_geometry_element.idl
@@ -34,8 +34,8 @@
interface SVGGeometryElement : SVGGraphicsElement {
[SameObject] readonly attribute SVGAnimatedNumber pathLength;
- [HighEntropy, Measure] boolean isPointInFill(optional DOMPointInit point = {});
- [HighEntropy, Measure] boolean isPointInStroke(optional DOMPointInit point = {});
- [HighEntropy, Measure, RaisesException] float getTotalLength();
- [HighEntropy, Measure, RaisesException] SVGPoint getPointAtLength(float distance);
+ [Measure] boolean isPointInFill(optional DOMPointInit point = {});
+ [Measure] boolean isPointInStroke(optional DOMPointInit point = {});
+ [Measure, RaisesException] float getTotalLength();
+ [Measure, RaisesException] SVGPoint getPointAtLength(float distance);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_symbol_element.idl b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_symbol_element.idl
index 939eb94a..4f58b541 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_symbol_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_symbol_element.idl
@@ -26,7 +26,7 @@
// https://svgwg.org/svg2-draft/struct.html#InterfaceSVGSymbolElement
[Exposed=Window]
-interface SVGSymbolElement : SVGElement {
+interface SVGSymbolElement : SVGGraphicsElement {
};
SVGSymbolElement includes SVGFitToViewBox;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_tests.idl b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_tests.idl
index 04f9be92..edd74508 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_tests.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_tests.idl
@@ -27,6 +27,6 @@
// https://svgwg.org/svg2-draft/types.html#InterfaceSVGTests
interface mixin SVGTests {
- [HighEntropy=Direct, MeasureAs=SVG1DOMSVGTests] readonly attribute SVGStringList requiredExtensions;
- [HighEntropy=Direct, MeasureAs=SVG1DOMSVGTests] readonly attribute SVGStringList systemLanguage;
+ [MeasureAs=SVG1DOMSVGTests] readonly attribute SVGStringList requiredExtensions;
+ [MeasureAs=SVG1DOMSVGTests] readonly attribute SVGStringList systemLanguage;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_text_content_element.idl b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_text_content_element.idl
index 535e7543..b7ea8ab3 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_text_content_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_text_content_element.idl
@@ -36,11 +36,11 @@ interface SVGTextContentElement : SVGGraphicsElement {
readonly attribute SVGAnimatedEnumeration lengthAdjust;
long getNumberOfChars();
- [HighEntropy, Measure] float getComputedTextLength();
- [HighEntropy, Measure, RaisesException] float getSubStringLength(unsigned long charnum, unsigned long nchars);
- [HighEntropy, Measure, RaisesException] SVGPoint getStartPositionOfChar(unsigned long charnum);
- [HighEntropy, Measure, RaisesException] SVGPoint getEndPositionOfChar(unsigned long charnum);
- [HighEntropy, Measure, RaisesException] SVGRect getExtentOfChar(unsigned long charnum);
+ [Measure] float getComputedTextLength();
+ [Measure, RaisesException] float getSubStringLength(unsigned long charnum, unsigned long nchars);
+ [Measure, RaisesException] SVGPoint getStartPositionOfChar(unsigned long charnum);
+ [Measure, RaisesException] SVGPoint getEndPositionOfChar(unsigned long charnum);
+ [Measure, RaisesException] SVGRect getExtentOfChar(unsigned long charnum);
[RaisesException] float getRotationOfChar(unsigned long charnum);
long getCharNumAtPosition(optional DOMPointInit point = {});
[RaisesException] void selectSubString(unsigned long charnum, unsigned long nchars);
diff --git a/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl b/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl
index 950ee808..040adb81 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl
@@ -79,6 +79,7 @@ interface Internals {
// Animation testing.
[RaisesException] void pauseAnimations(double pauseTime);
boolean isCompositedAnimation(Animation animation);
+ boolean isMainThreadAnimation(Animation animation);
void disableCompositedAnimation(Animation animation);
// Advances an animated image. For BitmapImage (e.g., animated gifs) this
@@ -200,9 +201,6 @@ interface Internals {
[RaisesException] DOMString layerTreeAsText(Document document, optional unsigned short flags);
- [RaisesException] DOMString dumpContentNodeTree(Document document);
- [RaisesException] DOMString dumpContentNode(Node node);
-
[RaisesException] DOMString mainThreadScrollingReasons(Document document);
void evictAllResources();
diff --git a/tools/under-control/src/third_party/blink/renderer/core/timing/performance_container_timing.idl b/tools/under-control/src/third_party/blink/renderer/core/timing/performance_container_timing.idl
index 4e710ce5..a3a2367d 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/timing/performance_container_timing.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/timing/performance_container_timing.idl
@@ -8,6 +8,7 @@
] interface PerformanceContainerTiming : PerformanceEntry {
readonly attribute DOMRectReadOnly intersectionRect;
readonly attribute double size;
+ readonly attribute Element? rootElement;
readonly attribute DOMString identifier;
readonly attribute Element? lastPaintedElement;
readonly attribute DOMHighResTimeStamp firstRenderTime;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/timing/performance_navigation_timing.idl b/tools/under-control/src/third_party/blink/renderer/core/timing/performance_navigation_timing.idl
index ca862370..8a1ef90e 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/timing/performance_navigation_timing.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/timing/performance_navigation_timing.idl
@@ -11,12 +11,6 @@ enum NavigationTimingType {
"prerender"
};
-enum NavigationEntropy {
- "high",
- "normal",
- ""
-};
-
[
Exposed=Window
] interface PerformanceNavigationTiming : PerformanceResourceTiming {
@@ -31,7 +25,6 @@ enum NavigationEntropy {
readonly attribute NavigationTimingType type;
readonly attribute unsigned short redirectCount;
[RuntimeEnabled=BackForwardCacheNotRestoredReasons, MeasureAs="WebDXFeature::kBfcacheBlockingReasons"] readonly attribute NotRestoredReasons? notRestoredReasons;
- [RuntimeEnabled=PerformanceNavigateSystemEntropy] readonly attribute NavigationEntropy systemEntropy;
[RuntimeEnabled=PerformanceNavigationTimingConfidence] readonly attribute PerformanceTimingConfidence confidence;
[CallWith=ScriptState] readonly attribute DOMHighResTimeStamp criticalCHRestart;
[CallWith=ScriptState, ImplementedAs=toJSONForBinding] object toJSON();
diff --git a/tools/under-control/src/third_party/blink/renderer/core/url/origin.idl b/tools/under-control/src/third_party/blink/renderer/core/url/origin.idl
index fb7d3623..defa7abf 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/url/origin.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/url/origin.idl
@@ -9,14 +9,11 @@
ImplementedAs=DOMOrigin
] interface Origin {
constructor();
- [RaisesException] constructor(USVString serializedOrigin);
- static Origin? parse(USVString serializedOrigin);
- static Origin? fromURL(USVString serializedURL);
- [CallWith=ScriptState, RaisesException] static Origin from(any value);
+ [CallWith=ScriptState, RaisesException, Measure] static Origin from(any value);
readonly attribute boolean opaque;
- boolean isSameOrigin(Origin other);
- boolean isSameSite(Origin other);
+ [Measure] boolean isSameOrigin(Origin other);
+ [Measure] boolean isSameSite(Origin other);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/xml/xpath_result.idl b/tools/under-control/src/third_party/blink/renderer/core/xml/xpath_result.idl
index cfc0998d..660027c1 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/xml/xpath_result.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/xml/xpath_result.idl
@@ -41,7 +41,7 @@
[RaisesException=Getter] readonly attribute boolean booleanValue;
- [RaisesException=Getter] readonly attribute Node singleNodeValue;
+ [RaisesException=Getter] readonly attribute Node? singleNodeValue;
readonly attribute boolean invalidIteratorState;
[RaisesException=Getter] readonly attribute unsigned long snapshotLength;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/xml/xslt_processor.idl b/tools/under-control/src/third_party/blink/renderer/core/xml/xslt_processor.idl
index 4160ecde..5433e845 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/xml/xslt_processor.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/xml/xslt_processor.idl
@@ -30,8 +30,8 @@
// their interface definition remains the closest thing to a spec:
// https://hg.mozilla.org/mozilla-central/file/012853bd80b7/dom/webidl/XSLTProcessor.webidl
-[ Exposed=Window, RuntimeEnabled=XSLT ] interface XSLTProcessor {
- [CallWith=Document, MeasureAs=XSLTProcessor] constructor();
+[ Exposed=Window ] interface XSLTProcessor {
+ [RaisesException, CallWith=Document] constructor();
undefined importStylesheet(Node style);
// TODO(foolip): In Gecko, the transformTo*() methods throw an exception in
diff --git a/tools/under-control/src/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.idl b/tools/under-control/src/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.idl
index a985dbe6..cebc43cd 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/xmlhttprequest/xml_http_request.idl
@@ -61,7 +61,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) XMLHt
[RaisesException] void open(ByteString method, USVString url, boolean async, optional USVString? username = null, optional USVString? password = null);
[RaisesException] void setRequestHeader(ByteString name, ByteString value);
[RaisesException, RuntimeEnabled=PrivateStateTokens, SecureContext, MeasureAs=TrustTokenXhr] void setPrivateToken(PrivateToken privateToken);
- [RaisesException, RuntimeEnabled=AttributionReporting, SecureContext] void setAttributionReporting(AttributionReportingRequestOptions attributionReporting);
+ [RaisesException, RuntimeEnabled=AttributionReporting, SecureContext, MeasureAs=AttributionReportingXhr, DeprecateAs=AttributionReportingAPIAll] void setAttributionReporting(AttributionReportingRequestOptions attributionReporting);
[RaisesException=Setter] attribute unsigned long timeout;
[RaisesException=Setter] attribute boolean withCredentials;
readonly attribute XMLHttpRequestUpload upload;
diff --git a/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl b/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl
index 9f98faca..f35ef696 100755
--- a/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl
+++ b/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl
@@ -15,6 +15,6 @@
// device, which includes the pased-in contentBinding as a defense against
// replay attacks.
// Throws MediaIntegrityError.
- [CallWith=ScriptState, HighEntropy, RaisesException, Measure]
+ [CallWith=ScriptState, RaisesException, Measure]
Promise requestToken(optional DOMString? contentBinding = null);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl b/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl
index 4a407375..c67245c2 100755
--- a/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl
+++ b/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl
@@ -23,7 +23,6 @@ dictionary GetMediaIntegrityTokenProviderParams {
// The promise may reject as a MediaIntegrityError.
[ NewObject,
CallWith=ScriptState,
- HighEntropy,
RaisesException,
RuntimeEnabled=BlinkExtensionWebViewMediaIntegrity,
SecureContext,
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
index ea7ae8e8..cd8239b8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
@@ -16,34 +16,34 @@ typedef (USVString or FencedFrameConfig) UrnOrConfig;
RuntimeEnabled=AdInterestGroupAPI,
SecureContext
] partial interface Navigator {
- [CallWith=ScriptState, Measure, RaisesException]
+ [CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise joinAdInterestGroup(AuctionAdInterestGroup group, optional double durationSeconds);
- [CallWith=ScriptState, Measure, RaisesException]
+ [CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise leaveAdInterestGroup(optional AuctionAdInterestGroupKey group);
- [CallWith=ScriptState, Measure, RaisesException]
+ [CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise clearOriginJoinedAdInterestGroups(USVString owner, optional sequence groupsToKeep);
- [CallWith=ScriptState, Measure, RaisesException]
+ [CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
void updateAdInterestGroups();
- [CallWith=ScriptState, Measure, RaisesException]
+ [CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise createAuctionNonce();
- [RuntimeEnabled=Fledge, CallWith=ScriptState, Measure, RaisesException]
+ [RuntimeEnabled=Fledge, CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise runAdAuction(AuctionAdConfig config);
- [RuntimeEnabled=Fledge, CallWith=ScriptState, Measure, RaisesException]
+ [RuntimeEnabled=Fledge, CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
sequence adAuctionComponents([Clamp] unsigned short numComponents);
- [RuntimeEnabled=AllowURNsInIframes, CallWith=ScriptState, Measure, RaisesException]
+ [RuntimeEnabled=AllowURNsInIframes, CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise deprecatedURNToURL(UrnOrConfig urn_or_config, optional boolean send_reports = false);
- [RuntimeEnabled=AllowURNsInIframes, CallWith=ScriptState, Measure, RaisesException]
+ [RuntimeEnabled=AllowURNsInIframes, CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise deprecatedReplaceInURN(UrnOrConfig urn_or_config, record replacements);
- [RuntimeEnabled=FledgeBiddingAndAuctionServerAPI, CallWith=ScriptState, Measure, RaisesException]
+ [RuntimeEnabled=FledgeBiddingAndAuctionServerAPI, CallWith=ScriptState, Measure, RaisesException, DeprecateAs=Fledge]
Promise getInterestGroupAdAuctionData(AdAuctionDataConfig config);
[RuntimeEnabled=Parakeet, CallWith=ScriptState, Measure, RaisesException]
@@ -53,11 +53,11 @@ typedef (USVString or FencedFrameConfig) UrnOrConfig;
[RuntimeEnabled=Parakeet, CallWith=ScriptState, PromiseIDLTypeMismatch, Measure, RaisesException]
Promise finalizeAd(Ads ads, AuctionAdConfig config);
- [RuntimeEnabled=FencedFrames, CallWith=ScriptState]
+ [RuntimeEnabled=FencedFrames, CallWith=ScriptState, DeprecateAs=Fledge]
boolean canLoadAdAuctionFencedFrame();
- [RuntimeEnabled=EnforceAnonymityExposure, CallWith=ScriptState]
+ [RuntimeEnabled=EnforceAnonymityExposure, CallWith=ScriptState, DeprecateAs=Fledge]
readonly attribute boolean deprecatedRunAdAuctionEnforcesKAnonymity;
- [SameObject, CallWith=ScriptState] readonly attribute ProtectedAudience protectedAudience;
+ [SameObject, CallWith=ScriptState, DeprecateAs=Fledge] readonly attribute ProtectedAudience protectedAudience;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ai/create_monitor.idl b/tools/under-control/src/third_party/blink/renderer/modules/ai/create_monitor.idl
index 5f549f1d..5fc5f85d 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ai/create_monitor.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ai/create_monitor.idl
@@ -8,8 +8,7 @@
[
Exposed=(Window,Worker),
- SecureContext,
- RuntimeEnabled=BuiltInAIAPI
+ SecureContext
]
interface CreateMonitor : EventTarget {
attribute EventHandler ondownloadprogress;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model.idl b/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model.idl
index adda8048..73154e20 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model.idl
@@ -51,7 +51,10 @@ interface LanguageModel : EventTarget {
CallWith=ScriptState,
RaisesException
]
- Promise prompt(
+ // When this object was created with LanguageModelToolDeclaration and
+ // expectedOutputs includes {type:"tool-call"}, this now yields a
+ // LanguageModelMessageContent sequence.
+ Promise prompt(
LanguageModelPrompt input,
optional LanguageModelPromptOptions options = {}
);
@@ -60,6 +63,9 @@ interface LanguageModel : EventTarget {
CallWith=ScriptState,
RaisesException
]
+ // When this object was created with LanguageModelToolDeclaration and
+ // expectedOutputs includes {type:"tool-call"}, this now yields a
+ // LanguageModelMessageContent dictionary sequence in chunks.
ReadableStream promptStreaming(
LanguageModelPrompt input,
optional LanguageModelPromptOptions options = {}
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model_create_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model_create_options.idl
index 490fd509..a75e1c02 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model_create_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ai/language_model_create_options.idl
@@ -11,6 +11,9 @@ typedef (
or DOMString
) LanguageModelPrompt;
+// The return type from prompt() or promptStreaming() method.
+typedef (DOMString or sequence) LanguageModelPromptResult;
+
dictionary LanguageModelMessage {
required LanguageModelMessageRole role;
@@ -27,11 +30,11 @@ dictionary LanguageModelMessageContent {
};
// LINT.IfChange
-enum LanguageModelMessageRole { "system", "user", "assistant" };
+enum LanguageModelMessageRole { "system", "user", "assistant", "tool-call", "tool-response" };
// LINT.ThenChange(//third_party/blink/renderer/modules/ai/ai_metrics.h:LanguageModelInputRole)
// LINT.IfChange
-enum LanguageModelMessageType { "text", "image", "audio" };
+enum LanguageModelMessageType { "text", "image", "audio", "tool-call", "tool-response" };
// LINT.ThenChange(//third_party/blink/renderer/modules/ai/ai_metrics.h:LanguageModelInputType)
typedef (
@@ -40,8 +43,62 @@ typedef (
or HTMLAudioElement
or BufferSource
or DOMString
+ or LanguageModelToolCall
+ or LanguageModelToolResponse
) LanguageModelMessageValue;
+// Type enum for tool execution results. Used in LanguageModelToolSuccess.result
+// sequence to indicate the content type of each result item.
+// - "text": value should be a string
+// - "image": value should be ImageBitmapSource or ArrayBuffer/ArrayBufferView
+// - "audio": value should be AudioBuffer, HTMLAudioElement, or BufferSource
+// - "object": value should be JSON-serializable (primitives, objects, arrays)
+enum LanguageModelToolResultType { "text", "image", "audio", "object" };
+
+// Individual result item returned from tool execution. Used in the
+// LanguageModelToolSuccess.result sequence to represent text, images, audio,
+// or structured JSON data returned by the tool. The type field indicates
+// the expected content type, and validation is performed at runtime.
+dictionary LanguageModelToolResultContent {
+ required LanguageModelToolResultType type;
+ required any value;
+};
+
+// Represents a tool call requested by the language model.
+dictionary LanguageModelToolCall {
+ // Unique identifier for this tool call within the session.
+ required DOMString callID;
+ // The tool name to be invoked.
+ required DOMString name;
+ // Object fitting the JSON input schema of the tool's declaration.
+ object arguments;
+};
+
+// Successful tool execution result.
+dictionary LanguageModelToolSuccess {
+ required DOMString callID;
+ required DOMString name;
+ required sequence result;
+};
+
+// Failed tool execution result.
+dictionary LanguageModelToolError {
+ required DOMString callID;
+ required DOMString name;
+ required DOMString errorMessage;
+};
+
+// The response from executing a tool call - either success or error.
+typedef (LanguageModelToolSuccess or LanguageModelToolError) LanguageModelToolResponse;
+
+// The declaration for a tool that a language model can invoke.
+dictionary LanguageModelToolDeclaration {
+ required DOMString name;
+ required DOMString description;
+ // JSON schema for the input parameters.
+ required object inputSchema;
+};
+
dictionary LanguageModelCreateCoreOptions {
// Note: these two have custom out-of-range handling behavior, not in the IDL layer.
// They are unrestricted double so as to allow +Infinity without failing.
@@ -51,6 +108,9 @@ dictionary LanguageModelCreateCoreOptions {
// The expected types and languages for the session.
sequence expectedInputs;
sequence expectedOutputs;
+
+ // Tools that the language model can use.
+ sequence tools;
};
dictionary LanguageModelCreateOptions : LanguageModelCreateCoreOptions {
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.idl
index 8500ee86..0234655e 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.idl
@@ -7,7 +7,7 @@
Exposed=Window
] interface BeforeInstallPromptEvent : Event {
[CallWith=ExecutionContext] constructor(DOMString type, optional BeforeInstallPromptEventInit eventInitDict = {});
- [HighEntropy=Direct, Measure] readonly attribute FrozenArray platforms;
+ [Measure] readonly attribute FrozenArray platforms;
[CallWith=ScriptState, RaisesException] readonly attribute Promise userChoice;
[CallWith=ScriptState, RaisesException] Promise prompt();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.idl b/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.idl
index 66998905..3ad7372d 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.idl
@@ -14,7 +14,7 @@
readonly attribute unsigned long long downloadTotal;
readonly attribute unsigned long long downloaded;
readonly attribute BackgroundFetchResult result;
- [HighEntropy, Measure] readonly attribute BackgroundFetchFailureReason failureReason;
+ [Measure] readonly attribute BackgroundFetchFailureReason failureReason;
readonly attribute boolean recordsAvailable;
attribute EventHandler onprogress;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/battery/battery_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/battery/battery_manager.idl
index 8b19e085..16b58816 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/battery/battery_manager.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/battery/battery_manager.idl
@@ -8,10 +8,10 @@
SecureContext,
Exposed=Window
] interface BatteryManager : EventTarget {
- [HighEntropy=Direct, Measure] readonly attribute boolean charging;
- [HighEntropy, Measure] readonly attribute unrestricted double chargingTime;
- [HighEntropy, Measure] readonly attribute unrestricted double dischargingTime;
- [HighEntropy, Measure] readonly attribute double level;
+ [Measure] readonly attribute boolean charging;
+ [Measure] readonly attribute unrestricted double chargingTime;
+ [Measure] readonly attribute unrestricted double dischargingTime;
+ [Measure] readonly attribute double level;
attribute EventHandler onchargingchange;
attribute EventHandler onchargingtimechange;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_advertising_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_advertising_event.idl
index 2621925a..67148736 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_advertising_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_advertising_event.idl
@@ -12,9 +12,9 @@
readonly attribute BluetoothDevice device;
readonly attribute FrozenArray uuids;
- [HighEntropy=Direct, MeasureAs=BluetoothAdvertisingEventName] readonly attribute DOMString? name;
- [HighEntropy=Direct, MeasureAs=BluetoothAdvertisingEventAppearance] readonly attribute unsigned short? appearance;
- [HighEntropy=Direct, MeasureAs=BluetoothAdvertisingEventTxPower] readonly attribute byte? txPower;
+ [MeasureAs=BluetoothAdvertisingEventName] readonly attribute DOMString? name;
+ [MeasureAs=BluetoothAdvertisingEventAppearance] readonly attribute unsigned short? appearance;
+ [MeasureAs=BluetoothAdvertisingEventTxPower] readonly attribute byte? txPower;
readonly attribute byte? rssi;
readonly attribute BluetoothManufacturerDataMap manufacturerData;
readonly attribute BluetoothServiceDataMap serviceData;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
index ec5372f3..f601af8e 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
@@ -25,7 +25,7 @@
] Promise forget();
readonly attribute DOMString id;
- [HighEntropy=Direct, MeasureAs=BluetoothDeviceName] readonly attribute DOMString? name;
+ [MeasureAs=BluetoothDeviceName] readonly attribute DOMString? name;
readonly attribute BluetoothRemoteGATTServer gatt;
[RuntimeEnabled=WebBluetoothWatchAdvertisements] readonly attribute boolean watchingAdvertisements;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/browsing_topics/browsing_topics_document_supplement.idl b/tools/under-control/src/third_party/blink/renderer/modules/browsing_topics/browsing_topics_document_supplement.idl
index b215a864..66807afa 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/browsing_topics/browsing_topics_document_supplement.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/browsing_topics/browsing_topics_document_supplement.idl
@@ -13,7 +13,8 @@
CallWith=ScriptState,
RaisesException,
SecureContext,
- MeasureAs=TopicsAPI_BrowsingTopics_Method
+ MeasureAs=TopicsAPI_BrowsingTopics_Method,
+ DeprecateAs=TopicsAPIAll
]
Promise> browsingTopics(optional BrowsingTopicsOptions options);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.idl
index 3e7bc3df..33e2e42a 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.idl
@@ -13,26 +13,26 @@ interface mixin BaseRenderingContext2D {
boolean isContextLost();
// text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces)
- [HighEntropy, MeasureAs=Canvas2DDrawText] void fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
- [HighEntropy, MeasureAs=Canvas2DDrawText] void strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
- [HighEntropy, MeasureAs=Canvas2DMeasureText] TextMetrics measureText(DOMString text);
- [RuntimeEnabled=ExtendedTextMetrics] void fillTextCluster(TextCluster textCluster, double x, double y);
- [RuntimeEnabled=ExtendedTextMetrics] void fillTextCluster(TextCluster textCluster, double x, double y, TextClusterOptions options);
- [RuntimeEnabled=ExtendedTextMetrics] void strokeTextCluster(TextCluster textCluster, double x, double y);
- [RuntimeEnabled=ExtendedTextMetrics] void strokeTextCluster(TextCluster textCluster, double x, double y, TextClusterOptions options);
+ [MeasureAs=Canvas2DDrawText] void fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+ [MeasureAs=Canvas2DDrawText] void strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth);
+ [MeasureAs=Canvas2DMeasureText] TextMetrics measureText(DOMString text);
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] void fillTextCluster(TextCluster textCluster, double x, double y);
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] void fillTextCluster(TextCluster textCluster, double x, double y, TextClusterOptions options);
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] void strokeTextCluster(TextCluster textCluster, double x, double y);
+ [RuntimeEnabled=ExtendedTextMetrics, MeasureAs=ExtendedTextMetrics] void strokeTextCluster(TextCluster textCluster, double x, double y, TextClusterOptions options);
// pixel manipulation
[RaisesException] ImageData createImageData(ImageData imagedata);
[RaisesException] ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh);
[RaisesException] ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh, ImageDataSettings imageDataSettings);
- [HighEntropy, MeasureAs=Canvas2DGetImageData, RaisesException] ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh);
- [HighEntropy, MeasureAs=Canvas2DGetImageData, RaisesException] ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, ImageDataSettings imageDataSettings);
+ [MeasureAs=Canvas2DGetImageData, RaisesException] ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh);
+ [MeasureAs=Canvas2DGetImageData, RaisesException] ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, ImageDataSettings imageDataSettings);
[NoAllocDirectCall, RaisesException] void putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy);
[NoAllocDirectCall, RaisesException] void putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight);
// text
attribute DOMString lang; // (default: "inherit")
- [HighEntropy] attribute DOMString font; // (default 10px sans-serif)
+ attribute DOMString font; // (default 10px sans-serif)
attribute CanvasTextAlign textAlign; // "start", "end", "left", "right", "center" (default: "start")
attribute CanvasTextBaseline textBaseline; // "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" (default: "alphabetic")
attribute CanvasDirection direction; // "inherit", "rtl", "ltr" (default: "inherit")
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_2d_recorder_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_2d_recorder_context.idl
index 640cc24b..599abe37 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_2d_recorder_context.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_2d_recorder_context.idl
@@ -20,18 +20,18 @@ interface mixin Canvas2DRecorderContext {
void reset();
// transformations (default transform is the identity matrix)
- [HighEntropy, NoAllocDirectCall] void scale(unrestricted double x, unrestricted double y);
- [HighEntropy, NoAllocDirectCall] void rotate(unrestricted double angle);
- [HighEntropy, NoAllocDirectCall] void translate(unrestricted double x, unrestricted double y);
- [HighEntropy, NoAllocDirectCall] void transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
+ [NoAllocDirectCall] void scale(unrestricted double x, unrestricted double y);
+ [NoAllocDirectCall] void rotate(unrestricted double angle);
+ [NoAllocDirectCall] void translate(unrestricted double x, unrestricted double y);
+ [NoAllocDirectCall] void transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
DOMMatrix getTransform();
- [HighEntropy, NoAllocDirectCall] void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
+ [NoAllocDirectCall] void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f);
[RaisesException] void setTransform(optional DOMMatrixInit transform = {});
[NoAllocDirectCall] void resetTransform();
// compositing
[NoAllocDirectCall=Setter] attribute unrestricted double globalAlpha; // (default 1.0)
- [HighEntropy] attribute DOMString globalCompositeOperation; // (default source-over)
+ attribute DOMString globalCompositeOperation; // (default source-over)
[MeasureAs=Canvas2DFilter, SetterCallWith=ScriptState] attribute (DOMString or CanvasFilter)? filter; // (default 'none')
[RuntimeEnabled=CanvasGlobalHDRHeadroom] attribute unrestricted double globalHDRHeadroom; // (default 0.0)
@@ -40,37 +40,37 @@ interface mixin Canvas2DRecorderContext {
[MeasureAs=Canvas2DImageSmoothingQuality2] attribute ImageSmoothingQuality imageSmoothingQuality; // (default "low")
// colors and styles (see also the CanvasDrawingStyles interface)
- [HighEntropy, SetterCallWith=Isolate, RaisesException=Setter, GetterCallWith=ScriptState] attribute any strokeStyle; // (default black)
- [HighEntropy, SetterCallWith=Isolate, RaisesException=Setter, GetterCallWith=ScriptState] attribute any fillStyle; // (default black)
+ [SetterCallWith=Isolate, RaisesException=Setter, GetterCallWith=ScriptState] attribute any strokeStyle; // (default black)
+ [SetterCallWith=Isolate, RaisesException=Setter, GetterCallWith=ScriptState] attribute any fillStyle; // (default black)
CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1);
[RaisesException] CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1);
[RaisesException] CanvasPattern? createPattern(CanvasImageSource image, [LegacyNullToEmptyString] DOMString repetitionType);
CanvasGradient createConicGradient(double startAngle, double cx, double cy);
// shadows
- [HighEntropy, NoAllocDirectCall=Setter] attribute unrestricted double shadowOffsetX;
- [HighEntropy, NoAllocDirectCall=Setter] attribute unrestricted double shadowOffsetY;
- [HighEntropy, NoAllocDirectCall=Setter] attribute unrestricted double shadowBlur;
- [HighEntropy] attribute DOMString shadowColor;
+ [NoAllocDirectCall=Setter] attribute unrestricted double shadowOffsetX;
+ [NoAllocDirectCall=Setter] attribute unrestricted double shadowOffsetY;
+ [NoAllocDirectCall=Setter] attribute unrestricted double shadowBlur;
+ attribute DOMString shadowColor;
// rects
- [HighEntropy, NoAllocDirectCall] void clearRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
- [HighEntropy, NoAllocDirectCall] void fillRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
- [HighEntropy, NoAllocDirectCall] void strokeRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
+ [NoAllocDirectCall] void clearRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
+ [NoAllocDirectCall] void fillRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
+ [NoAllocDirectCall] void strokeRect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
// path API (see also CanvasPath)
- [HighEntropy, NoAllocDirectCall] void beginPath();
- [HighEntropy] void fill(optional CanvasFillRule winding);
- [HighEntropy] void fill(Path2D path, optional CanvasFillRule winding);
- [HighEntropy, NoAllocDirectCall] void stroke();
- [HighEntropy] void stroke(Path2D path);
+ [NoAllocDirectCall] void beginPath();
+ void fill(optional CanvasFillRule winding);
+ void fill(Path2D path, optional CanvasFillRule winding);
+ [NoAllocDirectCall] void stroke();
+ void stroke(Path2D path);
- [HighEntropy] void clip(optional CanvasFillRule winding);
- [HighEntropy] void clip(Path2D path, optional CanvasFillRule winding);
- [HighEntropy, MeasureAs=Canvas2DIsPointInPath] boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule winding);
- [HighEntropy, MeasureAs=Canvas2DIsPointInPath] boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule winding);
- [HighEntropy, MeasureAs=Canvas2DIsPointInStroke] boolean isPointInStroke(unrestricted double x, unrestricted double y);
- [HighEntropy, MeasureAs=Canvas2DIsPointInStroke] boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
+ void clip(optional CanvasFillRule winding);
+ void clip(Path2D path, optional CanvasFillRule winding);
+ [MeasureAs=Canvas2DIsPointInPath] boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule winding);
+ [MeasureAs=Canvas2DIsPointInPath] boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule winding);
+ [MeasureAs=Canvas2DIsPointInStroke] boolean isPointInStroke(unrestricted double x, unrestricted double y);
+ [MeasureAs=Canvas2DIsPointInStroke] boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
// drawing images
[RaisesException] void drawImage(CanvasImageSource image, unrestricted double x, unrestricted double y);
@@ -81,7 +81,7 @@ interface mixin Canvas2DRecorderContext {
[MeasureAs=Canvas2DMesh, RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DVertexBuffer createMesh2DVertexBuffer(Float32Array buffer);
[MeasureAs=Canvas2DMesh, RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DUVBuffer createMesh2DUVBuffer(Float32Array buffer);
[MeasureAs=Canvas2DMesh, RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DIndexBuffer createMesh2DIndexBuffer(Uint16Array buffer);
- [MeasureAs=Canvas2DMesh, RuntimeEnabled=Canvas2dMesh, HighEntropy, RaisesException] void drawMesh(Mesh2DVertexBuffer vertex_buffer,
+ [MeasureAs=Canvas2DMesh, RuntimeEnabled=Canvas2dMesh, RaisesException] void drawMesh(Mesh2DVertexBuffer vertex_buffer,
Mesh2DUVBuffer uv_buffer,
Mesh2DIndexBuffer index_buffer,
CanvasImageSource image);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_path.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_path.idl
index dc178c42..d56e9ca0 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_path.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_path.idl
@@ -6,16 +6,16 @@
interface mixin CanvasPath {
// shared path API methods
- [HighEntropy, NoAllocDirectCall] void closePath();
- [HighEntropy, NoAllocDirectCall] void moveTo(unrestricted double x, unrestricted double y);
- [HighEntropy, NoAllocDirectCall] void lineTo(unrestricted double x, unrestricted double y);
+ [NoAllocDirectCall] void closePath();
+ [NoAllocDirectCall] void moveTo(unrestricted double x, unrestricted double y);
+ [NoAllocDirectCall] void lineTo(unrestricted double x, unrestricted double y);
[NoAllocDirectCall] void quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y);
[NoAllocDirectCall] void bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y);
[NoAllocDirectCall, RaisesException] void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius);
- [HighEntropy, NoAllocDirectCall] void rect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
- [HighEntropy, RaisesException] void roundRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h, sequence<(unrestricted double or DOMPointInit)> radii);
- [HighEntropy, RaisesException] void roundRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h, optional (unrestricted double or DOMPointInit) radii = 0);
+ [NoAllocDirectCall] void rect(unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height);
+ [RaisesException] void roundRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h, sequence<(unrestricted double or DOMPointInit)> radii);
+ [RaisesException] void roundRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h, optional (unrestricted double or DOMPointInit) radii = 0);
- [HighEntropy, NoAllocDirectCall, RaisesException] void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
- [HighEntropy, NoAllocDirectCall, RaisesException] void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
+ [NoAllocDirectCall, RaisesException] void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
+ [NoAllocDirectCall, RaisesException] void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl
index 9e87dbd8..91d4ccac 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl
@@ -55,25 +55,28 @@ interface CanvasRenderingContext2D {
void drawFocusIfNeeded(Path2D path, Element element);
[RuntimeEnabled=CanvasDrawElement, RaisesException]
- void drawElement(Element element,
- unrestricted double x, unrestricted double y);
+ DOMMatrix drawElement(Element element,
+ unrestricted double x,
+ unrestricted double y);
[RuntimeEnabled=CanvasDrawElement, RaisesException]
- void drawElement(Element element,
- unrestricted double x, unrestricted double y,
- unrestricted double dwidth, unrestricted double dheight);
+ DOMMatrix drawElement(Element element,
+ unrestricted double x,
+ unrestricted double y,
+ unrestricted double dwidth,
+ unrestricted double dheight);
[RuntimeEnabled=CanvasDrawElement, RaisesException]
- void drawElementImage(Element element,
- unrestricted double x, unrestricted double y);
+ DOMMatrix drawElementImage(Element element,
+ unrestricted double x,
+ unrestricted double y);
[RuntimeEnabled=CanvasDrawElement, RaisesException]
- void drawElementImage(Element element,
- unrestricted double x, unrestricted double y,
- unrestricted double dwidth, unrestricted double dheight);
-
- [RuntimeEnabled=CanvasDrawElement, RaisesException]
- void setHitTestRegions(sequence hitTestRegions);
+ DOMMatrix drawElementImage(Element element,
+ unrestricted double x,
+ unrestricted double y,
+ unrestricted double dwidth,
+ unrestricted double dheight);
[MeasureAs=GetCanvas2DContextAttributes] CanvasRenderingContext2DSettings getContextAttributes();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.idl
index 1df9c745..05b71b33 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/htmlcanvas/html_canvas_element_module.idl
@@ -16,7 +16,7 @@ typedef (CanvasRenderingContext2D or
ImplementedAs=HTMLCanvasElementModule
] partial interface HTMLCanvasElement
{
- [CallWith=ScriptState, HighEntropy, MeasureAs=HTMLCanvasGetContext, RaisesException] RenderingContext? getContext(DOMString contextId, optional CanvasContextCreationAttributesModule attributes = {});
+ [CallWith=ScriptState, MeasureAs=HTMLCanvasGetContext, RaisesException] RenderingContext? getContext(DOMString contextId, optional CanvasContextCreationAttributesModule attributes = {});
[CallWith=ScriptState,
RaisesException, MeasureAs=OffscreenCanvas] OffscreenCanvas transferControlToOffscreen();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/content_extraction/testing/internals_content_extraction.idl b/tools/under-control/src/third_party/blink/renderer/modules/content_extraction/testing/internals_content_extraction.idl
new file mode 100755
index 00000000..6438f31a
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/modules/content_extraction/testing/internals_content_extraction.idl
@@ -0,0 +1,10 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[
+ ImplementedAs=InternalsContentExtraction
+] partial interface Internals {
+ [RaisesException] DOMString dumpContentNodeTree(Document document);
+ [RaisesException] DOMString dumpContentNode(Node node);
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_deprecation_label/cookie_deprecation_label.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_deprecation_label/cookie_deprecation_label.idl
deleted file mode 100755
index 5601f101..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_deprecation_label/cookie_deprecation_label.idl
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-[
- Exposed=Window,
- SecureContext,
- RuntimeEnabled=CookieDeprecationFacilitatedTesting
-] interface CookieDeprecationLabel {
- [CallWith=ScriptState] Promise getValue();
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_deprecation_label/navigator_cookie_deprecation_label.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_deprecation_label/navigator_cookie_deprecation_label.idl
deleted file mode 100755
index 175e7ecf..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_deprecation_label/navigator_cookie_deprecation_label.idl
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-[
- Exposed=Window,
- ImplementedAs=CookieDeprecationLabel
-] partial interface Navigator {
- [SecureContext, SameObject, RuntimeEnabled=CookieDeprecationFacilitatedTesting] readonly attribute CookieDeprecationLabel cookieDeprecationLabel;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
index 1fbee532..59725a39 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
@@ -18,4 +18,5 @@ dictionary CookieInit {
DOMHighResTimeStamp? expires = null;
CookieSameSite sameSite = "strict";
boolean partitioned = false;
+ [RuntimeEnabled=CookieStoreAPIMaxAge] long long? maxAge;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/authenticator_attestation_response.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/authenticator_attestation_response.idl
index 4afdaec2..10c29cac 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/authenticator_attestation_response.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/authenticator_attestation_response.idl
@@ -10,7 +10,7 @@
Exposed=Window
] interface AuthenticatorAttestationResponse : AuthenticatorResponse {
[SameObject] readonly attribute ArrayBuffer attestationObject;
- [HighEntropy=Direct, Measure] sequence getTransports();
+ [Measure] sequence getTransports();
ArrayBuffer getAuthenticatorData();
[Measure] ArrayBuffer? getPublicKey();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl
index fa46b59b..d36d4344 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl
@@ -12,12 +12,18 @@ enum CredentialMediationRequirement {
"immediate"
};
+enum CredentialUiModeRequirement {
+ "active",
+ "immediate"
+};
+
dictionary CredentialRequestOptions {
FederatedCredentialRequestOptions federated;
IdentityCredentialRequestOptions identity;
boolean password = false;
CredentialMediationRequirement mediation = "optional";
+ [RuntimeEnabled=WebAuthenticationUiMode] CredentialUiModeRequirement uiMode = "active";
[RuntimeEnabled=WebOTP] OTPCredentialRequestOptions otp;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/crypto/worker_global_scope_crypto.idl b/tools/under-control/src/third_party/blink/renderer/modules/crypto/window_or_worker_global_scope_crypto.idl
similarity index 92%
rename from tools/under-control/src/third_party/blink/renderer/modules/crypto/worker_global_scope_crypto.idl
rename to tools/under-control/src/third_party/blink/renderer/modules/crypto/window_or_worker_global_scope_crypto.idl
index c180ef35..6e11c239 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/crypto/worker_global_scope_crypto.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/crypto/window_or_worker_global_scope_crypto.idl
@@ -31,7 +31,7 @@
// https://w3c.github.io/webcrypto/Overview.html#crypto-interface
[
- ImplementedAs=WorkerGlobalScopeCrypto
-] partial interface WorkerGlobalScope {
- readonly attribute Crypto crypto;
+ ImplementedAs=GlobalCrypto
+] partial interface mixin WindowOrWorkerGlobalScope {
+ [SameObject] readonly attribute Crypto crypto;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.idl b/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.idl
index 4b0bf3cc..19cfbb72 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_worklet_global_scope.idl
@@ -8,7 +8,7 @@
Exposed=PaintWorklet,
Global=(Worklet,PaintWorklet)
] interface PaintWorkletGlobalScope : WorkletGlobalScope {
- [HighEntropy=Direct, Measure] readonly attribute unrestricted double devicePixelRatio;
+ [Measure] readonly attribute unrestricted double devicePixelRatio;
[Measure, RaisesException, CallWith=ScriptState] void registerPaint(DOMString name, NoArgumentConstructor paintCtor);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/donottrack/navigator_do_not_track.idl b/tools/under-control/src/third_party/blink/renderer/modules/donottrack/navigator_do_not_track.idl
index cedba8e0..3397e75b 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/donottrack/navigator_do_not_track.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/donottrack/navigator_do_not_track.idl
@@ -31,5 +31,5 @@
[
ImplementedAs=NavigatorDoNotTrack
] partial interface Navigator {
- [HighEntropy=Direct, MeasureAs=NavigatorDoNotTrack] readonly attribute DOMString? doNotTrack;
+ [MeasureAs=NavigatorDoNotTrack] readonly attribute DOMString? doNotTrack;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad.idl b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad.idl
index b4fba42b..63d801d4 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad.idl
@@ -36,7 +36,7 @@ enum GamepadMappingType {
[
Exposed=Window
] interface Gamepad {
- [HighEntropy=Direct, MeasureAs=GamepadId] readonly attribute DOMString id;
+ [MeasureAs=GamepadId] readonly attribute DOMString id;
readonly attribute long index;
readonly attribute boolean connected;
readonly attribute DOMHighResTimeStamp timestamp;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_raw_input_change_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_raw_input_change_event.idl
new file mode 100755
index 00000000..dad34661
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_raw_input_change_event.idl
@@ -0,0 +1,15 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[
+ Exposed=Window,
+ RuntimeEnabled=GamepadRawInputChangeEvent
+] interface GamepadRawInputChangeEvent : GamepadEvent {
+ constructor(DOMString type, optional GamepadRawInputChangeEventInit eventInitDict = {});
+ readonly attribute FrozenArray axesChanged;
+ readonly attribute FrozenArray buttonsValueChanged;
+ readonly attribute FrozenArray buttonsPressed;
+ readonly attribute FrozenArray buttonsReleased;
+ readonly attribute FrozenArray touchesChanged;
+};
\ No newline at end of file
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_raw_input_change_event_init.idl b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_raw_input_change_event_init.idl
new file mode 100755
index 00000000..9e572069
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_raw_input_change_event_init.idl
@@ -0,0 +1,11 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+dictionary GamepadRawInputChangeEventInit : GamepadEventInit {
+ FrozenArray axesChanged;
+ FrozenArray buttonsValueChanged;
+ FrozenArray buttonsPressed;
+ FrozenArray buttonsReleased;
+ FrozenArray touchesChanged;
+};
\ No newline at end of file
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/window_gamepad.idl b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/window_gamepad.idl
index 3b8190d8..a0be30a8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/window_gamepad.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/window_gamepad.idl
@@ -3,9 +3,9 @@
// found in the LICENSE file.
[
- RuntimeEnabled=GamepadWindowEventHandlers,
ImplementedAs=DOMWindowGamepad
] partial interface mixin WindowEventHandlers {
- attribute EventHandler ongamepadconnected;
- attribute EventHandler ongamepaddisconnected;
+ [RuntimeEnabled=GamepadWindowEventHandlers] attribute EventHandler ongamepadconnected;
+ [RuntimeEnabled=GamepadWindowEventHandlers] attribute EventHandler ongamepaddisconnected;
+ [RuntimeEnabled=GamepadRawInputChangeEvent] attribute EventHandler ongamepadrawinputchanged;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl b/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl
index a85232ef..8084ba84 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl
@@ -19,7 +19,6 @@
// Keyboard Map specification: https://wicg.github.io/keyboard-map/
[CallWith=ScriptState,
RaisesException,
- HighEntropy,
MeasureAs=KeyboardApiGetLayoutMap
] Promise getLayoutMap();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/media_capabilities/media_capabilities.idl b/tools/under-control/src/third_party/blink/renderer/modules/media_capabilities/media_capabilities.idl
index 88f5bf79..f0decc43 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/media_capabilities/media_capabilities.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/media_capabilities/media_capabilities.idl
@@ -6,8 +6,8 @@
[Exposed=(Window,Worker)]
interface MediaCapabilities {
- [CallWith=ScriptState, RaisesException, HighEntropy, Measure] Promise decodingInfo(
+ [CallWith=ScriptState, RaisesException, Measure] Promise decodingInfo(
MediaDecodingConfiguration configuration);
- [CallWith=ScriptState, RaisesException, HighEntropy, Measure] Promise encodingInfo(
+ [CallWith=ScriptState, RaisesException, Measure] Promise encodingInfo(
MediaEncodingConfiguration configuration);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediacapturefromelement/html_canvas_element_capture.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediacapturefromelement/html_canvas_element_capture.idl
index cbf3fbed..e0f7c96b 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/mediacapturefromelement/html_canvas_element_capture.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/mediacapturefromelement/html_canvas_element_capture.idl
@@ -6,5 +6,5 @@
[
ImplementedAs=HTMLCanvasElementCapture
] partial interface HTMLCanvasElement {
- [HighEntropy, MeasureAs=CanvasCaptureStream, RaisesException, CallWith=ScriptState] MediaStream captureStream (optional double frameRate);
+ [MeasureAs=CanvasCaptureStream, RaisesException, CallWith=ScriptState] MediaStream captureStream (optional double frameRate);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediarecorder/media_recorder.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediarecorder/media_recorder.idl
index 4a1d7aa1..8cd95411 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/mediarecorder/media_recorder.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/mediarecorder/media_recorder.idl
@@ -12,7 +12,7 @@ enum RecordingState { "inactive", "recording", "paused" };
] interface MediaRecorder : EventTarget {
[CallWith=ExecutionContext, RaisesException] constructor(MediaStream stream, optional MediaRecorderOptions options = {});
readonly attribute MediaStream stream;
- [HighEntropy=Direct, MeasureAs=MediaRecorder_MimeType] readonly attribute DOMString mimeType;
+ [MeasureAs=MediaRecorder_MimeType] readonly attribute DOMString mimeType;
readonly attribute RecordingState state;
attribute EventHandler onstart;
@@ -21,8 +21,8 @@ enum RecordingState { "inactive", "recording", "paused" };
attribute EventHandler onpause;
attribute EventHandler onresume;
attribute EventHandler onerror;
- [HighEntropy=Direct, MeasureAs=MediaRecorder_VideoBitsPerSecond] readonly attribute unsigned long videoBitsPerSecond;
- [HighEntropy=Direct, MeasureAs=MediaRecorder_AudioBitsPerSecond] readonly attribute unsigned long audioBitsPerSecond;
+ [MeasureAs=MediaRecorder_VideoBitsPerSecond] readonly attribute unsigned long videoBitsPerSecond;
+ [MeasureAs=MediaRecorder_AudioBitsPerSecond] readonly attribute unsigned long audioBitsPerSecond;
readonly attribute BitrateMode audioBitrateMode;
[RaisesException, Measure] void start(optional long timeslice);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_devices.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_devices.idl
index 319e0aa6..72474e30 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_devices.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_devices.idl
@@ -13,12 +13,12 @@
] interface MediaDevices : EventTarget {
attribute EventHandler ondevicechange;
[
- CallWith = ScriptState, RaisesException, HighEntropy, MeasureAs = MediaDevicesEnumerateDevices
+ CallWith = ScriptState, RaisesException, MeasureAs = MediaDevicesEnumerateDevices
] Promise>
enumerateDevices();
MediaTrackSupportedConstraints getSupportedConstraints();
[
- CallWith = ScriptState, RaisesException, HighEntropy, MeasureAs = GetUserMediaPromise
+ CallWith = ScriptState, RaisesException, MeasureAs = GetUserMediaPromise
] Promise
getUserMedia(optional UserMediaStreamConstraints constraints = {});
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/navigator_media_stream.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/navigator_media_stream.idl
index 5f6f084d..79c37f1a 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/navigator_media_stream.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/navigator_media_stream.idl
@@ -21,8 +21,7 @@
[
ImplementedAs=NavigatorMediaStream
] partial interface Navigator {
- [HighEntropy,
- RaisesException,
+ [RaisesException,
SecureContext,
MeasureAs=GetUserMediaLegacy
] void getUserMedia(MediaStreamConstraints constraints,
@@ -30,8 +29,7 @@
NavigatorUserMediaErrorCallback errorCallback);
// Non-standard
- [HighEntropy,
- RaisesException,
+ [RaisesException,
SecureContext,
ImplementedAs=getUserMedia,
MeasureAs=GetUserMediaPrefixed
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl
index cf9ff065..c7cb8f40 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl
@@ -14,9 +14,4 @@
Measure
] Promise createContext(optional MLContextOptions options = {});
- [
- CallWith=ScriptState,
- RaisesException,
- MeasureAs=MLCreateContextGPUDevice
- ] Promise createContext(GPUDevice gpuDevice);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl
index 2eb13eb7..fa7d1210 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl
@@ -311,6 +311,12 @@ typedef record MLNamedTensors;
MLOperandDescriptor descriptor,
AllowSharedBufferSource sourceData);
+ [
+ RuntimeEnabled=MachineLearningNeuralNetwork,
+ CallWith=ScriptState,
+ RaisesException
+ ] Promise createExportableTensor(MLTensorDescriptor descriptor, GPUDevice device);
+
[
RuntimeEnabled=MachineLearningNeuralNetwork,
CallWith=ScriptState,
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor.idl
index 817b8e03..dba30072 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor.idl
@@ -10,7 +10,7 @@
] interface MLTensor {
readonly attribute MLOperandDataType dataType;
readonly attribute FrozenArray shape;
- readonly attribute boolean exportableToGPU;
+ readonly attribute GPUDevice? gpuDevice;
readonly attribute boolean readable;
readonly attribute boolean writable;
readonly attribute boolean constant;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor_descriptor.idl
index 15105fef..1643049c 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor_descriptor.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_tensor_descriptor.idl
@@ -5,7 +5,6 @@
// https://www.w3.org/TR/webnn/#api-mltensor
dictionary MLTensorDescriptor : MLOperandDescriptor {
- boolean exportableToGPU = false;
boolean readable = false;
boolean writable = false;
};
\ No newline at end of file
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/navigatorcontentutils/navigator_content_utils.idl b/tools/under-control/src/third_party/blink/renderer/modules/navigatorcontentutils/navigator_content_utils.idl
index 6c9641c0..58cab56a 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/navigatorcontentutils/navigator_content_utils.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/navigatorcontentutils/navigator_content_utils.idl
@@ -20,9 +20,8 @@
// https://html.spec.whatwg.org/C/#custom-handlers
-[
- ImplementedAs=NavigatorContentUtils
-] partial interface Navigator {
- [RuntimeEnabled=NavigatorContentUtils, RaisesException, SecureContext] void registerProtocolHandler(DOMString scheme, USVString url);
- [RuntimeEnabled=NavigatorContentUtils, RaisesException, SecureContext] void unregisterProtocolHandler(DOMString scheme, USVString url);
+interface mixin NavigatorContentUtils {
+ [RuntimeEnabled=NavigatorContentUtils, RaisesException, SecureContext] undefined registerProtocolHandler(DOMString scheme, USVString url);
+ [RuntimeEnabled=NavigatorContentUtils, RaisesException, SecureContext] undefined unregisterProtocolHandler(DOMString scheme, USVString url);
};
+Navigator includes NavigatorContentUtils;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/netinfo/network_information.idl b/tools/under-control/src/third_party/blink/renderer/modules/netinfo/network_information.idl
index fbbaa07b..0fdaa508 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/netinfo/network_information.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/netinfo/network_information.idl
@@ -29,12 +29,12 @@ typedef unsigned long long Milliseconds;
ActiveScriptWrappable,
Exposed=(Window,Worker)
] interface NetworkInformation : EventTarget {
- [RuntimeEnabled=NetInfoDownlinkMax, HighEntropy=Direct, MeasureAs=NetInfoType] readonly attribute ConnectionType type;
- [RuntimeEnabled=NetInfoDownlinkMax, HighEntropy=Direct, MeasureAs=NetInfoDownlinkMax] readonly attribute Megabit downlinkMax;
+ [RuntimeEnabled=NetInfoDownlinkMax, MeasureAs=NetInfoType] readonly attribute ConnectionType type;
+ [RuntimeEnabled=NetInfoDownlinkMax, MeasureAs=NetInfoDownlinkMax] readonly attribute Megabit downlinkMax;
[MeasureAs=NetInfoOnChange] attribute EventHandler onchange;
[RuntimeEnabled=NetInfoDownlinkMax, MeasureAs=NetInfoOnTypeChange] attribute EventHandler ontypechange;
- [HighEntropy=Direct, MeasureAs=NetInfoEffectiveType] readonly attribute EffectiveConnectionType effectiveType;
- [HighEntropy=Direct, MeasureAs=NetInfoRtt] readonly attribute Milliseconds rtt;
- [HighEntropy=Direct, MeasureAs=NetInfoDownlink] readonly attribute Megabit downlink;
- [HighEntropy=Direct, MeasureAs=NetInfoSaveData] readonly attribute boolean saveData;
+ [MeasureAs=NetInfoEffectiveType] readonly attribute EffectiveConnectionType effectiveType;
+ [MeasureAs=NetInfoRtt] readonly attribute Milliseconds rtt;
+ [MeasureAs=NetInfoDownlink] readonly attribute Megabit downlink;
+ [MeasureAs=NetInfoSaveData] readonly attribute boolean saveData;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl
index 86d17e0c..292006ea 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl
@@ -23,8 +23,8 @@ enum SecurePaymentConfirmationAvailability {
[CallWith=ExecutionContext, RaisesException] constructor(sequence methodData, optional PaymentDetailsInit details = {}, optional PaymentOptions options = {});
[CallWith=ScriptState, RaisesException, NewObject] Promise show(optional Promise detailsPromise);
[CallWith=ScriptState, RaisesException, NewObject] Promise abort();
- [CallWith=ScriptState, RaisesException, HighEntropy, Measure, NewObject] Promise canMakePayment();
- [CallWith=ScriptState, RaisesException, HighEntropy, Measure, NewObject] Promise hasEnrolledInstrument();
+ [CallWith=ScriptState, RaisesException, Measure, NewObject] Promise canMakePayment();
+ [CallWith=ScriptState, RaisesException, Measure, NewObject] Promise hasEnrolledInstrument();
readonly attribute DOMString id;
[ImplementedAs=getShippingAddress] readonly attribute PaymentAddress? shippingAddress;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl
index db2cb390..bc96f2bf 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl
@@ -60,19 +60,19 @@ enum RTCIceTcpCandidateType {
Exposed=Window
] interface RTCIceCandidate {
[CallWith=ExecutionContext, RaisesException] constructor(optional RTCIceCandidateInit candidateInitDict = {});
- [HighEntropy=Direct, MeasureAs=RTCIceCandidateCandidate] readonly attribute DOMString candidate;
+ [MeasureAs=RTCIceCandidateCandidate] readonly attribute DOMString candidate;
readonly attribute DOMString? sdpMid;
readonly attribute unsigned short? sdpMLineIndex;
readonly attribute DOMString? foundation;
readonly attribute RTCIceComponent? component;
readonly attribute unsigned long? priority;
- [HighEntropy=Direct, MeasureAs=RTCIceCandidateAddress] readonly attribute DOMString? address;
+ [MeasureAs=RTCIceCandidateAddress] readonly attribute DOMString? address;
readonly attribute RTCIceProtocol? protocol;
- [HighEntropy=Direct, MeasureAs=RTCIceCandidatePort] readonly attribute unsigned short? port;
+ [MeasureAs=RTCIceCandidatePort] readonly attribute unsigned short? port;
readonly attribute RTCIceCandidateType? type;
readonly attribute RTCIceTcpCandidateType? tcpType;
- [HighEntropy=Direct, MeasureAs=RTCIceCandidateRelatedAddress] readonly attribute DOMString? relatedAddress;
- [HighEntropy=Direct, MeasureAs=RTCIceCandidateRelatedPort] readonly attribute unsigned short? relatedPort;
+ [MeasureAs=RTCIceCandidateRelatedAddress] readonly attribute DOMString? relatedAddress;
+ [MeasureAs=RTCIceCandidateRelatedPort] readonly attribute unsigned short? relatedPort;
readonly attribute DOMString? usernameFragment;
readonly attribute RTCIceServerTransportProtocol? relayProtocol;
readonly attribute DOMString? url;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl
index dde2f42e..3003e36c 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl
@@ -12,7 +12,7 @@ interface RTCRtpReceiver {
[RaisesException=Setter, Measure] attribute double? playoutDelayHint;
// https://w3c.github.io/webrtc-extensions/#dom-rtcrtpreceiver-jitterbuffertarget
[RaisesException=Setter, Measure, RuntimeEnabled=RTCJitterBufferTarget] attribute double? jitterBufferTarget;
- [CallWith=ScriptState, HighEntropy, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind);
+ [CallWith=ScriptState, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind);
RTCRtpReceiveParameters getParameters();
[CallWith=ScriptState, RaisesException] sequence getSynchronizationSources();
[CallWith=ScriptState, RaisesException] sequence getContributingSources();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_send_parameters.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_send_parameters.idl
index 58d4ed44..5e18b474 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_send_parameters.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_send_parameters.idl
@@ -6,7 +6,8 @@
enum RTCDegradationPreference {
"maintain-framerate",
"maintain-resolution",
- "balanced"
+ "balanced",
+ "maintain-framerate-and-resolution"
};
// https://w3c.github.io/webrtc-pc/#rtcsendrtpparameters
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl
index 58cf99c8..afb2ffed 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl
@@ -8,7 +8,7 @@ interface RTCRtpSender {
readonly attribute MediaStreamTrack? track;
readonly attribute RTCDtlsTransport? transport;
readonly attribute RTCDtlsTransport? rtcpTransport;
- [CallWith=ScriptState, HighEntropy, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind);
+ [CallWith=ScriptState, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind);
// options argument is defined by https://w3c.github.io/webrtc-extensions/#rtcrtpsender-setparameters-keyframe
[CallWith=ScriptState, RaisesException] Promise setParameters(RTCRtpSendParameters parameters, optional RTCSetParameterOptions options = {});
RTCRtpSendParameters getParameters();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl
index a8eebda7..f1bb8a99 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl
@@ -65,6 +65,8 @@ dictionary RTCReceivedRtpStreamStats : RTCRtpStreamStats {
unsigned long long packetsReceived;
unsigned long long packetsReceivedWithEct1;
unsigned long long packetsReceivedWithCe;
+ unsigned long long packetsReportedAsLost;
+ unsigned long long packetsReportedAsLostButRecovered;
long long packetsLost;
double jitter;
};
@@ -140,6 +142,7 @@ dictionary RTCRemoteInboundRtpStreamStats : RTCReceivedRtpStreamStats {
double totalRoundTripTime;
double fractionLost;
unsigned long long roundTripTimeMeasurements;
+ unsigned long long packetsWithBleachedEct1Marking;
};
// https://w3c.github.io/webrtc-stats/#sentrtpstats-dict*
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_transport/rtc_transport.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_transport/rtc_transport.idl
index 0a10498c..e643cd95 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_transport/rtc_transport.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_transport/rtc_transport.idl
@@ -9,16 +9,16 @@ dictionary RtcTransportConfig {
// ICE configuration.
sequence iceServers;
- boolean iceControlling;
+ required boolean iceControlling;
RtcTransportWireProtocol wireProtocol = "dtls-srtp";
};
dictionary RtcTransportICECandidateInit {
- DOMString address;
- unsigned short port;
- DOMString usernameFragment;
- DOMString password;
- RTCIceCandidateType type;
+ required DOMString address;
+ required unsigned short port;
+ required DOMString usernameFragment;
+ required DOMString password;
+ required RTCIceCandidateType type;
};
dictionary RtcSendPacketParameters {
@@ -27,7 +27,7 @@ dictionary RtcSendPacketParameters {
long long id;
// TODO(crbug.com/443019066): Change to support BYOB.
- ArrayBuffer data;
+ required ArrayBuffer data;
DOMHighResTimeStamp desiredSendTime;
};
@@ -35,9 +35,9 @@ dictionary RtcSendPacketParameters {
enum RtcTransportSslRole {"server", "client"};
dictionary RtcDtlsParameters {
- RtcTransportSslRole sslRole;
- DOMString fingerprintDigestAlgorithm;
- ArrayBuffer fingerprint;
+ required RtcTransportSslRole sslRole;
+ required DOMString fingerprintDigestAlgorithm;
+ required ArrayBuffer fingerprint;
};
[
@@ -58,5 +58,6 @@ dictionary RtcDtlsParameters {
readonly attribute DOMString fingerprintDigestAlgorithm;
readonly attribute ArrayBuffer fingerprint;
+ attribute EventHandler onwritablechange;
[CallWith=ScriptState] Promise writable();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/plugins/navigator_plugins.idl b/tools/under-control/src/third_party/blink/renderer/modules/plugins/navigator_plugins.idl
index 1b319dff..404b338f 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/plugins/navigator_plugins.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/plugins/navigator_plugins.idl
@@ -5,9 +5,9 @@
// https://html.spec.whatwg.org/C/#navigatorplugins
[
ImplementedAs=NavigatorPlugins
-] partial interface Navigator {
- [HighEntropy, MeasureAs=NavigatorPlugins] readonly attribute PluginArray plugins;
- [HighEntropy, MeasureAs=NavigatorMimeTypes] readonly attribute MimeTypeArray mimeTypes;
- [HighEntropy=Direct, Measure] boolean javaEnabled();
- [HighEntropy, MeasureAs=NavigatorPdfViewerEnabled] readonly attribute boolean pdfViewerEnabled;
+] interface mixin NavigatorPlugins {
+ [MeasureAs=NavigatorPlugins, SameObject] readonly attribute PluginArray plugins;
+ [MeasureAs=NavigatorMimeTypes, SameObject] readonly attribute MimeTypeArray mimeTypes;
+ [Measure] boolean javaEnabled();
+ [MeasureAs=NavigatorPdfViewerEnabled] readonly attribute boolean pdfViewerEnabled;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/plugins/plugin.idl b/tools/under-control/src/third_party/blink/renderer/modules/plugins/plugin.idl
index dbbbe314..60c0d023 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/plugins/plugin.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/plugins/plugin.idl
@@ -25,9 +25,9 @@
ImplementedAs=DOMPlugin,
LegacyUnenumerableNamedProperties
] interface Plugin {
- [HighEntropy=Direct, MeasureAs=PluginName] readonly attribute DOMString name;
- [HighEntropy=Direct, MeasureAs=PluginFilename] readonly attribute DOMString filename;
- [HighEntropy=Direct, MeasureAs=PluginDescription] readonly attribute DOMString description;
+ [MeasureAs=PluginName] readonly attribute DOMString name;
+ [MeasureAs=PluginFilename] readonly attribute DOMString filename;
+ [MeasureAs=PluginDescription] readonly attribute DOMString description;
readonly attribute unsigned long length;
getter MimeType? item(unsigned long index);
getter MimeType? namedItem(DOMString name);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/push_messaging/push_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/push_messaging/push_manager.idl
index a8de81e5..5bbf57d8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/push_messaging/push_manager.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/push_messaging/push_manager.idl
@@ -8,7 +8,7 @@
Exposed=(Window,Worker),
RuntimeEnabled=PushMessaging
] interface PushManager {
- [SameObject, SaveSameObject, HighEntropy=Direct, Measure]
+ [SameObject, SaveSameObject, Measure]
static readonly attribute FrozenArray supportedContentEncodings;
[CallWith=ScriptState, RaisesException] Promise subscribe(optional PushSubscriptionOptionsInit options = {});
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/quota/worker_navigator_storage_quota.idl b/tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage.idl
similarity index 82%
rename from tools/under-control/src/third_party/blink/renderer/modules/quota/worker_navigator_storage_quota.idl
rename to tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage.idl
index 88881890..15c78f1d 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/quota/worker_navigator_storage_quota.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage.idl
@@ -18,8 +18,11 @@
*/
[
+ SecureContext,
ImplementedAs=NavigatorStorageQuota
-] partial interface WorkerNavigator {
+] interface mixin NavigatorStorage {
// https://storage.spec.whatwg.org/#api
- [SecureContext] readonly attribute StorageManager storage;
+ [SameObject] readonly attribute StorageManager storage;
};
+Navigator includes NavigatorStorage;
+WorkerNavigator includes NavigatorStorage;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage_quota.idl b/tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage_quota.idl
index ea74e64a..627aa404 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage_quota.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/quota/navigator_storage_quota.idl
@@ -27,7 +27,4 @@
// As of crbug.com/1233525, webkitPersistentStorage is an alias to webkitTemporaryStorage.
[MeasureAs=PrefixedStorageQuota] readonly attribute DeprecatedStorageQuota webkitPersistentStorage;
-
- // https://storage.spec.whatwg.org/#api
- [SecureContext] readonly attribute StorageManager storage;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_detailed.idl b/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_detailed.idl
index 6375f25c..548c29ec 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_detailed.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_detailed.idl
@@ -10,25 +10,25 @@
] interface ScreenDetailed : Screen {
// Distance from a multi-screen origin (e.g. primary screen top left) to the
// left edge of the screen area.
- [HighEntropy=Direct, Measure] readonly attribute long left;
+ [Measure] readonly attribute long left;
// Distance from a multi-screen origin (e.g. primary screen top left) to the
// top edge of the screen area.
- [HighEntropy=Direct, Measure] readonly attribute long top;
+ [Measure] readonly attribute long top;
// Whether this screen is designated as the 'primary' screen by the OS
// (otherwise it is a 'secondary' screen).
- [HighEntropy=Direct, Measure] readonly attribute boolean isPrimary;
+ [Measure] readonly attribute boolean isPrimary;
// Whether this screen is an 'internal' panel built into the device, like a
// laptop display (otherwise it is 'external', like a wired monitor).
- [HighEntropy=Direct, Measure] readonly attribute boolean isInternal;
+ [Measure] readonly attribute boolean isInternal;
// Specifies the ratio between physical and logical pixels.
- [HighEntropy=Direct, Measure] readonly attribute float devicePixelRatio;
+ [Measure] readonly attribute float devicePixelRatio;
// A user-friendly label for the screen, determined by the user agent and OS.
- [HighEntropy=Direct, Measure] readonly attribute DOMString label;
+ [Measure] readonly attribute DOMString label;
// The HDR headroom of the screen. This is the base 2 log of the ratio of peak
// luminance to HDR reference white luminance.
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_details.idl b/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_details.idl
index cee6a2a4..3e598170 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_details.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/screen_details/screen_details.idl
@@ -16,9 +16,9 @@
// Change event fired when the set of screens changes.
// NOTE: Does not fire on changes to attributes of individual Screens.
- [HighEntropy, Measure] attribute EventHandler onscreenschange;
+ [Measure] attribute EventHandler onscreenschange;
// Change event fired when any attribute on the currentScreen changes,
// including when the window is moved to another screen.
- [HighEntropy, Measure] attribute EventHandler oncurrentscreenchange;
+ [Measure] attribute EventHandler oncurrentscreenchange;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl b/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl
index f287271c..88e4c2b6 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl
@@ -24,8 +24,8 @@ enum OrientationType {
[Exposed=Window]
interface ScreenOrientation : EventTarget {
- [HighEntropy=Direct, MeasureAs=ScreenOrientationAngle] readonly attribute unsigned short angle;
- [HighEntropy=Direct, MeasureAs=ScreenOrientationType] readonly attribute OrientationType type;
+ [MeasureAs=ScreenOrientationAngle] readonly attribute unsigned short angle;
+ [MeasureAs=ScreenOrientationType] readonly attribute OrientationType type;
[CallWith=ScriptState, MeasureAs=ScreenOrientationLock, RaisesException] Promise lock(OrientationLockType orientation);
[MeasureAs=ScreenOrientationUnlock] void unlock();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl
index 85e1e0ff..4e5b5308 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl
@@ -10,38 +10,44 @@
[
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_Set_Method
+ MeasureAs=SharedStorageAPI_Set_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise set(DOMString key, DOMString value, optional SharedStorageSetMethodOptions options);
[
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_Append_Method
+ MeasureAs=SharedStorageAPI_Append_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise append(DOMString key, DOMString value, optional SharedStorageModifierMethodOptions options);
[
CallWith=ScriptState,
ImplementedAs=Delete,
RaisesException,
- MeasureAs=SharedStorageAPI_Delete_Method
+ MeasureAs=SharedStorageAPI_Delete_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise delete(DOMString key, optional SharedStorageModifierMethodOptions options);
[
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_Clear_Method
+ MeasureAs=SharedStorageAPI_Clear_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise clear(optional SharedStorageModifierMethodOptions options);
[
RuntimeEnabled=SharedStorageWebLocks,
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_BatchUpdate_Method
+ MeasureAs=SharedStorageAPI_BatchUpdate_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise batchUpdate(sequence methods, optional SharedStorageModifierMethodOptions options);
[
CallWith=ScriptState,
- RaisesException
+ RaisesException,
+ DeprecateAs=SharedStorageAPIAll
] Promise get(DOMString key);
[
@@ -66,7 +72,8 @@
Exposed=Window,
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_SelectURL_Method
+ MeasureAs=SharedStorageAPI_SelectURL_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise selectURL(DOMString name,
sequence urls,
optional SharedStorageRunOperationMethodOptions options);
@@ -75,14 +82,16 @@
Exposed=Window,
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_Run_Method
+ MeasureAs=SharedStorageAPI_Run_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise run(DOMString name, optional SharedStorageRunOperationMethodOptions options);
[
Exposed=Window,
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_CreateWorklet_Method
+ MeasureAs=SharedStorageAPI_CreateWorklet_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise createWorklet(USVString moduleURL,
optional SharedStorageWorkletOptions options = {});
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl
index ff1cd163..eb731568 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl
@@ -11,14 +11,16 @@ typedef (USVString or FencedFrameConfig) SharedStorageResponse;
[
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_AddModule_Method
+ MeasureAs=SharedStorageAPI_AddModule_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise addModule(USVString moduleURL, optional WorkletOptions options = {});
[
Exposed=Window,
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_SelectURL_Method
+ MeasureAs=SharedStorageAPI_SelectURL_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise selectURL(DOMString name,
sequence urls,
optional SharedStorageRunOperationMethodOptions options);
@@ -27,6 +29,7 @@ typedef (USVString or FencedFrameConfig) SharedStorageResponse;
Exposed=Window,
CallWith=ScriptState,
RaisesException,
- MeasureAs=SharedStorageAPI_Run_Method
+ MeasureAs=SharedStorageAPI_Run_Method,
+ DeprecateAs=SharedStorageAPIAll
] Promise run(DOMString name, optional SharedStorageRunOperationMethodOptions options);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/window_shared_storage.idl b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/window_shared_storage.idl
index 66005575..9ce9b477 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/window_shared_storage.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/window_shared_storage.idl
@@ -5,6 +5,6 @@
[
MeasureAs=SharedStorageAPI_SharedStorage_DOMReference,
SecureContext,
- RaisesException
+ RaisesException, DeprecateAs=SharedStorageAPIAll
] readonly attribute SharedStorage sharedStorage;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl
index 8bca3eb3..edbe9336 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl
@@ -27,6 +27,6 @@ partial interface Document {
[
CallWith=ScriptState,
NewObject,
- MeasureAs=StorageAccessAPI_requestStorageAccessFor_Method
+ DeprecateAs=StorageAccessAPI_requestStorageAccessFor_Method
] Promise requestStorageAccessFor(USVString requestedOrigin);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/analyser_node.idl b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/analyser_node.idl
index d879f421..35e36b73 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/analyser_node.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/analyser_node.idl
@@ -40,10 +40,10 @@
// Copies the current frequency data into the passed array.
// If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
- [HighEntropy, Measure] void getFloatFrequencyData(Float32Array array);
- [HighEntropy, Measure] void getByteFrequencyData(Uint8Array array);
+ [Measure] void getFloatFrequencyData(Float32Array array);
+ [Measure] void getByteFrequencyData(Uint8Array array);
// Real-time waveform data
- [HighEntropy, Measure] void getFloatTimeDomainData(Float32Array array);
- [HighEntropy, Measure] void getByteTimeDomainData(Uint8Array array);
+ [Measure] void getFloatTimeDomainData(Float32Array array);
+ [Measure] void getByteTimeDomainData(Uint8Array array);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
index cab38eae..48bf56bf 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
@@ -37,9 +37,9 @@
// Channel access
readonly attribute unsigned long numberOfChannels;
- [HighEntropy=Direct, Measure, RaisesException] Float32Array getChannelData(
+ [Measure, RaisesException] Float32Array getChannelData(
unsigned long channelIndex);
- [HighEntropy, Measure, RaisesException] void copyFromChannel(
+ [Measure, RaisesException] void copyFromChannel(
Float32Array destination,
unsigned long channelNumber,
optional unsigned long bufferOffset = 0);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_context.idl
index 83c13665..bd27efb2 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_context.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_context.idl
@@ -39,12 +39,12 @@ dictionary AudioSinkOptions {
Exposed=Window,
ActiveScriptWrappable
] interface AudioContext : BaseAudioContext {
- [HighEntropy, CallWith=ExecutionContext, RaisesException, Measure] constructor(optional AudioContextOptions contextOptions = {});
- [HighEntropy=Direct, MeasureAs=AudioContextBaseLatency] readonly attribute double baseLatency;
- [HighEntropy=Direct, MeasureAs=AudioContextOutputLatency] readonly attribute double outputLatency;
+ [CallWith=ExecutionContext, RaisesException, Measure] constructor(optional AudioContextOptions contextOptions = {});
+ [MeasureAs=AudioContextBaseLatency] readonly attribute double baseLatency;
+ [MeasureAs=AudioContextOutputLatency] readonly attribute double outputLatency;
[MeasureAs=AudioContextSinkId, SecureContext] readonly attribute (DOMString or AudioSinkInfo) sinkId;
[SecureContext] attribute EventHandler onsinkchange;
- [RuntimeEnabled=AudioContextOnError, MeasureAs=AudioContextOnError] attribute EventHandler onerror;
+ attribute EventHandler onerror;
[MeasureAs=AudioContextGetOutputTimestamp, CallWith=ScriptState] AudioTimestamp getOutputTimestamp();
[MeasureAs=AudioContextResume, RaisesException, CallWith=ScriptState, ImplementedAs=resumeContext] Promise resume();
[MeasureAs=AudioContextSuspend, RaisesException, CallWith=ScriptState, ImplementedAs=suspendContext] Promise suspend();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_node.idl b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_node.idl
index a58e1907..277884ec 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_node.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/audio_node.idl
@@ -38,8 +38,8 @@ enum ChannelInterpretation {
[Exposed=Window]
interface AudioNode : EventTarget {
- [HighEntropy, RaisesException, MeasureAs=AudioNodeConnectToAudioNode] AudioNode connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
- [HighEntropy, RaisesException, MeasureAs=AudioNodeConnectToAudioParam] void connect(AudioParam destination, optional unsigned long output = 0);
+ [RaisesException, MeasureAs=AudioNodeConnectToAudioNode] AudioNode connect(AudioNode destination, optional unsigned long output = 0, optional unsigned long input = 0);
+ [RaisesException, MeasureAs=AudioNodeConnectToAudioParam] void connect(AudioParam destination, optional unsigned long output = 0);
void disconnect();
[RaisesException, MeasureAs=AudioNodeDisconnectFromAudioNode] void disconnect(unsigned long output);
[RaisesException, MeasureAs=AudioNodeDisconnectFromAudioNode] void disconnect(AudioNode destination);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/base_audio_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/base_audio_context.idl
index 30af8567..56f00eec 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/base_audio_context.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/base_audio_context.idl
@@ -18,7 +18,7 @@ callback DecodeSuccessCallback = void (AudioBuffer decodedData);
ActiveScriptWrappable
] interface BaseAudioContext : EventTarget {
readonly attribute AudioDestinationNode destination;
- [HighEntropy=Direct, Measure] readonly attribute float sampleRate;
+ [Measure] readonly attribute float sampleRate;
readonly attribute double currentTime;
readonly attribute AudioListener listener;
readonly attribute AudioContextState state;
@@ -35,10 +35,10 @@ callback DecodeSuccessCallback = void (AudioBuffer decodedData);
[RaisesException, MeasureAs=AudioContextCreateConstantSource] ConstantSourceNode createConstantSource();
[RaisesException, MeasureAs=AudioContextCreateConvolver] ConvolverNode createConvolver();
[RaisesException, MeasureAs=AudioContextCreateDelay] DelayNode createDelay(optional double maxDelayTime);
- [HighEntropy, RaisesException, MeasureAs=AudioContextCreateDynamicsCompressor] DynamicsCompressorNode createDynamicsCompressor();
+ [RaisesException, MeasureAs=AudioContextCreateDynamicsCompressor] DynamicsCompressorNode createDynamicsCompressor();
[RaisesException, MeasureAs=AudioContextCreateGain] GainNode createGain();
[RaisesException, MeasureAs=AudioContextCreateIIRFilter] IIRFilterNode createIIRFilter(sequence feedForward, sequence feedBack);
- [HighEntropy, RaisesException, MeasureAs=AudioContextCreateOscillator] OscillatorNode createOscillator();
+ [RaisesException, MeasureAs=AudioContextCreateOscillator] OscillatorNode createOscillator();
[RaisesException, MeasureAs=AudioContextCreatePannerAutomated] PannerNode createPanner();
[RaisesException, MeasureAs=AudioContextCreatePeriodicWave] PeriodicWave createPeriodicWave(sequence real, sequence imag, optional PeriodicWaveConstraints constraints = {});
[RaisesException, MeasureAs=AudioContextCreateScriptProcessor] ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize, optional unsigned long numberOfInputChannels, optional unsigned long numberOfOutputChannels);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/offline_audio_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/offline_audio_context.idl
index e74aea3f..c489fa9d 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webaudio/offline_audio_context.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webaudio/offline_audio_context.idl
@@ -27,12 +27,12 @@
[
Exposed=Window
] interface OfflineAudioContext : BaseAudioContext {
- [HighEntropy, CallWith=ExecutionContext, RaisesException, Measure] constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate);
- [HighEntropy, CallWith=ExecutionContext, RaisesException, Measure] constructor(OfflineAudioContextOptions options);
+ [CallWith=ExecutionContext, RaisesException, Measure] constructor(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate);
+ [CallWith=ExecutionContext, RaisesException, Measure] constructor(OfflineAudioContextOptions options);
// Offline rendering
attribute EventHandler oncomplete;
readonly attribute unsigned long length;
- [HighEntropy, CallWith=ScriptState, RaisesException, ImplementedAs=startOfflineRendering, MeasureAs=OfflineAudioContextStartRendering] Promise startRendering();
+ [CallWith=ScriptState, RaisesException, ImplementedAs=startOfflineRendering, MeasureAs=OfflineAudioContextStartRendering] Promise startRendering();
[RaisesException, CallWith=ScriptState, ImplementedAs=suspendContext, MeasureAs=OfflineAudioContextSuspend] Promise suspend(double suspendTime);
[RaisesException, MeasureAs=OfflineAudioContextResume, CallWith=ScriptState, ImplementedAs=resumeContext] Promise resume();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl
index 1f1d4423..71669996 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl
@@ -286,7 +286,7 @@ interface mixin WebGL2RenderingContextBase {
/* Framebuffer objects */
void blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
void framebufferTextureLayer(GLenum target, GLenum attachment, WebGLTexture? texture, GLint level, GLint layer);
- [HighEntropy, MeasureAs=WebGL2RenderingContextGetInternalFormatParameter, CallWith=ScriptState] any getInternalformatParameter(GLenum target, GLenum internalformat, GLenum pname);
+ [MeasureAs=WebGL2RenderingContextGetInternalFormatParameter, CallWith=ScriptState] any getInternalformatParameter(GLenum target, GLenum internalformat, GLenum pname);
void invalidateFramebuffer(GLenum target, sequence attachments);
void invalidateSubFramebuffer(GLenum target, sequence attachments, GLint x, GLint y, GLsizei width, GLsizei height);
void readBuffer(GLenum mode);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_compressed_texture_astc.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_compressed_texture_astc.idl
index d8411007..def968ca 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_compressed_texture_astc.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_compressed_texture_astc.idl
@@ -37,5 +37,5 @@
const unsigned long COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC;
const unsigned long COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD;
- [HighEntropy=Direct, Measure] sequence getSupportedProfiles();
+ [Measure] sequence getSupportedProfiles();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.idl
index 8b3b9465..9635e2c8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.idl
@@ -556,22 +556,22 @@ interface mixin WebGLRenderingContextBase {
GLenum getError();
- [CallWith=ScriptState, HighEntropy, Measure] object? getExtension(DOMString name);
+ [CallWith=ScriptState, Measure] object? getExtension(DOMString name);
[CallWith=ScriptState] any getFramebufferAttachmentParameter(GLenum target, GLenum attachment, GLenum pname);
- [HighEntropy, MeasureAs=WebGLRenderingContextGetParameter, CallWith=ScriptState] any getParameter(GLenum pname);
+ [MeasureAs=WebGLRenderingContextGetParameter, CallWith=ScriptState] any getParameter(GLenum pname);
[CallWith=ScriptState] any getProgramParameter(WebGLProgram program, GLenum pname);
DOMString? getProgramInfoLog(WebGLProgram program);
- [HighEntropy, MeasureAs=WebGLRenderingContextGetRenderbufferParameter, CallWith=ScriptState] any getRenderbufferParameter(GLenum target, GLenum pname);
+ [MeasureAs=WebGLRenderingContextGetRenderbufferParameter, CallWith=ScriptState] any getRenderbufferParameter(GLenum target, GLenum pname);
[CallWith=ScriptState] any getShaderParameter(WebGLShader shader, GLenum pname);
DOMString? getShaderInfoLog(WebGLShader shader);
- [HighEntropy, MeasureAs=WebGLRenderingContextGetShaderPrecisionFormat] WebGLShaderPrecisionFormat getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
+ [MeasureAs=WebGLRenderingContextGetShaderPrecisionFormat] WebGLShaderPrecisionFormat getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype);
DOMString? getShaderSource(WebGLShader shader);
- [HighEntropy=Direct, Measure] sequence? getSupportedExtensions();
+ [Measure] sequence? getSupportedExtensions();
[CallWith=ScriptState] any getTexParameter(GLenum target, GLenum pname);
@@ -597,7 +597,7 @@ interface mixin WebGLRenderingContextBase {
void pixelStorei(GLenum pname, GLint param);
void polygonOffset(GLfloat factor, GLfloat units);
- [HighEntropy] void readPixels(
+ void readPixels(
GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
[AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView? pixels);
@@ -649,11 +649,16 @@ interface mixin WebGLRenderingContextBase {
void texElementImage2D(GLenum target, GLint level, GLint internalformat,
GLenum format, GLenum type, Element element);
[RuntimeEnabled=CanvasDrawElement, RaisesException]
+ void texElementImage2D(GLenum target, GLint level, GLint internalformat,
+ GLsizei width, GLsizei height, GLenum format,
+ GLenum type, Element element);
+ [RuntimeEnabled=CanvasDrawElement, RaisesException]
void texElement2D(GLenum target, GLint level, GLint internalformat,
GLenum format, GLenum type, Element element);
-
[RuntimeEnabled=CanvasDrawElement, RaisesException]
- void setHitTestRegions(sequence hitTestRegions);
+ void texElement2D(GLenum target, GLint level, GLint internalformat,
+ GLsizei width, GLsizei height, GLenum format, GLenum type,
+ Element element);
void texSubImage2D(
GLenum target, GLint level, GLint xoffset, GLint yoffset,
@@ -721,5 +726,5 @@ interface mixin WebGLRenderingContextBase {
[RuntimeEnabled=WebGLDrawingBufferStorage] void drawingBufferStorage(GLenum sizedformat, GLsizei width, GLsizei height);
// WebXR Device API support
- [RuntimeEnabled=WebXR, SecureContext, CallWith=ScriptState, RaisesException, HighEntropy, MeasureAs=WebGLRenderingContextMakeXRCompatible] Promise makeXRCompatible();
+ [RuntimeEnabled=WebXR, SecureContext, CallWith=ScriptState, RaisesException, MeasureAs=WebGLRenderingContextMakeXRCompatible] Promise makeXRCompatible();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl
index 63c7ac90..4ead13b5 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl
@@ -8,10 +8,10 @@
Exposed=(Window, Worker),
SecureContext
] interface GPUAdapterInfo {
- [HighEntropy] readonly attribute DOMString vendor;
- [HighEntropy] readonly attribute DOMString architecture;
- [HighEntropy] readonly attribute DOMString device;
- [HighEntropy] readonly attribute DOMString description;
+ readonly attribute DOMString vendor;
+ readonly attribute DOMString architecture;
+ readonly attribute DOMString device;
+ readonly attribute DOMString description;
readonly attribute unsigned long subgroupMinSize;
readonly attribute unsigned long subgroupMaxSize;
readonly attribute boolean isFallbackAdapter;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout_descriptor.idl
index 23901d32..c4b714c0 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout_descriptor.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout_descriptor.idl
@@ -6,4 +6,5 @@
dictionary GPUPipelineLayoutDescriptor : GPUObjectDescriptorBase {
required sequence bindGroupLayouts;
+ [RuntimeEnabled=WebGPUImmediatesFeature] GPUSize32 immediateSize = 0;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl
index 59d3b08e..98229c8f 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_programmable_pass_encoder.idl
@@ -17,4 +17,18 @@ interface mixin GPUProgrammablePassEncoder {
void pushDebugGroup(USVString groupLabel);
[NoAllocDirectCall] void popDebugGroup();
void insertDebugMarker(USVString markerLabel);
+
+ [RuntimeEnabled=WebGPUImmediatesFeature, RaisesException]
+ void setImmediates(
+ GPUSize32 rangeOffset,
+ [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBuffer data,
+ optional GPUSize64 dataOffset = 0,
+ optional GPUSize64 size);
+
+ [RuntimeEnabled=WebGPUImmediatesFeature, RaisesException]
+ void setImmediates(
+ GPUSize32 rangeOffset,
+ [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView data,
+ optional GPUSize64 dataOffset = 0,
+ optional GPUSize64 size);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl
index 7120f782..8cbf5dab 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl
@@ -44,5 +44,10 @@
[RuntimeEnabled=CanvasDrawElement, RaisesException] void copyElementImageToTexture(
Element source,
GPUImageCopyTextureTagged destination);
+ [RuntimeEnabled=CanvasDrawElement, RaisesException] void copyElementImageToTexture(
+ Element source,
+ GPUIntegerCoordinate width,
+ GPUIntegerCoordinate height,
+ GPUImageCopyTextureTagged destination);
};
GPUQueue includes GPUObjectBase;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl
index 99cfd07b..86bda2ca 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl
@@ -39,6 +39,7 @@
readonly attribute unsigned long maxComputeWorkgroupSizeY;
readonly attribute unsigned long maxComputeWorkgroupSizeZ;
readonly attribute unsigned long maxComputeWorkgroupsPerDimension;
+ [RuntimeEnabled=WebGPUImmediatesFeature] readonly attribute unsigned long maxImmediateSize;
[RuntimeEnabled=WebGPUCompatibilityMode] readonly attribute unsigned long maxStorageBuffersInFragmentStage;
[RuntimeEnabled=WebGPUCompatibilityMode] readonly attribute unsigned long maxStorageTexturesInFragmentStage;
[RuntimeEnabled=WebGPUCompatibilityMode] readonly attribute unsigned long maxStorageBuffersInVertexStage;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/navigator_gpu.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/navigator_gpu.idl
index 6846d3dc..c4994446 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/navigator_gpu.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/navigator_gpu.idl
@@ -2,11 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// https://gpuweb.github.io/gpuweb/
+// https://gpuweb.github.io/gpuweb/#navigator-gpu
[
- Exposed=Window,
ImplementedAs=GPU
-] partial interface Navigator {
+] interface mixin NavigatorGPU {
[SameObject, SecureContext] readonly attribute GPU gpu;
};
+Navigator includes NavigatorGPU;
+WorkerNavigator includes NavigatorGPU;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl
deleted file mode 100755
index 7d08f56b..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2019 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// https://gpuweb.github.io/gpuweb/
-
-[
- Exposed=Worker,
- ImplementedAs=GPU
-] partial interface WorkerNavigator {
- [SameObject, SecureContext] readonly attribute GPU gpu;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/xr/document_xr.idl b/tools/under-control/src/third_party/blink/renderer/modules/xr/document_xr.idl
deleted file mode 100755
index 6d5dd52a..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/xr/document_xr.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2020 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// https://immersive-web.github.io/dom-overlays/#onbeforexrselect
-
-[
- ImplementedAs=GlobalEventHandlersXR
-]
-partial interface Document {
- attribute EventHandler onbeforexrselect;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/xr/mathml_element_xr.idl b/tools/under-control/src/third_party/blink/renderer/modules/xr/global_event_handlers_onbeforexrselect.idl
similarity index 86%
rename from tools/under-control/src/third_party/blink/renderer/modules/xr/mathml_element_xr.idl
rename to tools/under-control/src/third_party/blink/renderer/modules/xr/global_event_handlers_onbeforexrselect.idl
index 137b08cc..2ccea2ad 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/xr/mathml_element_xr.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/xr/global_event_handlers_onbeforexrselect.idl
@@ -7,6 +7,6 @@
[
ImplementedAs=GlobalEventHandlersXR
]
-partial interface MathMLElement {
+partial interface mixin GlobalEventHandlers {
attribute EventHandler onbeforexrselect;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/xr/html_element_xr.idl b/tools/under-control/src/third_party/blink/renderer/modules/xr/html_element_xr.idl
deleted file mode 100755
index 43e6183d..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/xr/html_element_xr.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2020 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// https://immersive-web.github.io/dom-overlays/#onbeforexrselect
-
-[
- ImplementedAs=GlobalEventHandlersXR
-]
-partial interface HTMLElement {
- attribute EventHandler onbeforexrselect;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/xr/svg_element_xr.idl b/tools/under-control/src/third_party/blink/renderer/modules/xr/svg_element_xr.idl
deleted file mode 100755
index a0b03291..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/xr/svg_element_xr.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2020 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// https://immersive-web.github.io/dom-overlays/#onbeforexrselect
-
-[
- ImplementedAs=GlobalEventHandlersXR
-]
-partial interface SVGElement {
- attribute EventHandler onbeforexrselect;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/xr/window_xr.idl b/tools/under-control/src/third_party/blink/renderer/modules/xr/window_xr.idl
deleted file mode 100755
index e0c78d3d..00000000
--- a/tools/under-control/src/third_party/blink/renderer/modules/xr/window_xr.idl
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2020 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// https://immersive-web.github.io/dom-overlays/#onbeforexrselect
-
-[
- ImplementedAs=GlobalEventHandlersXR
-]
-partial interface Window {
- attribute EventHandler onbeforexrselect;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/tools/under-control/src/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 7ffbed48..f87e3e39 100755
--- a/tools/under-control/src/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/tools/under-control/src/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -325,6 +325,16 @@
status: "test",
base_feature: "none",
},
+ // Whether to automatically build an APC content_extraction tree on load.
+ // Only supported for DCHECK-enabled builds.
+ {
+ name: "AIPageContentBuildOnLoadForTesting",
+ },
+ // Whether to enforce geometry invariants in AIPageContentAgent.
+ {
+ name: "AIPageContentCheckGeometry",
+ status: "test"
+ },
{
name: "AIPageContentPaidContentAnnotation",
status: "stable"
@@ -389,6 +399,19 @@
name: "AIPromptAPIStructuredOutput",
status: "stable",
},
+ {
+ // Gates access to the tool use (function calling) enhancement for
+ // "AIPromptAPI". This feature alone does not expose any "AIPromptAPI"
+ // feature access.
+ name: "AIPromptAPIToolUse",
+ status: {
+ "Win": "experimental",
+ "Mac": "experimental",
+ "Linux": "experimental",
+ "ChromeOS": "experimental",
+ "default": "",
+ },
+ },
{
name: "AIProofreadingAPI",
status: {
@@ -464,11 +487,6 @@
name: "AllowContentInitiatedDataUrlNavigations",
base_feature: "none",
},
- // Fix for https://crbug.com/41238177.
- {
- name: "AllowCopyingEmptyLastTableCell",
- status: "stable",
- },
{
name: "AllowPreloadingWithCSPMetaTag",
status: "experimental",
@@ -596,12 +614,6 @@
name: "AriaRowColIndexText",
status: "stable",
},
- {
- // Fix Asymmetric word navigation behavior on Windows when punctuation follows whitespace
- // See https://crbug.com/40252703
- name: "AsymmetricWordBoundaryFix",
- status: "stable",
- },
{
// When enabled, perform async IPCs from CookieJar::SetCookie to the
// network service.
@@ -614,10 +626,6 @@
base_feature: "none",
public: true,
},
- {
- name: "AudioContextOnError",
- status: "stable",
- },
{
// AudioContext.playoutStats interface.
// https://chromestatus.com/feature/5172818344148992
@@ -650,6 +658,12 @@
base_feature: "none",
origin_trial_feature_name: "AutoDarkMode",
},
+ {
+ name: "Autofill",
+ public: true,
+ status: "test",
+ base_feature: "none",
+ },
{
name: "AutomationControlled",
base_feature: "none",
@@ -707,6 +721,10 @@
name: "BackForwardCacheUpdateNotRestoredReasonsName",
status: "stable",
},
+ {
+ name: "BackgroundClipTextDecoration",
+ status: "stable",
+ },
{
name: "BackgroundFetch",
public: true,
@@ -760,17 +778,7 @@
{
// https://chromestatus.com/feature/4830298126417920
name: "BlobBytes",
- status: "experimental",
- },
- {
- // No status because this blink runtime feature doesn't work by itself.
- // It's controlled by the corresponding Chromium feature,
- // fingerprinting_protection_interventions::features::kBlockCanvasReadback
- // through modified_runtime_features and setting its status in the browser
- // process.
- name: "BlockCanvasReadback",
- browser_process_read_write_access: true,
- base_feature: "none",
+ status: "stable",
},
{
name: "BlockingFocusWithoutUserActivation",
@@ -781,13 +789,13 @@
name: "BorderRadiusCorrectionCoverageFactor",
status: "test",
},
- // crbug.com/1147998: Mouse and Pointer boundary event dispatch (i.e. dispatch
- // of enter, leave, over, out events) tracks DOM node removal to fix event
- // pairing on ancestor nodes.
+ // https://crbug.com/415304289: Mouse and Pointer boundary event dispatch
+ // (i.e. dispatch of enter, leave, over, out events) tracks DOM node removal
+ // to fix event pairing on ancestor nodes.
{
name: "BoundaryEventDispatchTracksNodeRemoval",
public: true,
- status: "experimental",
+ status: "stable",
},
{
name: "BrowserInitiatedAutomaticPictureInPicture",
@@ -808,26 +816,6 @@
name: "BufferedBytesConsumerLimitSize",
status: "stable",
},
- {
- name: "BuiltInAIAPI",
- status: "experimental",
- base_feature_status: "enabled",
- // An OT feature name is required to satisfy `implied_by` build checks.
- // The feature reuses AIPromptAPIMultimodalInput, but any origin trial
- // features in the `implied_by` list will enable this feature as well.
- origin_trial_feature_name: "AIPromptAPIMultimodalInput",
- copied_from_base_feature_if: "overridden",
- implied_by: [
- "AIPromptAPI",
- "AIPromptAPIMultimodalInput",
- "AIRewriterAPI",
- "AISummarizationAPI",
- "AIWriterAPI",
- "LanguageDetectionAPI",
- "TranslationAPI",
- "AIProofreadingAPI",
- ]
- },
{
// Bypasses the enforcement of the Page Embedded Permission Control
// security checks. This flag is disabled by default and should only be
@@ -835,6 +823,22 @@
// wait until the PEPC is validated and also to use JS-initiated clicks.
name: "BypassPepcSecurityForTesting",
},
+ {
+ // Enables RFC 7234-compliant Cache-Control header parsing, removing RFC
+ // 2616 separators that are not valid in RFC 7234.
+ // https://crbug.com/42050325
+ name: "CacheControlRFC7234Parsing",
+ status: "experimental",
+ },
+ {
+ // Enables metrics collection comparing RFC 7234 vs RFC 2616 Cache-Control
+ // parsing. Performs double parsing on every Cache-Control header to
+ // measure behavioral differences. Can be disabled as a kill switch if
+ // performance issues arise.
+ // https://crbug.com/42050325
+ name: "CacheControlRFC7234ParsingMetrics",
+ status: "experimental",
+ },
{
name: "CacheStorageCodeCacheHint",
origin_trial_feature_name: "CacheStorageCodeCacheHint",
@@ -903,17 +907,6 @@
name: "CanvasHDR",
status: "experimental",
},
- // This flag exists only for testing and should not be changed to stable.
- // Used for canvas noising tests.
- {
- name: "CanvasInterventionsTest",
- is_protected_feature: "true",
- },
- {
- // crbug.com/389726691.
- name: "CanvasTextCacheLimit",
- status: "stable",
- },
{
// crbug.com/389726691.
name: "CanvasTextMemoryPressure",
@@ -989,6 +982,10 @@
name: "CCTNewRFMPushBehavior",
base_feature_status: "enabled",
},
+ {
+ name: "CheckableInputTypeLayoutInline",
+ status: "stable",
+ },
{
// If focus is not at canonical position then spellcheck should be deactivated.
// crbug.com/396485529
@@ -1020,7 +1017,7 @@
// hints (from 3Ps, or itself) via the getHighEntropyValues API.
// crbug.com/385161047
name: "ClientHintUAHighEntropyValuesPermissionPolicy",
- status: "test",
+ status: "stable",
},
{
// Enables clipboardchange event API for listening for changes to the
@@ -1028,7 +1025,7 @@
// https://chromestatus.com/feature/5085102657503232
name: "ClipboardChangeEvent",
origin_trial_feature_name: "ClipboardChangeEvent",
- status: "experimental",
+ status: "stable",
},
// This ensures that clipboard event fires on a target node which is
// focused in case no visible selection is present.
@@ -1071,6 +1068,10 @@
name: "CollapseZeroWidthSpaceWhenReuseItem",
status: "stable",
},
+ {
+ name: "CollectWidthAndHeightAsPresentationAttributesForUse",
+ status: "stable",
+ },
{
name: "CollectWidthAndHeightAsStylesForNestedSvg",
status: "stable",
@@ -1079,7 +1080,7 @@
// https://chromestatus.com/feature/5162372125818880
{
name: "ColorSpaceDisplayP3Linear",
- status: "experimental",
+ status: "stable",
},
// Enable the srgb-linear and display-p3-linear color spaces in
// PredefinedColorSpace.
@@ -1144,6 +1145,18 @@
"default": "",
}
},
+ {
+ // When enabled, EventTriggers[1] will function via cc::EventTrigger
+ // objects that live on the compositor thread.
+ // [1] https://drafts.csswg.org/css-animations-2/#event-triggers
+ name: "CompositorEventTrigger"
+ },
+ {
+ // When enabled, TimelineTriggers[1] will function via cc::TimelineTrigger
+ // objects that live on the compositor thread.
+ // [1] https://drafts.csswg.org/css-animations-2/#timeline-triggers
+ name: "CompositorTimelineTrigger",
+ },
{
name: "CompressionDictionaryTransport",
base_feature: "none",
@@ -1191,10 +1204,6 @@
name: "ContainerTiming",
status: "experimental",
},
- {
- name: "ContainerTypeNoLayoutContainment",
- status: "stable",
- },
{
name: "ContentIndex",
status: {"Android": "stable", "default": "experimental"},
@@ -1212,10 +1221,23 @@
public: true,
status: "stable",
},
+ {
+ // Experimental support for requesting SecurityInfo
+ // in WebRequest API for controlled frames.
+ name: "ControlledFrameWebRequestSecurityInfo",
+ status: "test",
+ depends_on: ["ControlledFrame"],
+ },
{
name: "CookieDeprecationFacilitatedTesting",
base_feature: "none",
},
+ {
+ // Enables setting the `maxAge` option when creating a cookie in the
+ // Cookie Store API.
+ name: "CookieStoreAPIMaxAge",
+ status: "experimental",
+ },
{
name: "CoopRestrictProperties",
origin_trial_feature_name: "CoopRestrictProperties",
@@ -1275,22 +1297,16 @@
name: "CSSAltCounter",
status: "stable",
},
- {
- // An anchor-positioned element should stay within its containing block,
- // and not "escape" beyond the fragmentation context root and use the
- // bounding box of the fragmented anchor with fragmentation applied.
- name: "CSSAnchorSimplifiedFragmentation",
- status: "stable",
- },
{
// An update of anchor positioning (primarily how scrolling affects
// layout, but includes other inter-connected changes).
name: "CSSAnchorUpdate",
+ status: "stable",
},
{
// Let transforms affect anchor() and anchor-size() functions.
name: "CSSAnchorWithTransforms",
- status: "experimental",
+ status: "stable",
},
{
// Whether values are allowed as counter style
@@ -1320,9 +1336,9 @@
status: "stable",
},
{
- // Need a feature entry
+ // https://chromestatus.com/feature/6106160780017664
name: "CSSCaretShape",
- status: "experimental",
+ status: "stable",
},
{
// Support case-sensitive attribute selector modifier
@@ -1352,7 +1368,7 @@
{
// https://github.com/w3c/csswg-drafts/issues/12090#issuecomment-3204775586
name: "CSSContainerNameNotTreeScoped",
- status: "experimental",
+ status: "stable",
},
// https://drafts.csswg.org/css-values-5/#progress
// container-progress()
@@ -1367,14 +1383,19 @@
},
{
// https://drafts.csswg.org/css-borders-4/#corner-shaping
- name: "CSSCornerShape",
- status: "stable",
+ name: "CSSCornerShapeInsetBoxShadowFollowsContour",
+ status: "test",
},
{
// https://drafts.csswg.org/css-borders-4/#corner-shaping
name: "CSSCornersShorthand",
status: "experimental",
- depends_on: ["CSSCornerShape"],
+ },
+ {
+ // https://drafts.csswg.org/css-lists-3/#counter-reset
+ // https://crbug.com/40760770
+ name: "CSSCounterResetReversed",
+ status: "experimental",
},
{
// Unprefixed cross-fade() (in addition to the existing -webkit-cross-fade()).
@@ -1489,6 +1510,14 @@
name: "CSSLineClampLineBreakingEllipsis",
depends_on: ["CSSLineClamp"],
},
+ {
+ // Implements `counter-increment` and `counter-set` for the non-