Add feature state change observer for notifying consumers, and deprecate the enabling on browser restart notifications.
Removes the restart toast from settings AI page, since its no longer needed.
Also adds enterprise policy pref observer for model execution controller to observer immediate changes.
Demo of settings change immediately affecting feature state:
http://go/scrcast/NDYzMTcwMDEzMzkwNDM4NHwyMzAyNDZlYS1lNA
Bug: b/320851152, b/321073908, b/323569816
Change-Id: I7c4c4fe3bb68527df8e22247dbfc3aceb5b020e4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5247445
Commit-Queue: Raj T <rajendrant@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255856}
This CL fixes reverse tabbing in the desk bar. This would have not been
an issue to begin with if it hadn't been for the trickery that is done
with hiding the desk action buttons as focus shifts. This CL extends the
hack that already involved the desk preview view to now also include the
profile button.
Also made changes to the test suite so that the DeskBarTest suite runs
with desk profiles both disabled and enabled.
BUG=b:319723846
Change-Id: I462f58123f2a3dbb5babc2ac02c9135c4fb5831b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5263242
Commit-Queue: Daniel Andersson <dandersson@chromium.org>
Reviewed-by: Yongshun Liu <yongshun@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255855}
On some ChromeOS devices, using Vulkan without OOP-C results in
artifacts during video encode. To remedy this, we unconditionally
enable OOP-C on CrOS when Vulkan is enabled.
Bug: b:318721705
Change-Id: I1196c83ccd973373aa176e49e58d4431ac31e7fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5254556
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255851}
The spec states that rootMargin and scrollMargin must be ignored for
any implicit-root observation that crosses origin boundaries.
Previously, there was no explicit mechanism in the code for enforcing
that; however, we still got the correct result as long as the
cross-origin iframe was process-isolated, because rootMargin is not
applied to LocalFrame::RemoteViewportIntersection() -- there is a
comment in the code to this effect.
However, if the cross-origin iframe was *not* process-isolated, then
the root margin would be incorrectly honored. Furthermore, the above
won't work correctly for scrollMargin.
This CL explicitly disables both rootMargin and scrollMargin for a
cross-site observation.
Change-Id: I030c431d67f47ed65872867851a079f2bbd95736
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5262942
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Commit-Queue: Stefan Zager <szager@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255848}
Now that the ProxyChain::ForIpProtection method just creates
a new ProxyChain instead of allowing for self-assignment, we
can use the default move assignment operator again.
Bug: 1491092
Change-Id: If9526c069176f8465b3b74a6b2d9062e90db06d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5254840
Commit-Queue: Andrew Williams <awillia@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255847}
Also cleans up enum names for provider-specific histograms around
remote requests.
OBSOLETE_HISTOGRAMS=Replaces Omnibox.SuggestRequests with Omnibox.SearchSuggest.Requests
Bug: 1516795
Change-Id: I560ac5de3dd608067a8af78dde712648a11c50c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5254505
Commit-Queue: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Sophie Chang <sophiechang@chromium.org>
Reviewed-by: Tomasz Wiszkowski <ender@google.com>
Cr-Commit-Position: refs/heads/main@{#1255844}
Per the linked bug other people have hit this DCHECK, and I'm
currently consistently hitting this DCHECK from simply trying to
navigate. We should not have DCHECKs in the code that aren't
actually correct.
Bug: 1420402
Change-Id: I6225826c330226c232ddd3c452a12014b82348df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5263008
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255843}
mismatch in TabWindowManager
This is a follow-up to crrev.com/c/5230244.
1. Record a times histogram in
ChromeTabbedActivity#handleMismatchedIndices to track the difference in
creation timestamps of the two activities that are attempting to use the
same tab model index.
2. Make the time difference threshold to determine if the tab persistent
store's state has to be saved configurable via a fieldtrial param.
Bug: 1520923
Change-Id: Ice8eb0d57d648f2af8be9db0b2caea373d7af585
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5262747
Commit-Queue: Aishwarya Rajesh <aishwaryarj@google.com>
Reviewed-by: Theresa Sullivan <twellington@chromium.org>
Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255840}
Using wpt-import in Chromium 0de0ad0ff7.
With Chromium commits locally applied on WPT:
8017da1289 "Add WPTs for race-network-and-fetch-handler option"
c7dac09bd9 "Event Timing reports EventTarget for more pointer events"
3e9211d4b8 "Remove custom-elements/state/idlharness.window.js"
4226d68d16 "Fix some crashes in StylableSelect HTML parser"
Note to sheriffs: This CL imports external tests and adds
expectations for those tests; if this CL is large and causes
a few new failures, please fix the failures by adding new
lines to TestExpectations rather than reverting. See:
https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md
Directory owners for changes in this CL:
mstensho@chromium.org:
external/wpt/css/printing
NOAUTOREVERT=true
No-Export: true
Validate-Test-Flakiness: skip
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: Ie3c68c76e8f05d0de5e08ed6e04b60c1d1b318a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5262803
Commit-Queue: Jonathan Lee <jonathanjlee@google.com>
Auto-Submit: WPT Autoroller <wpt-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: Jonathan Lee <jonathanjlee@google.com>
Cr-Commit-Position: refs/heads/main@{#1255837}
The change adds MP4 mime type to the relevant tests
on the MediaRecorder tests where the test reached to the
muxer level.
There is a bug that block the change of 'PMediaRecorder-peerconnection.https.html', which will be handled with
bug fix of 1523375.
Bug: 1072056
Change-Id: Ie3c2c306bb454e1eb8914047137c6a5844bcdfdf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5250746
Commit-Queue: Sunggook Chue <sunggch@microsoft.com>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255836}
When the canvas has to be presented while layers are opened, we cannot
present the layer content, but we can present any painting that happened
before the top most layer was opened. To do so, the recording has to be
split into two parts: a main recording and a side recording. The side
recording holds the content of all nested layers in one single
recording. When the top most layer is closed, the content of the side
recording is written to the main recording.
Bug: 1484741
Change-Id: Id32412819c0395edd501243b2ccead30ebc0b674
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5113500
Commit-Queue: Jean-Philippe Gravel <jpgravel@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255834}
This CL splits the 2D Canvas recording into a main recording and a
side recording. The next CL (https://crrev.com/c/5113500) will update
the beginLayer/endLayer API to record layer content into that side
recording. Only the main recording can be flushed. The side recording
is preserved and can be flushed when the layer is later closed. The side
recording will store the content of all nested layers in one single
recording. When the last layer will be closed, that side recording will
be inserted into the main recording, making it rasterizable in the next
flush.
Bug: 1484741
Change-Id: I073473cdc565b35797ba795e5acd134f1f615581
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5258875
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Jean-Philippe Gravel <jpgravel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255833}
This adds context menu support to desk switch buttons. It also makes
sure the background is updated correctly.
Bug: b/323419457
Test: DeskButtonTest.(DeskButtonContextMenu|DeskSwitchButtonContextMenu)
Change-Id: I3f8837f1057942fe3c5ce97cbc2de646b227d859
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5260609
Commit-Queue: Yongshun Liu <yongshun@chromium.org>
Reviewed-by: Daniel Andersson <dandersson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255831}
As part of the cleanup now that the automation API is fully private
(go/chrome-automation-partial-deprecation), remove a manifest
permission that is not used.
The permission will be converted to a single boolean in a follow-up
change.
AX-Relnotes: n/a.
Bug: b/265481580
Test: All automation tests
Change-Id: I04573735cf76172990fd6b6d9281d5620b5eb977
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5226180
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Commit-Queue: Devlin Cronin <rdevlin.cronin@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Auto-Submit: Anastasia Helfinstein <anastasi@google.com>
Cr-Commit-Position: refs/heads/main@{#1255829}
Keeping the suppression object in the callback chain means that it could
be destructed after the test is fully destructed, as there is no reason
the test waits for it (profile shutdown isn't a thing for testing
profiles).
This should reduce flakiness of tests that occur afterwards having it
accidentally reset to 'true' during the test.
Secondly, this change just makes it a refcount instead of an AutoReset,
which means that overlapping lifetimes no long matter anyways.
Bug: 1519254, b/323359304
Change-Id: Icc2a8970e188a5ca4a2c897f82a5adc34970dd73
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5260751
Auto-Submit: Daniel Murphy <dmurph@chromium.org>
Commit-Queue: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Dibyajyoti Pal <dibyapal@chromium.org>
Commit-Queue: Dibyajyoti Pal <dibyapal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255827}
This change uses base::ProtectedMemory, which was restored in
https://crrev.com/c/5161001 to harden MojoJS enablement against data-
only attacks.
The change adds a new static member to blink::ContextFeatureSettings
that is a base::ProtectedMemory<bool>. A method to set this value to
true is added, and is called in RenderFrameImpl in all code paths that
enable MojoJS for a RenderFrame.
Finally, the isMojoJSEnabled method of blink::ContextFeatureSettings,
is augmented to CHECK that the new base::ProtectedMemory<bool>
value is true if enable_mojo_js_ is true.
The result is that if a data-only attack is used to directly enable
MojoJS outside of the method calls, the CHECK will fail and crash the
process.
Tests to verify that all the normal code paths continue to properly
enable MojoJS, as well as tests that verify that tampering with the
vulnerable properties results in a crash have been added.
Bug: 976506
Change-Id: If4f8f856edab0e60ac7e48ad65ac759aa24b2ebc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5218835
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Jeffrey Gour <jegour@microsoft.com>
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255826}
Creates a dedicated browser test file for element. Also converts the
test code to TS.
Bug: b:270728282
Test: browser_tests --gtest_filter="OSSettingsOsAboutPage*"
Change-Id: I4e048ca59271723746c9cefabc4a9c5ede4ac9c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5259927
Reviewed-by: Nikki Moteva <moteva@google.com>
Commit-Queue: Wes Okuhara <wesokuhara@google.com>
Cr-Commit-Position: refs/heads/main@{#1255825}
This reverts commit e090569871.
Reason for revert: two DICE tests have become flaky on Mac10.13 Tests and other builders. I'm suspecting this CL is the culprit. See crbug.com/1524542.
Original change's description:
> Remove sync suppression logic while local UPM migration is pending
>
> Behavior changes are behind flag.
> Partial revert of crrev.com/c/5088712. The suppression logic will
> have to be implemented differently, remove for now. After this CL it is
> possible to enable password sync while the migration is pending, but in
> *transport* mode, without any upload of existing data.
> This setup of overriding the SyncMode to kTransportOnly in the
> controller can potentially be reused on Desktop in the future, if we
> decide to always run passwords in transport mode ahead of fully
> deprecating sync-the-feature. So gate it behind a new
> kEnablePasswordsAccountStorageForSyncingUsers toggle. This toggle
> will also be consumed by IsOptedInForAccountStorage() in future CLs.
>
> Unrelated to that, also add a comment next to the usage of the
> corresponding flag for non-syncing users.
>
> Bug: 1509058
> Change-Id: I70fe3497e46bb0f03611fa96844bc71eb6f3a300
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5262157
> Auto-Submit: Victor Vianna <victorvianna@google.com>
> Commit-Queue: Victor Vianna <victorvianna@google.com>
> Commit-Queue: Vasilii Sukhanov <vasilii@chromium.org>
> Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1255656}
Bug: 1509058
Change-Id: I28b20db51afe1e78a7a4c7fd1f27c7e687ffef95
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5263066
Commit-Queue: Dirk Pranke <dpranke@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/main@{#1255824}
Creates a dedicated browser test file for element. Also converts the
test code to TS and moves the TestDeviceNameBrowserProxy file into the
about page subfolder.
Bug: b:270728282
Test: browser_tests --gtest_filter="OSSettingsOsAboutPage*"
Change-Id: Ibe8790e8fb8e86b364a4f2c1f9e85194987f4d80
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5260298
Commit-Queue: Wes Okuhara <wesokuhara@google.com>
Reviewed-by: Nikki Moteva <moteva@google.com>
Cr-Commit-Position: refs/heads/main@{#1255823}
For targets.compile_target and targets.binaries.* the value of the name
field is the name of the ninja target. This wasn't actually indicated
anywhere in the docstrings, so this rectifies that.
Bug: 1420012
Change-Id: I6ad113b6a445875b11784aeb2332d834c1e7a95d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5261751
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Auto-Submit: Garrett Beaty <gbeaty@google.com>
Reviewed-by: Ben Pastene <bpastene@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255816}
Min scroll delta is in layout/zoomed coordinates. It must be calculated
when root_rect_ and target_rect_ are still in layout/zoomed coordinates.
Bug: 1519303
Change-Id: I9c4669125f69d7288541f6a76fbc82582b7539e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5260977
Reviewed-by: Stefan Zager <szager@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1255815}