0
Commit Graph

114579 Commits

Author SHA1 Message Date
b3725574f7 [DNT] Disable a flaky test
Fixed: 376867441
Bug: 379166889
Change-Id: Iec31960382ae113ceb0342bc4a5dd8c36678f0b1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6021966
Commit-Queue: William Liu <liuwilliam@chromium.org>
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383290}
2024-11-14 22:45:45 +00:00
67d8019122 [tracing] Add background tracing metadata datasource
Because TraceEventMetadataSource only works when stopping the trace,
metadata doesn't get collected on clone.
This CL adds a data source to emit background tracing metadata, and
fixes issues with MetadataDataSource.

bug: b:368380444, b:374302723
Change-Id: I66776befb4f4e41240d7c11dc73fbd4a77b2d2a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6020030
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383256}
2024-11-14 21:52:47 +00:00
21cc8058ef [DC] Introduce feature flags to control digital credential creation
This CL adds the followings:
- base:Feature to control the logic on the browser side.
- Runtime Feature to control the corresponding renderer side.
- about://flags flag to control both features.

No logic is added in this CL.
Logic will be in follow-up CLs.

Bug: 378330032
Change-Id: I5d7d30442d3c8478697ef1d4a17ce46e696b694f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6012398
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Yi Gu <yigu@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383223}
2024-11-14 21:07:55 +00:00
408052b7bf Reland "Add CrashReporterClient::GetProductInfo(ProductInfo*)"
This is a reland of commit 49d3a5a2bc

This reland fixes the compile errors on casto builds.
See patchset 1..2 for diff.

Original change's description:
> Add CrashReporterClient::GetProductInfo(ProductInfo*)
>
> This method unifies the other two existing GetProductNameAndVersion()
> functions, simplifying the CrashReporterClient interface.
>
> This is a step towards providing an interface for accessing product info
> through crash_export_thunks, which will be used in JS Error reporting on
> Windows.
>
> Bug: 40149439, 374696525
> Low-Coverage-Reason: TESTS_IN_SEPARATE_CL, the new interface will be used in future CLs.
> Change-Id: Ic198b69764721b7d03cf71fb9f79a8392fe3d8d1
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6012865
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Commit-Queue: Keren Zhu <kerenzhu@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Reviewed-by: Nate Fischer <ntfschr@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1382090}

Bug: 40149439, 374696525
Change-Id: I4b1ad56c84081736e1df5051706bbd9695727c58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6012631
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Reviewed-by: Vigen Issahhanjan <vigeni@google.com>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Keren Zhu <kerenzhu@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383219}
2024-11-14 21:05:39 +00:00
9d0b5dfab5 Remove kPepperSharedBitmapToSharedImage
This feature is enabled by default since M130.

Bug:368085612,40064122

Change-Id: I603e7324291b65da2124f642d6dce045dd13bd0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6023990
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Maggie Chen <magchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383218}
2024-11-14 21:05:03 +00:00
cd1a01a976 [ios] Fix failure building content_shell
Update constructor for NativeFileInfo to pass an
additional argument in.

Change-Id: Idb47835665af8bb34b28f345fa8d05ebee615a2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6019826
Reviewed-by: Ian Vollick <vollick@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383200}
2024-11-14 20:46:18 +00:00
62033d0bc6 [Android] Disable in 14+ almost all of ChildProcessLauncherHelperTest
It's already disabled de facto in most configs by then filter, but that
misses some bots where these tests are failing 1st try. Definitely need
to look into this since it looks like functionally different on 14+.

- testWarmUp
- testWarmUpWithBindToCaller
- testWarmUpProcessCrashBeforeUse
- testWarmUpProcessCrashAfterUse
- testWarmUpPrivilegedProcess
- testLauncherCleanup

Bug: 354765949
Change-Id: I287a297f2f6a7d9542929a82245d5e32ba871041
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6022580
Reviewed-by: Mohamed Heikal <mheikal@chromium.org>
Owners-Override: Henrique Nakashima <hnakashima@chromium.org>
Auto-Submit: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383150}
2024-11-14 19:30:44 +00:00
c539edf873 [Tracing] Simplify CustomEventRecorder and fix the category check
Removes obsolete methods and extra task posting that are no longer
necessary since SDK migration.

