Fork ExternalBeginFrameSourceMojo to an iOS specific variant so that we
don't have to unnecessarily wait for previous frame's BeginFrameAck.
This uses a new IssueExternalBeginFrameNoAck mojo API.
With this new variant, Motionmark is able to see 60fps in its frame rate
detection phase.
Change-Id: I4a415f2388a3855db963ca8c6d8f825e20fff36b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6398086
Reviewed-by: Alex Gough <ajgo@chromium.org>
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439376}
Official Chrome builds do not dump crash stack trace to console due to
security concerns. However, Chrome for Testing does not report crashes
via BreakPad/CrashPad like regular Chrome, so CfT crashes are silent.
Since security expectations for Chrome for Testing are much lower than
that of the regular Chrome, we can safely enable console crash stack
trace in official CfT builds.
Bug: 391306181
Change-Id: I7977ee55d9be4f3bec346dad24e70f0cbc31f61f
Cq-Include-Trybots: luci.chromium.try:linux-rel-cft,win-rel-cft
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6403433
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Peter Kvitek <kvitekp@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439369}
CanvasNoiseTokens should regenerate after a user clears site data. Add
CanvasNoiseToken regeneration. Add unit and browser test to test
CanvasNoiseToken updates upon site data removal.
Bug: 402088092
Change-Id: I83ca9a7939188f9ebaceb43bfcbd5364cf5baab4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6393899
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Tom Van Goethem <tov@chromium.org>
Reviewed-by: Antonio Sartori <antoniosartori@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439352}
The current auto-disable code is not compatible with
ScopedAccessibilityMode. Rather than try to fix code that we're
throwing away, I'm removing the failing tests. Will finish
removing the old auto-disable later (after that will go with
lazy disable approach, aka keep the mode, but don't automatically
apply to new page loads).
Bug: none
Change-Id: I980e1d36683bca3e56bd0aebb330f29def49dd44
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6394443
Commit-Queue: Greg Thompson <grt@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Auto-Submit: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439274}
Before this CL: Chrome was converting the wallet response to a string
before returning it to the website.
After this CL: The response is returned as an object.
This change has been applied to all layers requiring the response to be
always an object and therefore many tests had to be updated to use
proper dict JSON instead of just a string, which is aligned to the
production code.
Bug: 357100947
Change-Id: I52c11e6f038cb66a9253e06d9b1d5f4c64aa83a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6341027
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439250}
This CL introduces speculation rules tags merging for non-eager
prefetch. `PreloadingDecider` will generate the merged tags
by`GetMergedSpeculationTagsFromSuitableCandidates` and assign to the
first matched candidate as the other candidates will be skipped by the
current preloading algorithm.
The WPTs and speculation rules tag merging for non-eager prerender
and eager prefetch/prerender will be included in follow-up CLs.
For more details about the spec:
https://github.com/WICG/nav-speculation/blob/main/speculation-rules-tags.md#realistic-example
Bug: 381687257
Change-Id: I259fbd17ac6f0d02de74fe87fca1bf18f4d026be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6389176
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Huanpo Lin <robertlin@chromium.org>
Reviewed-by: Taiyo Mizuhashi <taiyo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439228}
As discussed at crrev.com/c/6238439/comment/fb22b7bc_c8962d32/, we know
that our process reuse strategies for COOP sometimes fail.
This CL introduces a dedicated UMA to record the result of each attempt
to reuse a process categorized into each reuse types, to see how
frequent the reuse fails in a real world.
NO_IFTTT=Introducing a new rule
Bug: 41492112, 40254888
Change-Id: I588d0533301b926a41822cd2a8d7707068b30234
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6389216
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Taiyo Mizuhashi <taiyo@chromium.org>
Reviewed-by: Jiacheng Guo <gjc@google.com>
Cr-Commit-Position: refs/heads/main@{#1439226}
Currently when the user unselects an item in a listbox, there is no
spoken feedback. This CL provides the selectionMode for CollectionInfo.
This allows TalkBack to understand if this item is "selectable" and
announces "not selected" state when the user unselects an item.
Unlike "isCheckable", there is no Android API for "isSelectable".
Currently, TalkBack only announces "selected" when a node is selected,
and do not announce "not selected" when a node is unselected.
Otherwise, this state will be announced on nearly every node.
Before fix: http://go/scrcast/NjYxMDU2Mzg3NzU2ODUxMnxjNDIxNDNmZi0wOQ
After fix: http://go/scrcast/NDgzOTYwNjY1Nzc0NDg5NnwwY2Q0MzE4My04Zg
Bug: 391469359
Change-Id: I4ccd89e8ed0651e38cbdbd2beadc7d6335bb8a56
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6395116
Reviewed-by: Mark Schillaci <mschillaci@google.com>
Commit-Queue: Wenyu Zhang <zhangwenyu@google.com>
Cr-Commit-Position: refs/heads/main@{#1439203}
Observe the RPH description and reset both the renderer channel and the
observation when the RFH is destroyed. This prevents a crash caused by
`Disconnected` being triggered after DevTools and the associated
`StoragePartitionImpl` have already gone.
Bug: 405840224
Change-Id: Iab1192ecd95f146dd1aa55b44b0cd4d21146ddcd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6381435
Reviewed-by: Leon Han <shulianghan@microsoft.com>
Commit-Queue: Lichen Liu <lichenliu@microsoft.com>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439195}
This is a preparation of https://crbug.com/406402069.
This CL factors `PrefetchService::EvictPrefetch()` out in order to call
it from a new component.
Note that this CL changes the timing of eviction a little, but it
should make no behavioral changes.
Bug: 406403063, 406402069
Change-Id: I96d1fc3e0335e805519dadbf96aaae224f240b6f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6402913
Commit-Queue: Ken Okada <kenoss@chromium.org>
Reviewed-by: Taiyo Mizuhashi <taiyo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439185}
After this CL, GetPrefetchResponseCompletedCallbackForTesting is called
after the whole PrefetchContainer::OnPrefetchComplete process is ended.
This is equivalent to the behavior before crrev.com/c/6330785. Also,
this is aligned with PrefetchStatusListener's timing.
Re-enable the tests that were not worked after above change.
Fixed: 404623209
Change-Id: I0afd215cfe2fe05553100c682ba0d3a97e243bff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6396182
Auto-Submit: Taiyo Mizuhashi <taiyo@chromium.org>
Commit-Queue: Ken Okada <kenoss@chromium.org>
Reviewed-by: Ken Okada <kenoss@chromium.org>
Commit-Queue: Taiyo Mizuhashi <taiyo@chromium.org>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439178}
This ensures DevTools receives notifications for the (intended)
individual methods within the transactional `batchUpdate()` method,
maintaining consistency with the legacy implementation.
Bug: 404568020
Change-Id: I6ceb26d74280bdbd6b8d543facd0685bbc24f5cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6405937
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Commit-Queue: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439170}
Add new commands to CDP BluetoothEmulation to support adding and
removing service from a fake peripheral.
This CL also adds BluetoothHelper class for CDP bluetooth tests to share
common utility functions and constants.
Bug: 41484719, 398026438
Change-Id: I7b8c094b6ed79d147e43dea69f9fc403322d4c9e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6394896
Reviewed-by: Matt Reynolds <mattreynolds@chromium.org>
Commit-Queue: Jack Hsieh <chengweih@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439168}
The RendererSideContentDecoding feature allows the network service to
skip decoding response bodies (e.g., handling `Content-Encoding: gzip`),
delegating this task to the client, typically the renderer process. This
is activated by setting the `client_side_content_decoding_enabled` flag
on the `ResourceRequest`.
However, enabling this feature for navigation requests caused issues.
Not all navigation responses are sent to a renderer process. For
instance, a response with a `Content-Disposition: attachment` header
triggers a download. If the network service skips decoding for such a
response, the user would incorrectly download the raw, encoded file
(e.g., the gzipped data) instead of the decoded content.
Determining within the network service whether a navigation response
will ultimately lead to a download is complex (See
`content::download_utils::MustDownload()` method). Therefore, this CL
takes a simpler, more robust approach: it disables the
`RendererSideContentDecoding` feature entirely for navigation requests.
This is achieved by removing the logic that sets the
`client_side_content_decoding_enabled` flag within
`CreateResourceRequestForNavigation`.
As a result, the network service will now always handle content decoding
for navigation responses. This guarantees that the correct, decoded
content is consistently provided, whether the response is intended for
rendering or triggers a download.
A browser test
(`DownloadContentTest.CompressedResponseWithContentDisposition`) has
been added to verify this fix. It ensures that navigating to a URL that
serves content with both `Content-Encoding: gzip` and
`Content-Disposition: attachment` results in a correctly decoded
downloaded file.
Bug: 391950057
Change-Id: I2e8bc9fb6d1c3fe3124662f62e7b403b7e1e182c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6399553
Reviewed-by: Adam Rice <ricea@chromium.org>
Reviewed-by: Min Qin <qinmin@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439161}
Signed Exchanges (SXG) must be parsed within the browser process. This
requires the network service to always decode the SXG first, handling
any `Content-Encoding` (like gzip) specified in the response headers
before forwarding the data.
The `URLRequest::client_side_content_decoding_enabled` flag allows
clients (like renderer process) to perform decoding themselves,
typically meaning the network service should skip decoding. This created
a conflict for SXG, where the network service might incorrectly skip
decoding if the flag was enabled.
This CL resolves the conflict by modifying the stream setup logic in
`URLRequestHttpJob::SetUpSourceStream`:
1. It now checks the `Content-Type` of the response.
2. If the type is `application/signed-exchange`, network-level decoding
(via `FilterSourceStream`) is applied regardless of the
`client_side_content_decoding_enabled` flag.
3. For all other content types, the
`client_side_content_decoding_enabled` flag continues to determine
whether the network service decodes or passes the encoded stream to
the client.
To correctly inform clients about *which* encodings (if any) they need
to handle, this CL also introduces
`URLRequest::GetClientSideContentDecodingTypes`. This method reports the
list of encodings that were *actually* skipped by the network service
(i.e., only for non-SXG responses when the flag was enabled).
`URLLoader` is updated to use this method to populate
`URLResponseHead::client_side_content_decoding_types`.
A browser test (`SignedExchangeRequestHandlerBrowserTest.Compressed`)
is added using a compressed SXG (`.sxg.gz`) to ensure the network
service correctly decodes SXG payloads served with `Content-Encoding`.
Bug: 406313013, 391950057
Change-Id: Ic6efb534c540e6075ebe76b42b369a294f34ab76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6399234
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439153}
This stops us from spamming the IME with updateCursorAnchorInfo calls
every time UpdateLifecyclePhases is called (which we currently do). This
should save on CPU cycles not only for the Blink call but also for the
binder call to the IME in Java.
Bug: 40940885
Change-Id: Ifc7f382f2ab6faa4c640d92749904327127f3f0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6212666
Commit-Queue: Alex Mitra <alexmitra@chromium.org>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439138}
It was previously possible to have a bunch of close watchers, but
none of them was actually enabled. In that case, it was possible
for a close request to *not* fall back to a back-navigation, even
though nothing else was handling the back button press.
Fixed: 403600266
Change-Id: Ib50894ee3abc823926c9d9840b233af6f492a10c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6379324
Commit-Queue: Mason Freed <masonf@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
Reviewed-by: Nate Chapin <japhet@chromium.org>
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: Luke <lwarlow@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1439129}
In some cases, we may not want to override the X-Client-Data header as
that would break if the embedder has their own data set in the header.
Adding an option setting to change this logic for BrowserContext
initiated prefetches. This setting will not be applied on the redirects
as it will always do the old logic.
Currently, this is being used by WebView but can be expanded if needed.
Bug: 406433765
Change-Id: I37e8ccb06ea8a3e3b404f9de16b100b1b6c09031
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6396838
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Commit-Queue: Sayed Elabady <elabadysayed@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439123}
For native unit test, BrowserTaskExecutor is recreated on each
test. However, Android doesn't reset TaskRunners after initialization.
This makes all java side postTask calls to fail after running the
first test.
This CL resets all the task runners when BrowserTaskExecutor::
ResetForTesting() is called. This causes the java side to reinitialize
the TaskRunner when postTask() is called subsequently.
Bug: 406080055
Change-Id: I92cb83a2296fa3e7c2c5d3b1c4e09afc05ffa436
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388987
Reviewed-by: Bo Liu <boliu@chromium.org>
Reviewed-by: Andrew Grieve <agrieve@chromium.org>
Commit-Queue: Min Qin <qinmin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439106}
Remove GpuMemoryBufferManager and all related methods from
blink::Platform and all its implementations as no clients are now using
it after being converted to use Mappable Shared Image.
Bug: 404887301
Change-Id: I52b50b30318362002eeca88c78f372fcb115d0ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6403464
Commit-Queue: vikas soni <vikassoni@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439105}
Reason: InputDevice#getDeviceId() returns SOURCE_STYLUS deviceId even if
stylus is not connected as long as the input device is capable of
obtaining input from a stylus.
Change-Id: I7498684cb55d15fa3043de1078fd2aecbf79f62b
Bug: 371009311
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5905482
Commit-Queue: Sirisha Kavuluru <skavuluru@google.com>
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Reviewed-by: Aishwarya Rajesh <aishwaryarj@google.com>
Cr-Commit-Position: refs/heads/main@{#1439069}
We do a little cleanup for the SharedStorageEventParams struct, since
we will shortly be adding several more members to the struct in
followup CLs.
In particular, we
(1) remove a TODO that we already completed and forgot to delete,
(2) insert parameter labels for the numerous places that std::nullopt
is passed in the static creator methods,
(3) implement an operator<< overload for SharedStorageEventParams::
SharedStorageUrlSpecWithMetadata, and
(4) revise the anonymous namespace function
SerializeOptionalUrlsWithMetadata() to take advantage of the new
operator<< for the child struct, as well as to use style consistent
with the existing operator<< for the parent struct.
Bug: 401011862
Change-Id: If5c883f7e3df6d02890608a9ac1bfbfac38f2e8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6399793
Reviewed-by: Yao Xiao <yaoxia@chromium.org>
Commit-Queue: Cammie Smith Barnes <cammie@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439068}
This CL turns the feature flag on by default, which means the field
trial config can also be removed.
There is currently an active field trial for this feature, enabled
on all platforms. This change allows us to continue expanding the
experiments.
Test: Config only change
Bug: 40269084
Change-Id: I737d52dda3efbd3a45917eb967fb24f116a4f073
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6195511
Commit-Queue: Sharon Yang <yangsharon@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439038}
By "cross-origin, same-site", I mean that the iframe that called
`document.requestStorageAccess()` and then sent a network fetch, is
cross-origin but same-site to the origin that it's sending the network
fetch to. This is an interesting case because there ought to be a
security boundary between those origins, but there's no privacy boundary
since they're the same site.
This will give more actionable breakage metrics (including UKM) which
will be useful to decide whether we can ship this feature
(http://chromestatus/5169937372676096).
Bug: 379030052
Change-Id: If2938c3ac64e6abefcda3b0e7c3e3a0f371e4bfc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6397807
Reviewed-by: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Auto-Submit: Chris Fredrickson <cfredric@chromium.org>
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439029}
In this CL, we fetch and pass the favicon to the UI code if multiple
identity providers are going to be used. A followup will use the image
received do update the header of the dialog so it contains the image.
Bug: 392142580, 392140317
Change-Id: Id55fe320040dcf0112eabcfbc60bf92f2d7c9db7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6388400
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439015}
This test ensures that the callback doesn't resolve immediately
during the test, since the test is meant to compare the pixels
on screen while the rendering is blocked.
The callback would still timeout, so this isn't adding to the
flake, but it rather doesn't allow rendering to be unblocked.
Bug: 400187507
Change-Id: I293da805e0ecfbef324b22222313f5f0de8e2820
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6397078
Reviewed-by: Kevin Ellis <kevers@chromium.org>
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1439003}
1. Include a new boolean field InCooldownOrLockout to a B&A request.
It's true if the browser is in lockout or the seller is in cooldown.
2. Include a new boolean field InCooldownOrLockout to each IG in a B&A
request. It's true if the browser is in lockout or the buyer is in
cooldown. The cooldown is per buyer, but the current request's schema
only supports per IG data. It'll be changed to per buyer in the request
in the future. The compression should make the size increase pretty
small.
Bug: 406533572, b/356872513
Change-Id: I76f7dd3d851a1337b4f900fd1ca1e036f2344de2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6387580
Reviewed-by: Russ Hamilton <behamilton@google.com>
Commit-Queue: Qingxin Wu <qingxinwu@google.com>
Cr-Commit-Position: refs/heads/main@{#1438985}
Adds the --force-unroll-const-eval-loops option to WebGPU tests and
adds it to all Windows/Intel/DXC test invocations. The Dawn team has
found that forcing this option significantly improves flakiness due to
Intel not handling loops properly for some reason.
Bug: 406301896
Change-Id: Ib9aa58f5e32ff0dc6d92561f999424bcfcc480c5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6394360
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1438983}
Introduce mojom::SharedStorageBatchUpdateMethodsArgument, which is type
mapped to
vector<::network::mojom::SharedStorageModifierMethodWithOptionsPtr>.
Currently, the mojom traits perform a trivial conversion and no
validation. When we later switch to disallow the 'withLock' option for
methods within batchUpdate() (PR: [1]; Integration CL preview: [2]),
the mojom traits will be updated to enforce this restriction.
[1] https://github.com/WICG/shared-storage/pull/228
[2] https://crrev.com/c/6393777
Bug: 404568020
Change-Id: I31f87d3ef1c98d7a24ab9d1b9e4cb27bedf4d32c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6394820
Commit-Queue: Yao Xiao <yaoxia@chromium.org>
Reviewed-by: Cammie Smith Barnes <cammie@chromium.org>
Reviewed-by: Adam Rice <ricea@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1438964}
This is a reland of commit 9d799b687e
Reason for revert: Suspects that the CL broke All/DumpAccessibilityTreeTest.AccessibilityRoleGroupFormControlsWithInitialFullA11y on Android Auto Sample failing test run: https://ci.chromium.org/ui/p/chrome/builders/ci/android-automotive-12l-x64-rel-tests/6232/overview
See also b/371230119
Fixed by landing CL:6403173.
Original change's description:
> [A11yPerformance] Improve Android AXMode setting code
>
> This alters the logic in a subtle way. In the previous iteration,
> if the enterprise logic turned off form controls mode, then we never
> used kAXModeBasic, and always used kAXModeComplete.
>
> This also improves the code by using ScopedAccessibilityMode and
> cleaning up an unnecessary method in BrowserAccessibilityState.
>
> Bug: none
> Change-Id: I6d96b228ffb36605ce81af840549717ecfb00b71
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6378064
> Reviewed-by: Mark Schillaci <mschillaci@google.com>
> Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1437764}
Bug: none
Change-Id: I8dc1d973f5976add765ea72277a7ddf0d4defc76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6401437
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1438944}
This is a simple change addressing crashes being caused by cases where
the browser is not present for some web_contents, which led to attempted
nullptr access.
Bug: 406119351
Change-Id: I62032aedd1ec37b0b9cff6223be4dc61d04b964b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6398123
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Alexander Kyereboah <akyereboah@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1438859}
If an environment sets a11y on, e.g. kAXModeComplete, then it will
skip forms control tests, because it has extra flags that are unwanted
by the test.
A friendly skip message is provided, such as:
../../content/browser/accessibility/dump_accessibility_browsertest_base.cc:459: Skipped
The initial AXMode contained more flags than the test is designed for.
* Test requires: kNativeAPIs | kWebContents | kFormsAndLabelsOnly
* Initial AXMode: kNativeAPIs | kWebContents | kInlineTextBoxes | kExtendedProperties
* Extra, unwanted flags: kInlineTextBoxes | kExtendedProperties
Bug: none
Change-Id: Ida6049efd1d8e66f62027be15447b7ef4aaeeb1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6403173
Auto-Submit: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1438826}
This reverts commit c7a6ec453e.
Reason for revert: Crashing in canary (https://crbug.com/406738552)
Original change's description:
> [BTM] Refactor BtmNavigationFlowDetector to use BtmPageVisitObserver
>
> Mostly a no-op for BtmNavigationFlowDetector's behavior, except
> BtmPageVisitObserver is a more robust observer of some of the WCO events
> that BtmNavigationFlowDetector previously observed (especially late
> notifications for cookie accesses in navigations), so
> BtmNavigationFlowDetector should now be less flaky. For this reason,
> this CL also reenables most of the BtmNavigationFlowDetector
> browsertests that were disabled for flakiness. There's still one flaky
> browsertest this CL does not reenable, because its flakes have an
> unrelated source.
>
> I tried to limit the changes to BtmNavigationFlowDetector to only those
> necessary to switch its datasource from WebContentsObserver to
> BtmPageVisitObserver. There is likely further simplification made
> possible by the datasource change, but I wanted to keep this CL doing as
> close to just one thing as possible.
>
> Bug: 388718419
> Change-Id: I2fe2bc96bcd4d54a8ae7b85b538616971607c8ea
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6349857
> Reviewed-by: Giovanni Ortuno Urquidi <ortuno@chromium.org>
> Commit-Queue: Svend Larsen <svend@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1438155}
Bug: 388718419
Change-Id: Id16941827efc03347a6666ec98fa6bbf8d750982
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6403493
Auto-Submit: Svend Larsen <svend@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Andrew Liu <liu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1438820}