If the LightweightFedCM flag is enabled, use accounts that have been
pushed via navigator.login.setStatus; if present, skip the accounts
endpoint fetch.
If the LightweightFedCM flag is enabled, treat the accounts endpoint as
optional when validating the FedCM configuration.
Bug: 365798049
Change-Id: I2f57ac4b44e051e3a0d0de71027e9373313538f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6333806
Reviewed-by: Nicolás Peña <npm@chromium.org>
Auto-Submit: Erica Kovac <ekovac@google.com>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437695}
The ::checkmark pseudo-element has its contents populated via the
content property. The value of the content property can have an
additional argument provided to set the accessible name, which we
currently set to an empty string by default to hide it from the a11y
tree.
The value isn't important because I think the checked state of the
option element is already provided in a different way, and announcing a
checkmark icon is not helpful.
Based on this discussion, we should do this by default for the
::checkmark pseudo without requiring the author to also set the
accessible name to the empty string:
https://github.com/mdn/content/pull/38470#discussion_r2008010426
Fixed: 405946933
Change-Id: I983b1e7dff879f2c1a2184c505046d0581f93380
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388535
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437677}
Before this patch, when WebView settings turned off PaymentRequest, it
could be feature-detected through the use of the canMakePayment() API in
WebView, but the standard feature detection of checking whether
window.PaymentRequest is defined was not available.
This patch removes the direct mapping from kWebPayments feature flag to
RuntimeEnabledFeatures in runtime_features.cc and instead adds a
WebPreferences field `payment_request_enabled`.
On the browser side, WebContentsImpl sets `payment_request_enabled` to
the value of the kWebPayments feature flag on all platforms, while
AwSettings sets `payment_request_enabled` to true only if kWebPayments
and the WebView setting both enable it.
On the renderer side, Blink's WebViewImpl enables PaymentRequest when
the `payment_request_enabled` web preference is enabled.
After this patch, when WebView settings turn off PaymentRequest, that
can be feature-detected by checking whether window.PaymentRequest is
defined.
Design doc (public):
https://docs.google.com/document/d/1yS2_LykHMhSTHr_oX9gtHgE8WS0x5QYtdg_k_8XBUj8
Fixed: 403310745
Change-Id: I95a6f6b8691249a88bd02bb3ec45c949dd2a2477
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354203
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Nick Navarro <npnavarro@chromium.org>
Auto-Submit: Rouslan Solomakhin <rouslan@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Rouslan Solomakhin <rouslan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437645}
The AllowSoftwareGLFallbackDueToCrashes feature controls if the GPU
process will fall back to software GL (SwiftShader or WARP) due to
repeated crashes.
The SOFTWARE_GL mode is still added to the list of
fallback modes because it is part of the normal flow for blocklisted
GPUs.
Bug: 402494900
Change-Id: I6f178d612b98874d3469b1a2a083b78bc1338429
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6362999
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437571}
We're adding caching logic to Protected Audiences trusted key value
version 2 requests, which use a very different flow from the
non-cache path. This CL enhances and renames a pre-existing
DeclarativeNetRequestBrowserTest to make sure TKVv2 requests are
wired up to extensions.
This CL moves privacy_sandbox_coordinator_test_util.h, needed to set
up a coordinator to enable these fetches, to content/public/test/,
and makes InterestGroupManagerImpl::AddTrustedServerKeysDebugOverride()
a member of InterestGroupManager.
It splits DeclarativeNetRequestBrowserTest.FledgeAuctionScripts in
two, since leaving it as a single test resulted in unexpected failures
that seem unrelated to the changes to the test - an extension
seems to have stopped redirecting requests not modified by this CL
for some reason. The test was not flaky before, but flaked twice
on Android before being split up.
Bug: 330322161
Change-Id: If3fd113cce8ed6ef7dae7853312cb8f3a5be3d43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6330419
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Kelvin Jiang <kelvinjiang@chromium.org>
Commit-Queue: mmenke <mmenke@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Reviewed-by: Kevin Graney <kmg@google.com>
Cr-Commit-Position: refs/heads/main@{#1437524}
Route the diagnostics dictionary to Chromium.
The diagnostics dictionary is not in itself a capability,
it is a concept that exists at the component framework level
and exists to ensure that a bundle of capabilities is routed between
different components in the system. It is not necessary for those
components, or child processes to "use" specific capabilities from
that bundle. This merely changes how the existing capabilities are
routed and ensures that all components in the component hierarchy
receive the capabilities in the bundle, allowing child components
that want to use a capability added in the future to easily
use it from that bundle without requiring that all components
in the hierarchy are explicitly updated to route it.
Cq-Include-Trybots: luci.chrome.try:fuchsia-smoke-sherlock
Fixed: 376922343
Change-Id: I22a5ede694c3088c015d626753569a5d699ab378
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354008
Commit-Queue: Brian Bosak <bbosak@google.com>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Zijie He <zijiehe@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437522}
This reverts commit b5ce6f437f.
Reason for revert: Flakily broke many content_browsertests on Fuchsia, see crbug.com/406167287
Original change's description:
> Fix explicitly requesting D3D11 WARP by the command line.
>
> The --use-angle=d3d11-warp flag was not working without also enabling
> the AllowD3D11WarpFallback feature, the flags for warp and swiftshader
> would both be added to the command line.
>
> Clean up logic for setting software GL command line arguments from the
> browser process and respect the requested GL implementation if one is
> provided by command line.
>
> Bug: 402163834
> Change-Id: I8fdea87be0ce957df6fd33cf3d8f0aed3891c4da
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6377726
> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1436956}
Bug: 402163834, 406167287
Change-Id: I00fccd86edfdfee027c93811dd172fa033a52dcb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387706
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Marc Treib <treib@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437457}
Makes the following changes to test generation in the Webcodecs
integration test file:
1. Switches to f-strings
2. Converts nested loops to itertools.product()
3. Adds trailing commas to improve the behavior of "git cl format"
Bug: 405148966
Change-Id: I07e259b42d4c05baf5a3abef3182a24fd0bf5d9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388959
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437417}
This policy provides a way to disable the HappyEyeballsV3 feature.
Since the network stack (especially the DNS stack) share the same
settings among profiles, the policy isn't per-profile. The policy
supports dynamic refreshing.
Bug: 401410305
Change-Id: I0012d645b5f197d4447e5dcc66b89f171a11732d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6333373
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Owen Min <zmin@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437293}
This CL introduces the feature flag
WebAudioRemoveAudioDestinationResampler. When enabled, this flag
bypasses the resampling step within the AudioDestination node. This
allows the AudioService to handle resampling, potentially reducing
latency and overhead. Additionally, GetOutputBufferSize has been
modified to scale hardware buffer sizes and enforce minimum and maximum
buffer size limits.
Design Doc: go/webaudio-sample-rate-reconciliation
Bug: 374797496
Change-Id: I91c2d3064ded355b09309da11589be4d8ae2f04d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6279011
Commit-Queue: Alvin Ji <alvinji@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Eugene Zemtsov <eugene@chromium.org>
Reviewed-by: Michael Wilson <mjwilson@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437249}
This is similar to https://crrev.com/c/5785518, but specifically targets
Google Search.
This metric will help us understand the P90 latency between FetchStart
and RequestStart, as described in go/no-yield-analysis (internal
document).
Instead of directly recording a histogram in HttpNetworkTransaction
[^1], this CL plumbs timing information (stream initialization delay)
as part of LoadTimingInternalInfo, and then records the histogram
in GWSPageLoadMetricsObserver.
The purpose of using GWSPageLoadMetricsObserver is to ensure that
metrics are recorded under the exact same conditions as other metrics
which use GWSPageLoadMetricsObserver. This ensures consistency and
allows for better comparisons down the road.
LoadTimingInternalInfo is a new structure I'm introducing to group
internal load timing information. We typically put timing information in
LoadTimingInfo, but that should be reserved for web-exposed data.
The key difference between LoadTimingInfo and LoadTimingInternalInfo is
that LoadTimingInternalInfo is only provided if the request has
`trusted_params` (that is, the loader is trusted).
LoadTimingInternalInfo will be used to group other internal load timing
data that we want to measure in the future.
[^1]: https://crrev.com/c/6332172
Bug: 359404121,393980912
Change-Id: If9feabae35c14b416602040ca24b6d6cc66f9e68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6335162
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Shunya Shishido <sisidovski@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437230}
As determined largely by buildbots, land this set before
looking for remainders.
-- Exempt one directory where re-generation of a file removed
a suppression to avoid future problems on next regeneration.
Change-Id: Ic64fafd5afebf4d74a283c7b45beb665c3f92f8f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6383916
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Owners-Override: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437194}
When querying for decoding info, if keySystemConfiguration is specified,
Chromium returns supported for invalid HDR metadata. We now adjust the
code to verify clear playback checks first, and then check EME support.
testing: Add function testVideoConfigWithHdrMetadataAndKeySystem, and
without the modification to media_capabilities.cc, the added test to
MediaCapabilities Browsertest fails. With the change, it passes.
Bug: 399133251
Change-Id: Ibbe20fadda16c6568171d780a62d92e7e7cdd228
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6364074
Commit-Queue: Vikram Pasupathy <vpasupathy@chromium.org>
Reviewed-by: John Rummell <jrummell@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437156}
Adds a new DWA metric paralleling the existing
PrivacySandbox.AggregationService.ReportSender.Status UMA metric.
As a drive-by, converts some const GURL& arguments to GURL to avoid
unnecessary copies.
Bug: 403319682
Change-Id: I14e469e62920e633b179499ef29c0ca6389e00e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6356607
Reviewed-by: Dan McArdle <dmcardle@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Alex Turner <alexmt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437131}
This CL adds a browser test that performs a scroll and checks basic
correctness of the scroll jank instrumentation:
* `chrome_scroll_update_info` is not empty;
* at least one frame is marked as is_first_scroll_update_in_frame
(and is_first_scroll_update_in_scroll -> is_first_scroll_update_in_frame);
* at least one frame is marked as is_presented
(and has presentation_timestamp);
* the sequence of timestamps for the sequence of stages is increasing;
* there are no negative durations;
* the scroll update ids are unique.
Bug: 365766910
Change-Id: I30e2795662c806eeb6a557c10044eca8f8498ca2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6278092
Reviewed-by: Francois Pierre Doray <fdoray@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Petr Cermak <petrcermak@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437091}
Adds sobel matching to the Pixel_SVGHuge test since new images are
occasionally generated with minor differences along the edges.
Also drive-by removes a long-expired grace period for a nearby test.
Bug: 41495981
Change-Id: Ie043ffdb44b9999c07b8bc69d7f071acb9e2f4e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388438
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437083}
This CL switches to using `CreateTaskRunnerForResource()` when the BTM
service is using a persistent/on-disk database, avoiding a scenario
where a new (different) task runner is used to open the BTM db while the
original task runner is in the process of closing it.
`CreateTaskRunnerForResource()` prevents this by only creating a new
task runner if there isn't already one associated with the db file. If
there is already a task runner associated with the db file, it returns a
reference to that one.
Reusing the same task runner means the task to open the db won't start
until the task to close it has completed.
Bug: 369635654
Change-Id: I780ceced23d01c3e1441f0ad8c1802ade4a59c0e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6386752
Reviewed-by: Ryan Tarpine <rtarpine@chromium.org>
Commit-Queue: Joshua Hood <jdh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437050}
Converts older style string formatting to f-strings in a handful of
files under //content/test/gpu. Newer pylint versions have a check for
this enabled by default, and we have been largely using f-strings since
switching to Python 3, so this is an opportunity to get all GPU code
consistent.
Bug: 405148966
Change-Id: Ic0f7058affb684754a8590350e516936d8338a64
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6383525
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1437037}
Also removes a TODO. It's not possible to move content flags into their
own files at the moment because we use `content_features.h` to generate
flags for Android. If we want to move flags into their own file we need
more infra to generate content features for multiple files.
Bug:390201797
Change-Id: Iadadf268f2d525358d4263ef0002eb2dc0b212be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6354039
Commit-Queue: Giovanni Ortuno Urquidi <ortuno@chromium.org>
Reviewed-by: Svend Larsen <svend@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436995}
Presence of there being a k-anon winner doesn't actually require
there being a non-k-anon one in some circumstances --- an added
testcase demonstrates it.
(I think it was adjusted incorrectly when k-anon was added)
Fixed: 367302752
Change-Id: I20c15c2056574640c0ba00248759fc721bd226fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387681
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Cr-Commit-Position: refs/heads/main@{#1436989}
This adds a new Local Network Access permission context, request type,
and a new OnLocalNetworkAccessPermissionRequired() method on
URLLoaderNetworkObserver to let a caller trigger the actual permission
request (mirroring how the previous
OnPrivateNetworkAccessPermissionRequired() calls work).
Actually hooking up this call to the LNA enforcement logic will be added
in crrev.com/c/6363614 which modifies the network service code.
The permission type was added in crrev.com/c/6325710. Page Info and
ContentSettings integrations were added in crrev.com/c/6330700.
Bug: 400455013
Change-Id: I04b5ac0b06312d6dc1b9e02b66691418864a10dd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6337340
Reviewed-by: Andy Paicu <andypaicu@chromium.org>
Reviewed-by: Hubert Chao <hchao@chromium.org>
Auto-Submit: Chris Thompson <cthomp@chromium.org>
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Chris Thompson <cthomp@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Reviewed-by: Camille Lamy <clamy@chromium.org>
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: mmenke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436976}
The --use-angle=d3d11-warp flag was not working without also enabling
the AllowD3D11WarpFallback feature, the flags for warp and swiftshader
would both be added to the command line.
Clean up logic for setting software GL command line arguments from the
browser process and respect the requested GL implementation if one is
provided by command line.
Bug: 402163834
Change-Id: I8fdea87be0ce957df6fd33cf3d8f0aed3891c4da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6377726
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436956}
Given that the RequestStorageAccess API specifically exposes the ability
to create unpartitioned Blob URLs by getting a StorageAccessHandle,
create an unpartitioned blob URL using the handle's CreateObjectURL
method, and then fetch it, it makes sense to ensure that contexts that
have been granted storage access can bypass the blob URL partitioning
check.
Bug: 399308041, 399769596
Change-Id: Ia47e815c819c39e6a6ce00aa0c8c6617173ea742
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6313600
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Yann Dago <ydago@chromium.org>
Commit-Queue: Janice Liu <janiceliu@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Auto-Submit: Janice Liu <janiceliu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1436948}