Also avoids checking the legacy part of the config for category
status, because this leads to inconsistencies. The legacy config is
only used to specify the explicit list of histograms if it's present.

Bug: 343404899
Change-Id: I213eb6d9a5bdff74f8a2f6428542870625f79802
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6022939
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Commit-Queue: Mikhail Khokhlov <khokhlov@google.com>
Cr-Commit-Position: refs/heads/main@{#1383117}
2024-11-14 18:36:38 +00:00
057ded89b5 Protected Audience: UMA for IdleProcessExpired
This UMA will help us understand if Finch flag "FledgeStartAnticipatoryProcesses" is starting too many processes.

Bug: 365528726
Change-Id: I29df54f798095e8b5b7b29de3604db3ff9414b6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6019863
Reviewed-by: Orr Bernstein <orrb@google.com>
Commit-Queue: Abigail Katcoff <abigailkatcoff@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383085}
2024-11-14 17:57:24 +00:00
92101d1cfe Remove launched UseMoveNotCopyInMergeTreeUpdate accessibility flag
This feature was launched to 100% Stable more than a milestone ago,
so it is safe to remove the flag. We keep the histogram that was
added as part of the experimentation because it still provides useful
performance checks for future experiments.

AX-Relnotes: N/A
Bug: 378734201
Change-Id: I23b58dae295ec48d7f4097538eef75116a50148d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6018012
Auto-Submit: Mark Schillaci <mschillaci@google.com>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383081}
2024-11-14 17:52:09 +00:00
67de4d99d0 Remove instances of announce for alerts and comboboxes for Android a11y
This CL updates the treatment of alert dialogs and comboboxes for
Android accessibility to label them as panes with a paneTitle, rather
than forcing an announcement with TYPE_ANNOUNCEMENT. The content that
was previously read by the announcement has been unchanged but moved
to the paneTitle for the node.

AX-Relnotes: N/A
Bug: 371988580, 372427591
Change-Id: Ia729e80972406bf180caf6b8a367a475df04b27a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5991190
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383074}
2024-11-14 17:37:24 +00:00
92edf2c502 Moves common apple mobile gn variables into mobile_config.gni.
Bug: 331320406
Change-Id: Ie36973281695a83093b14a26195faf81392f061e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6015178
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Rohit Rao <rohitrao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383072}
2024-11-14 17:35:16 +00:00
c402afcea3 Add metrics for preloaded WebUIs
This CL adds two metrics:
- WebUI.PreloadedUrl: This metric logs the URL of a preloaded WebUI.
- WebUI.PreloadedAndShownUrl: This metric logs the URL of a preloaded
WebUI on its first non-empty paint.

Bug: 375209495
Change-Id: I560a4ab0ea493ab7da80354be92e2f0fa2429c39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6015280
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Roman Arora <romanarora@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Keren Zhu <kerenzhu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383067}
2024-11-14 17:16:07 +00:00
05928d5547 Make customizable select <button> display:contents
This patch makes the <select> element itself handle focus, interaction,
and box decorations instead of the child <button> element. This removes
a lot of complexity, including delegatesFocus, divergent event handling
and button testing, and :-internal-select-has-child-button.

This was discussed here:
https://github.com/w3c/csswg-drafts/issues/10857

Change-Id: Ia036c6dc08be1b86a50bd96239d08ad19c9a7a6b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6001193
Reviewed-by: David Baron <dbaron@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383048}
2024-11-14 16:54:31 +00:00
5bf31084f6 [media_effects] Make sure VideoFrameMetadata is passed with data
There are a few places where `VideoFrameMetadata` is being dropped.
This CL fixes those to make sure it stays with the data.

Bug: 374900532

Change-Id: I6faa2bd8a63283baa97df5be41da0be06d66a5f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5963438
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Bryant Chandler <bryantchandler@chromium.org>
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383042}
2024-11-14 16:47:24 +00:00
14a5968c17 Pass size_t to span functions: content/
In preparation for upgrading various span args from size_t to
StrictNumeric<size_t>, this fixes type mismatches that would cause
compile errors with that change.

Bug: none
Change-Id: I9614f231bcae99159dfe7e65126b3a244e317452
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6020622
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Shunya Shishido <sisidovski@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1383027}
2024-11-14 16:23:52 +00:00
b5593d96b9 WebView Prerender: Support NoVarySearch hint
This CL implements NoVarySearch hint for WebView prerender API (Note
that the API itself hasn't been implemented yet).

- The WebView prefetch API has already implemented the NoVarySearch
  hint. To reuse helper functions, this CL moves
  GetPrefetchExpectedNoVarySearch() etc from aw_browser_context to
  aw_preloading_utils. The prerender API takes AwPrefetchParameters and
  retrievs the hint from the parameter using the functions.

- This CL also passes the additional request headers param for
  prerendering navigation from Java to C++, but actually it's not used
  in this CL. Follow-up CLs will use it.

Bug: 41490450
Change-Id: I231c0fc2406a6f413d2441230562f98722908a54
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6002156
Reviewed-by: Wayne Jackson Jr. <wbjacksonjr@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Richard (Torne) Coles <torne@chromium.org>
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: Taiyo Mizuhashi <taiyo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1383024}
2024-11-14 16:16:23 +00:00
fac576809c Disable interaction for WebContents when FedCM modal dialog is showing.
AccountSelectionModalView creates and holds an instance of
ScopedIgnoreInputEvents if and only if the dialog is showing.

Bug: 378724156, 378164285
Change-Id: I93dd734856b9163971b56c3d2ef4b6d9029c52b7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6016127
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Commit-Queue: Yi Gu <yigu@chromium.org>
Reviewed-by: Yi Gu <yigu@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382993}
2024-11-14 15:26:33 +00:00
dd99178966 Take into account boost_for_loading when using priority override
This change is a quick fix to ensure the `boost_for_loading` property
is taken into account when determining the priority of a process when
the PMProcessPriorityPolicy is enabled.

The logic will have to be properly migrated to the performance manager
in a follow-up CL.

Bug: 351953350
Change-Id: I4898b82ea4c437443567f114f3a12d14487f77a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6020349
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382972}
2024-11-14 14:53:55 +00:00
3e6efacb02 Defer forwarding redirect to attribution request helper
This cl defers forwarding redirect to attribution request helper after
additional redirect checks. This avoids Attribution Reporting response
headers being registered if the redirect would be rejected, and
aligned with the existing renderer-side handling.

Also forwards error to attribution request helper to prepare for adding
browser-side metrics for navigation-tied attributionsrc requests.

Bug: 378650089
Change-Id: I01cf063dca78a3a60ab5c52bd3b0bdc4bef039d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6006376
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Reviewed-by: Ming-Ying Chung <mych@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382949}
2024-11-14 14:16:42 +00:00
590f657645 Remove key_pressed from CaptureCallback::Capture
It's not used anywhere since the plumbing into AudioProcessor was
removed.

Bug: 377854424
Change-Id: I8428590949b8f7a059a61d24eeecea98e4ce980c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6010888
Reviewed-by: Evan Liu <evliu@google.com>
Commit-Queue: Fredrik Hernqvist <fhernqvist@google.com>
Reviewed-by: Olga Sharonova <olka@chromium.org>
Reviewed-by: Yuki Awano <yawano@google.com>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Ahmed Moussa <ahmedmoussa@google.com>
Cr-Commit-Position: refs/heads/main@{#1382916}
2024-11-14 13:42:15 +00:00
cc25ed18ff Prefetch: Prefer base::StrCat() instead of base::StringPrintf()
This CL uses base::StrCat() instead of base::StringPrintf().

It's a follow-up CL for [1].

[1] https://crrev.com/c/6014064/comment/727fbdf1_03fcfad8/

Bug: none
Change-Id: I330663fa47f6d07519582e8522216ff523b8ae70
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6022597
Auto-Submit: Ken Okada <kenoss@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Ken Okada <kenoss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382875}
2024-11-14 09:20:37 +00:00
53a777eadf Prefetch: Add UMAs BlockUntilHeadDuration2NoBias
This CL adds UMAs
PrefetchProxy.AfterClick.BlockUntilHeadDuration2NoBias.*.*, which are
variants of PrefetchProxy.AfterClick.BlockUntilHeadDuration2.*.* to
record the value even if it is zero.

Bug: none
Change-Id: I79c78d9b4f11583729d47baf656d634916e5afee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6014064
Auto-Submit: Ken Okada <kenoss@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Ken Okada <kenoss@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382843}
2024-11-14 07:39:38 +00:00
3ae2738ad4 Prepare devtools agents for using std::unique_ptr<> for pointer-like Maybe<>
This takes advantage of std::unique_ptr<>-like methods of crdtp's PtrMaybe<> instead of std::optional<>-like methods (i.e. use bool conversion instead of `has_value()` and dereference instead of `value()`).
Some parts that could have taken advantage of get() are temporarily omitted (pending on roll of https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/6021528)

This should help with transition to using std::unique_ptr<> directly instead of protocol::Maybe<>.

Bug: 40276207
Change-Id: I8dc2f66d594dafaa4f84bfa7eb94ca5630fa4935
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6021456
Commit-Queue: Alex Rudenko <alexrudenko@chromium.org>
Reviewed-by: Peter Kvitek <kvitekp@chromium.org>
Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382831}
2024-11-14 07:11:14 +00:00
4ac8035880 Add UMA for the lifetime of the spare renderers
The CL adds UMAs recording the timespan for a spare renderer to get
used.

NO_IFTTT=Adding LINT to existing enumerations.

Bug: 377808943
Change-Id: I044ddf418e55cef0256e81639112ba7752f2eb26
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6000198
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Commit-Queue: Jiacheng Guo <gjc@google.com>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382812}
2024-11-14 05:21:37 +00:00
66cdfc5919 [DNT] fallback ux when navigating between native pages
Return an empty bitmap to force a fallback screenshot when navigating
between native pages.

Bug: 376115165
Change-Id: I9385d5638a4b9e80de4a46b92a1f3b708163c7fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5986567
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Auto-Submit: Lijin Shen <lazzzis@google.com>
Commit-Queue: Takashi Toyoshima <toyoshim@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1382775}
2024-11-14 03:07:50 +00:00
a17605dfa3 Improve auction nonce header debug messages
Print error messages when handling invalid additional bid headers.

Bug: 40275797
Change-Id: I1e3f20f571c21e7ce391ae7a6378329223336f6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6013390
Reviewed-by: Ali Hijazi <ahijazi@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Orr Bernstein <orrb@google.com>
Commit-Queue: Caleb Raitto <caraitto@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382734}
2024-11-14 01:24:17 +00:00
294e45023e Pass pref as const-ref to ShouldNotifySubresourceResponseStarted().
Currently, a copy is taking place on each call, and this can be
expensive as RenderPreferences contains strings and vectors.

Change-Id: Ifdf682ed427cb08b7d9e28d4f7b3bcf34c48b0ea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6013353
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382724}
2024-11-14 01:00:19 +00:00
9c1e4e3ebe media: Remove version incompatibility fix comment
Removing the comment since its harmless to keep the fix.

Bug: 40272342
Change-Id: I3871a062b5523a1806692a2eb2a1b84958dbe3ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6020346
Reviewed-by: John Rummell <jrummell@chromium.org>
Commit-Queue: Vikram Pasupathy <vpasupathy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382699}
2024-11-14 00:24:33 +00:00
e608efe630 [gpu] Add GL performance log suppression
Suppress GL_DEBUG_TYPE_PERFORMANCE log messages for web tests that can
get sent to the JS console and cause unnecessary test failures due to
test output log expectation comparisons.

Tested by removing suppressions for tests due to such failures in PS5
and adding mac-skia-alt-arm64-blink-rel bot.

Bug: 374090995
Change-Id: Id211e17e0f92f29af2faaadb9f806323162d9437
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6018367
Commit-Queue: Saifuddin Hitawala <hitawala@chromium.org>
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382695}
2024-11-14 00:17:49 +00:00
2be62cf09b Confine enable_device_bound_sessions buildflag to //net
This CL removes usages of the enable_device_bound_sessions buildflag
outside of //net. This minimizes readability cost for the rest of the
codebase, while still fully disabling DBSC on unsupported platforms.

This requires making the source of truth for session id a member of
SessionKey, since that is built on all platforms.

NO_IFTTT=TrustedParams is excluded from prefetch: https://source.chromium.org/chromium/chromium/src/+/main:services/network/prefetch_matches.cc;drc=0d7b52b4e799da9280133abae48e073fe5645a35;l=315

Bug: 353774427
Change-Id: Ic81e8b2e4329b8fb79437114a8b65a475e2e04df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6014679
Commit-Queue: Daniel Rubery <drubery@chromium.org>
Reviewed-by: Alex Gough <ajgo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382689}
2024-11-14 00:14:18 +00:00
8563399d47 Propagate device bound session observer through //services/network
This CL allows the browser process to inject a device bound session
observer in the NetworkContextParams or
ResourceRequest::TrustedParams. This is completely analogous to the
existing observers for cookie access or shared dictionary access.

NO_IFTTT=TrustedParams is excluded from prefetch: https://source.chromium.org/chromium/chromium/src/+/main:services/network/prefetch_matches.cc;drc=0d7b52b4e799da9280133abae48e073fe5645a35;l=315

Bug: 353774427
Change-Id: I8943e2e4cad5b9f55f79d1b3a29ca296aaea2f3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6001529
Commit-Queue: Daniel Rubery <drubery@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382687}
2024-11-14 00:11:14 +00:00
68bcc95add bluetooth: Update README.md to reflect current Android code
This CL also updates three invalid links.

BUG=375245353
TEST=N/A

Change-Id: I5a3cc9f6e5b19e6d79ff96a238fc13c7963f07db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6006755
Reviewed-by: Matt Reynolds <mattreynolds@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Commit-Queue: Garfield Tan <xutan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382684}
2024-11-14 00:09:15 +00:00
dedd335793 [FedCM] Record Blink.FedCm.RpMode on UMA
It was already being recorded on UKM, but we may also record on UMA.

Bug: 362967502
Change-Id: I3ad2cbfac5b12f20ec821dc4d4aacb139d6151f1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6019149
Reviewed-by: Yi Gu <yigu@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382587}
2024-11-13 21:25:55 +00:00
0c323bfce2 [DNT] Fix same-doc nav restarts as cross-doc
By adding a `was_reset_for_cross_document_restart()` on the request, we
abort the transition whenever this happens.

R=khushalsagar@chromium.org

Bug: 378504116
Change-Id: I36a41c56cf514adb8f7ed11a838f64ec13b6d3d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6011318
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Commit-Queue: William Liu <liuwilliam@chromium.org>
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382583}
2024-11-13 21:21:10 +00:00
d32aa3d9d7 [IndexedDB] Treat frozen clients as inactive
Before this CL, a client is inactive iff it is inside the BF cache.

To support freezing, IDBDatabase now listens for the
ContextLifecycleStateChanged notification, which invokes
DidBecomeInactive when the frame is frozen, just like when the
frame enters BFCache.

In addition, whenever a transaction ends, we check if any of the
remaining transactions are blocking other clients to determine if
the client is now eligible for freezing.

Bug: 362464956
Change-Id: I4d8092bef3189e4d42124c2cb169015570e5df96
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5958727
Commit-Queue: Charlie Reis <creis@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Auto-Submit: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382575}
2024-11-13 21:12:31 +00:00
dc4f776b71 Fix DCHECK failure in B&A k-Anonymity
`FindMatchingAd` uses `HashedKAnonKeyForAdBid` to check the k-anonymity
status of the passed URL. This change moves the k-anonymity check for
the ad URL to after the check that it is included in the interest group.
This avoids failing the DCHECK in `HashedKAnonKeyForAdBid` by ensuring
we only call it if the passed URL is included in the interest group.

Bug: 41495800
Change-Id: I04883bd01a25ba67df3142d4d5e5b6a829e44453
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6019086
Commit-Queue: Russ Hamilton <behamilton@google.com>
Reviewed-by: Orr Bernstein <orrb@google.com>
Cr-Commit-Position: refs/heads/main@{#1382563}
2024-11-13 20:44:32 +00:00
f9c0e0034c Remove 'GetRandomizedResponseRate()' from delegate
Its sole purpose was to recalculate the rate in the case where the
deserialized ReadOnlySourceData lackeda value the corresponding field,
but for a while now this field should always be populated and should be
treated as corruption if not. Therefore, there's no longer any use for
this method.

Change-Id: I47b148d0f7bee04dac09d47f9d0a9630fb5ed01e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6019205
Commit-Queue: Thomas Quintanilla <tquintanilla@chromium.org>
Commit-Queue: Andrew Paseltiner <apaseltiner@chromium.org>
Auto-Submit: Thomas Quintanilla <tquintanilla@chromium.org>
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382556}
2024-11-13 20:29:03 +00:00
7e5e201d3a Use browser process's last committed URL for redirect blocked logic.
The browser should not need to trust the renderer to send the initiating
document's URL, because the IPC is already sent to the initiating
document's RenderFrameHost which knows the URL.

The initiator_url was only used for tracing, so it can also be removed
from most related APIs.

Bug: 377339178
Change-Id: Iaaf7efe7b661f0dceb61cf940af1f6f6d60cee68
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6001007
Reviewed-by: Nate Chapin <japhet@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Auto-Submit: Charlie Reis <creis@chromium.org>
Owners-Override: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Will Harris <wfh@chromium.org>
Commit-Queue: Charlie Reis <creis@chromium.org>
Reviewed-by: Varun Khaneja <vakh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382551}
2024-11-13 20:23:29 +00:00
2c05d700df Add more test coverage for aggregatable debug reporting on trigger
registrations

Change-Id: I6a17ecfa5a613dc7127d1cef65043c4305ee15c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6017671
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382548}
2024-11-13 20:17:40 +00:00
7a4bdf2416 [views-ax] Migrate kname in root view
This CL updates the kName attribute in the root view to be updated
whenever its value changes, rather than being queried and computed
only when needed.

The migration involves couple of steps:

1) Migrating `GetAccessibleNodeData` in the Root View class:
Apart from the standard migration since the name depends on both
the widget and the widget delegate classes, we need to ensure the
name is computed once these are available. To achieve this, we
create a function `UpdateAccessibleNameForRootView` in the widget
class, which is explicitly called once the widget and widget
delegate are ready.

However, further complexity arises from the virtual function
`GetAccessibleWindowTitle` in the widget delegate class which is
used in the original `GetAccessibleNodeData` of root view class.
This function, which essentially provides the accessible name for
the root view, is overridden by 27 child classes of the widget
delegate. Many of these require special handling, meaning it’s
not sufficient to call our update function during the root view’s
constructor or the widget/widget delegate initialization.
This leads us to step 2.

2) Migrating `GetAccessibleWindowTitle` in the child classes of the
widget delegate: We explicitly call
`UpdateAccessibleNameForRootView` wherever necessary.
This involves examining each of the 27 implementations of
`GetAccessibleWindowTitle` to determine what changes the accessible
name and updating the root view’s name in the cache accordingly.
Special attention was given to find_bar_host.cc and browser_view.cc,
as their computations sometimes depend on the accessible name of
the active tab and web contents.

3) Addition of unit tests to verify that root view's accessible
name is indeed getting updated in various scenarios.

Additionally, the test navigation-api-expected-auralinux.txt was
updated in this CL as well. The newly added `UpdateAccessibleName`
function triggers a NotifyEvent of kTextChanged, indicating that
the window/document name has changed.
This event is now included in the dump accessibility test.

This CL is part of the ViewsAX project:
https://docs.google.com/document/d/1Ku7HOyDsiZem1yaV6ccZ-tz3lO2XR2NEcm8HjR6d-VY/edit#heading=h.ke1u3utej413

Bug: 325137417
Change-Id: Ia09593b181781127e5d70c8e82205a608b212b92
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5910905
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Elly FJ <ellyjones@chromium.org>
Commit-Queue: Divyansh Mangal <dmangal@microsoft.com>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382543}
2024-11-13 20:09:43 +00:00
96ac3d1ebb Remove AttributionReportingAggregatableFilteringIds
The feature was default enabled in M128.

Change-Id: I66c2bd20ee2fb6c1d05f122f85edc18b8ca9625b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6019343
Reviewed-by: Andrew Paseltiner <apaseltiner@chromium.org>
Commit-Queue: Nan Lin <linnan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382522}
2024-11-13 19:41:22 +00:00
3ee514eb53 Make AuctionWorkletManager wait for SellerWorkletLoaded() callback.
When the browser-side trusted scoring signals cache is enabled, and
an AuctionWorklet that needs cross-origin KVv2 signals is created,
this CL delays invoking the AuctionWorklet creation callback until
the SellerWorkletLoaded() callback has been invoked, informing the
WorkletOwner of whether or not trusted signals can be fetched from
the provided URL.

It also adds an API to provide this information.

In a followup CL, when the cache is enabled for KVv2 signals,
the InterestGroupAuction will check this value before requesting KVv2
signals and calling ScoreAd() on the worklet. When signals are not
allowed, the current plan is either to create an entry in the cache
with an error message, and pass the key to access that to ScoreAd(),
or possibly just pass in the error directly to ScoreAd().

Change-Id: I583096be1f824214cad43c2a120dc59c7c093f72
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6000401
Reviewed-by: Russ Hamilton <behamilton@google.com>
Commit-Queue: mmenke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382501}
2024-11-13 19:15:22 +00:00
dd984fd6ea Add cache support to the AuctionWorkletService Mojo scoring signals API
Version 2 of the Protected Audiences trusted signals API uses
encrypted requests to and responses from a TEE, which cannot be
cached using HTTP semantics because of the layer of encryption on
top of HTTPS. To solve this, we're implementing a browser side
cache which the worklet service can pull directly from.

This CL plumbs through the IDs needed to access the cache through the
ScoreAd() calls. These IDs are passed through (already wired up)
pipes to fetch the signals needed for each score ad call. These
pipes are origin bound, so the browser-side can detect if a worklet
is requesting signals not bound to it.

Additionally, this CL adds a Mojo API allowing the seller to indicate
when the browser process can request signals, in the case the signals
URL is cross-origin to the seller. To get this information, the
worklet process requests the script it will run, and parses a
special HTTP header to determine what origins it can receive signals
from, compares it against the trusted signals URL, and returns
whether the origin of the trusted scoring signals URL appears in that
list of origins. This needs to be done before the ScoreAd() call,
so a new pipe is passed in to handle returning this information,
passed in when a seller worklet is constructed.

Bug: 333445540
Change-Id: I9eed83b4dc6f71183ca442b4c4be29d45a454f44
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5996171
Commit-Queue: mmenke <mmenke@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Cr-Commit-Position: refs/heads/main@{#1382489}
2024-11-13 19:01:30 +00:00
3de7f1b818 Remove legacy getStats vestiges from PeerConnectionTracker
BUG=40090820

Change-Id: I37efbcfd4193a3b63996f8b6ae07b65580acd8f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6008766
Reviewed-by: Dominic Farolino <dom@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382486}
2024-11-13 18:59:49 +00:00
8564233d27 Revert "webauthn: add a basic implementation of conditional create requests"
This reverts commit 34be495626.

Reason for revert: Original CL triggered a tree-blocking failure on the Linux MSan builder (https://cr-buildbucket.appspot.com/build/8731360337266560177)

Original change's description:
> webauthn: add a basic implementation of conditional create requests
>
> For WebAuthn create() requests with mediation='conditional', the browser
> can create a credential and resolve the request promise without any user
> interaction, if the user has previously agreed to create credentials and
> the browser has recently mediated an authentication.
>
> In Chrome's implementation, we create a credential in GPM if the
> following conditions are true:
> - The user has a matching password in GPM for the same username that can
>   be filled on the site making the WebAuthn request.
> - The password has recently been used.
>
> To handle conditional create requests, this change adds a new request
> controller class that inherits from DocumentUserData. The request
> controller is responsible for determining whether a matching password
> exists, driving interaction with the enclave, and showing post-request
> confirmation UI (not yet implemented).
>
> The GPMEnclaveController, which usually drives enclave interactions for
> WebAuthn requests, is not instantiated for conditional create requests,
> since it is tightly coupled with the modal UI.
>
> The implementation is gated on the default-disabled
> `kWebAuthnGpmPasskeyUpgrade` feature flag.
>
> Blink Intent To Prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/XFJmqtQpMds
>
> Change-Id: I723ef3115cd00e39df721443a64df46fc0f38aea
> Bug: 377758786
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6013246
> Reviewed-by: Kent Tamura <tkent@chromium.org>
> Reviewed-by: Adam Langley <agl@chromium.org>
> Reviewed-by: Ken Buchanan <kenrb@chromium.org>
> Commit-Queue: Martin Kreichgauer <martinkr@google.com>
> Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1382464}

Bug: 377758786
Change-Id: I6412ccbc76275a71c204fe145cea16934fbaec25
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6017269
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Khalid Peer <khalidpeer@chromium.org>
Owners-Override: Khalid Peer <khalidpeer@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1382485}
2024-11-13 18:59:10 +00:00
34be495626 webauthn: add a basic implementation of conditional create requests
For WebAuthn create() requests with mediation='conditional', the browser
can create a credential and resolve the request promise without any user
interaction, if the user has previously agreed to create credentials and
the browser has recently mediated an authentication.

In Chrome's implementation, we create a credential in GPM if the
following conditions are true:
- The user has a matching password in GPM for the same username that can
  be filled on the site making the WebAuthn request.
- The password has recently been used.

To handle conditional create requests, this change adds a new request
controller class that inherits from DocumentUserData. The request
controller is responsible for determining whether a matching password
exists, driving interaction with the enclave, and showing post-request
confirmation UI (not yet implemented).

The GPMEnclaveController, which usually drives enclave interactions for
WebAuthn requests, is not instantiated for conditional create requests,
since it is tightly coupled with the modal UI.

The implementation is gated on the default-disabled
`kWebAuthnGpmPasskeyUpgrade` feature flag.

Blink Intent To Prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/XFJmqtQpMds

Change-Id: I723ef3115cd00e39df721443a64df46fc0f38aea
Bug: 377758786
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6013246
Reviewed-by: Kent Tamura <tkent@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Martin Kreichgauer <martinkr@google.com>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382464}
2024-11-13 18:33:55 +00:00
0e10a99c64 Disable Windows Scrolling Personality features in code
This is the first CL in the series to remove Windows Scrolling
Personality (WSP) features, particularly percent-based scrolling and
impulse scroll animation.

Completed steps in the CL:

  1. Removed WSP about flags entry.
  2. Disabled features in code, including checks:
     - IsImpulseScrollAnimationEnabled() in cc/base/features.cc
     - IsPercentBasedScrollingEnabled() in ui/base/ui_base_features.cc
     - isPercentBasedScrollingEnabled() in ../percent-based-util.js

     Most of the code will be deleted in future CLs to keep the change
     size relatively small.

  3. Removed some WSP-specific unit tests that explicitly enable the
     feature flag.
  4. Removed WSP-specific virtual test suites and updated test
     expectations.
  5. Removed WSP-specific web tests.

Bug: 359747082
Change-Id: I965b722a83b205503c314fd9f6cd4dd3455abc90
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6002351
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Peter Boström <pbos@chromium.org>
Reviewed-by: Olga Gerchikov <gerchiko@microsoft.com>
Reviewed-by: Rahul Arakeri <arakeri@microsoft.com>
Commit-Queue: Yaroslav Shalivskyy <yshalivskyy@microsoft.com>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382457}
2024-11-13 18:20:25 +00:00
14efa30227 Replace sandormajor@google.com with sandormajor@chromium.org
Change-Id: I65a2b6016023c3457992b434f7d962e6b8e2c84e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6012329
Auto-Submit: Sandor «Alex» Major <sandormajor@chromium.org>
Reviewed-by: Chris Fredrickson <cfredric@chromium.org>
Commit-Queue: Yann Dago <ydago@chromium.org>
Reviewed-by: Yann Dago <ydago@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382451}
2024-11-13 18:13:08 +00:00
571dee7f83 Skip on-demand postMessage proxy creation for same-FrameTree messages.
When a cross-process postMessage is sent between frames in the same
FrameTree, there is no need to run the on-demand proxy creation code
in CreateOpenerProxies, because all frames within the same FrameTree
should already have proxies to one another, as they can always walk
the frame tree to reference one another. So, we can skip
CreateOpenerProxies in this case. This is a performance optimization,
since there've been reports that CreateOpenerProxies may take a
non-trivial amount of time for complex frame trees. The remaining
cases where proxies should be created would involve window.open() and
openers, which are much less common.

This change should bring down the cross-process postMessage processing
time measured by SiteIsolation.CrossProcessPostMessageTime, and also
cut down the percentage of cases that create on-demand proxies, measured
by SiteIsolation.CrossProcessPostMessage.CreateOpenerProxiesCalled which
is added in this CL.

Bug: 339512240, 41412256
Change-Id: Ib56d405bdcb5bb963798f139c976c074b584bfde
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6005048
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Commit-Queue: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1382439}
2024-11-13 17:59:59 +00:00