These values were generated using heuristics provided by `gnrt` itself.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/d4c06848b36902e02c7001032b4c72ecc8ab2944
commit d4c06848b36902e02c7001032b4c72ecc8ab2944
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Fri Nov 21 14:01:48 2025 -0800
[gnrt] Make `gnrt vendor` infer `allow_unsafe` into `gnrt_config.toml`.
This CL modifies the behavior of `gnrt vendor`, so that it also edits
`//third_party/rust/chromium_crates_io/gnrt_config.toml` to ensure that
each crate explicitly sets `allow_unsafe`. This new, heuristics-based
behavior is meant to streamline the experience of importing Rust crates.
Bug: 460814809
Change-Id: I4192f211cbd11f5c435776f146b1dd96ba5daa18
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7180203
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1548722}
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/9afc53ae9f2e324d23f4417840980f48a66c7a21
Animate compact mode expand/contract
This is accomplished with the transition framework. LBC is notified
right before layout changes corresponding to compact mode state changes
are made, allowing it to capture values at the right time. The location
bar itself and the "+" button are animated.
In order to animate contraction correctly, the Toolbar needs to remain
larger until the animation ends to avoid clipping the LocationBar.
LocationBarEmbedder allows for the toolbar's height to temporarily fixed
without exposing the view directly.
In order to provide consistent notifications re: compact mode state, we
need to create a single source of truth for compactness, extracting the
view binder's control of this property out to the mediator.
Bug: TBD
Change-Id: I40943b27b0e295c6bc83fb9b541d6d2f57396a69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7171390
Per @fallaciousreasoning, this needs to be disabled for now due to interactions
with Leo. It's not currently easy to fix, as all of Leo is bundled together into
one file which disallows importing individual types as the fix for this would
require. Entered https://github.com/brave/brave-browser/issues/51461 to track
this work.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0b3a9f2a74923ee00eeb14e67c7646f4957d1750
commit 0b3a9f2a74923ee00eeb14e67c7646f4957d1750
Author: dpapad <dpapad@chromium.org>
Date: Wed Nov 19 11:39:03 2025 -0800
WebUI: Enable @webui-eslint/web-component-missing-deps by default.
Specifically
- Enable the new ESLint check by default for non-Ash build_webui()
targets.
- Disable it explicitly for c/b/r/settings/ and c/b/r/new_tab_page/
temporarily until the check is updated to correctly detect missing deps
in WebUIs that use lazy loading (actively worked and expected to
land in a quick follow-up CL).
All violations have already been fixed in prior CLs, except a few that
slipped and are fixed here.
Bug: 457866803
Change-Id: I8691ce7e9358500fe800d24b4ae5b005fc9685b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7171069
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Teresa Mao <temao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1547375}
`BraveSidePanel` has to provide support to an instance of
`SidePanelAnimationCoordinator`, which expected to be accessed by
Chromium.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a7e0dd051812f4522ffd6c1dcf6aab755f7f4a56https://chromium.googlesource.com/chromium/src/+/0a79d10497ab6b7e9fe859356648a5323159a186
commit a7e0dd051812f4522ffd6c1dcf6aab755f7f4a56
Author: dljames <dljames@chromium.org>
Date: Wed Nov 19 16:53:25 2025 -0800
[TBHSP] Add ShadowOverlay opacity animation for side panel
Defines the shadow overlay opacity animation sequence in
SidePanelAnimationCoordinator. ShadowOverlayView observes this animation
id to correctly update the opacity value of its shadow. This is done to
achieve a specific visual affect requested by UX.
Change-Id: Ieab0907f66d1a4e8eb2b97d5af5215325ef88336
Bug: 445452247
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7163705
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Darryl James <dljames@chromium.org>
Reviewed-by: Caroline Rising <corising@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1547545}
commit 0a79d10497ab6b7e9fe859356648a5323159a186
Author: dljames <dljames@chromium.org>
Date: Mon Nov 17 12:50:48 2025 -0800
[TBHSP] Add animation coordinator for side panel
Add an animation coordinator in the side panel to help coordinate all of
the other animation sequences that should happen when the side panel is
open or closed.
Tests will be added in a subsequent patch due to the size of the
implementation.
Change-Id: I9bb5b6118f1abaf723401d6a7e4e14ee6a2b1ed2
Bug: 445452247
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139797
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Darryl James <dljames@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1546098}
It is necessary that the `COMMIT_MSG` script does not interfere with
amend commits as keeping their commit message intact is necessary for
squashes to work as expected.
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/42c529f984e74c8bba3b8ced4b9e1d531252ff08
Ensure AIM/NB suggestions are fulfilled with appropriate tools.
Up till now only user-typed text was triggering appropriate
fulfillment. This change ensures that suggest picks do the same:
when the user is in AIM or Image creation mode and interacts with any
of the suggested items, they will be redirected to appropriate tool.
For the lack of a better alternative and insufficient time this change
follows the Desktop implementation: construct the AIM URL from its
Search URL analog.
Screen: http://screen/4azQvKA3MTThdrL.png
Change-Id: I04a85ad65de0aae5edf4979c591748771974b0ce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7164817
This change follows the same approach used by previous supplementable
migrations, and relies on forward declarations as a way to retrieve
references to our types.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e18ae887f31db52f8a420983be9d3cd23a4366a4
commit e18ae887f31db52f8a420983be9d3cd23a4366a4
Author: Steinar H. Gunderson <sesse@chromium.org>
Date: Tue Nov 18 07:35:26 2025 -0800
Make ExecutionContext not Supplementable.
Part of Supplementable cleanup. Done with a script followed by
human cleanup/review and git cl format.
There is a significant (~10 kB APK) size win, which seems to stem from
the fact that Supplement is no longer taking up all the small offsets
in ExecutionContext (smaller offsets can typically be computed in
fewer bytes of code, depending on the CPU architecture); all the
members have been effectively moved to the end of the object instead
of the very beginning.
Bug: 460165754
Change-Id: I2e22b1861c3419a1694cf9f369766cf9a0015ff9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7157113
Auto-Submit: Steinar H Gunderson <sesse@chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1546535}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cb3309d8abc8aceb10bd606ffe66be4edc298645
commit cb3309d8abc8aceb10bd606ffe66be4edc298645
Author: Tiffany Song <tiffanysong@google.com>
Date: Mon Nov 17 08:22:29 2025 -0800
[VL] Add response_code_category to NotifyURLVisited to pass to observers
There are several overrides of HistoryServiceObserver that do not
include 404 navigations, as 404 visits are not currently inserted into
History. 404 visits will soon be inserted when
history::kVisitedLinksOn404 is enabled, and not all of these overrides
will want to include 404 navigations. In order to know if a visit has a
404 result, we want to pass response_code_category through OnURLVisited
and OnURLVisitedWithNavigationId.
This CL also adds a param struct, `VisitedURLInfo`, to store the
parameters for `NotifyURLVisited` and `OnURLVisited` in order to avoid
large CLs like this one if more parameters need to be added.
This CL is part of a larger project to make links `:visited` after a 404
visit, while minimizing disruption to History consumers. Project links:
- Google-internal project doc: go/stop-filtering-history-by-status-code
- Issue tree / work status: https://crbug.com/427225439/dependencies
Fixed: 458096507
Change-Id: I85e201ec046939d987dad7af6683351283e7d67a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7122997
Reviewed-by: Nico Weber <thakis@chromium.org>
Owners-Override: Nico Weber <thakis@chromium.org>
Commit-Queue: Tiffany Song <tiffanysong@google.com>
Reviewed-by: Jérôme Lebel <jlebel@chromium.org>
Reviewed-by: manuk hovanesian <manukh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1545935}
We no longer need this patch disabling `enable_type_aware_eslint_checks` on
Windows as it was only added to avoid hitting the maximum path limit, but that
restriction was removed with https://github.com/brave/brave-core/pull/31800.
This change corrects the forward declaration for `SidePanel` used by
`SidePanelAnimationCoordinator`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/0a79d10497ab6b7e9fe859356648a5323159a186
commit 0a79d10497ab6b7e9fe859356648a5323159a186
Author: dljames <dljames@chromium.org>
Date: Mon Nov 17 12:50:48 2025 -0800
[TBHSP] Add animation coordinator for side panel
Add an animation coordinator in the side panel to help coordinate all of
the other animation sequences that should happen when the side panel is
open or closed.
Tests will be added in a subsequent patch due to the size of the
implementation.
Change-Id: I9bb5b6118f1abaf723401d6a7e4e14ee6a2b1ed2
Bug: 445452247
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139797
Reviewed-by: Eshwar Stalin <estalin@chromium.org>
Commit-Queue: Darryl James <dljames@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1546098}
This function now receives a single argument of type `VisitedURLInfo`.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cb3309d8abc8aceb10bd606ffe66be4edc298645
commit cb3309d8abc8aceb10bd606ffe66be4edc298645
Author: Tiffany Song <tiffanysong@google.com>
Date: Mon Nov 17 08:22:29 2025 -0800
[VL] Add response_code_category to NotifyURLVisited to pass to observers
There are several overrides of HistoryServiceObserver that do not
include 404 navigations, as 404 visits are not currently inserted into
History. 404 visits will soon be inserted when
history::kVisitedLinksOn404 is enabled, and not all of these overrides
will want to include 404 navigations. In order to know if a visit has a
404 result, we want to pass response_code_category through OnURLVisited
and OnURLVisitedWithNavigationId.
This CL also adds a param struct, `VisitedURLInfo`, to store the
parameters for `NotifyURLVisited` and `OnURLVisited` in order to avoid
large CLs like this one if more parameters need to be added.
This CL is part of a larger project to make links `:visited` after a 404
visit, while minimizing disruption to History consumers. Project links:
- Google-internal project doc: go/stop-filtering-history-by-status-code
- Issue tree / work status: https://crbug.com/427225439/dependencies
Fixed: 458096507
Change-Id: I85e201ec046939d987dad7af6683351283e7d67a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7122997
Reviewed-by: Nico Weber <thakis@chromium.org>
Owners-Override: Nico Weber <thakis@chromium.org>
Commit-Queue: Tiffany Song <tiffanysong@google.com>
Reviewed-by: Jérôme Lebel <jlebel@chromium.org>
Reviewed-by: manuk hovanesian <manukh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1545935}
This fix adds the .js files expected by the linter.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/231eecfbd9f7f7723b6ffa7e38e515d456249a96
commit 231eecfbd9f7f7723b6ffa7e38e515d456249a96
Author: dpapad <dpapad@chromium.org>
Date: Fri Nov 14 10:34:35 2025 -0800
WebUI: Implement @webui-eslint/web-component-missing-deps check.
This check finds all child custom elements used in an .html.ts template
file and compares them with the imports appearing in the corresponding
class definition file to find missing dependencies.
Once enabled it will programmatically address a very frequent source of
developer confusion where direct dependencies are not always explicitly
imported, often leading to hard to debug failures in tests.
It will be enabled gradually in follow-up CLs by passing
enable_web_component_missing_deps in build_webui() as violations are
fixed. After that it will be enabled by default.
Bug: 457866803
Change-Id: Ib5cef7d62e910aaccf6ac0814ff5bf3ca35577e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7123208
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: John Lee <johntlee@chromium.org>
Reviewed-by: John Lee <johntlee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1545093}
These are fixes occasioned by ESLint reports. The patch one in particular now
requires the code to be actually deleted, as commenting out the element still
triggers the linter. However, we don't need this patch at all, so we can safely
remove it here.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/12ba9f2f1e55594485b6f42c298448357e531c51
commit 12ba9f2f1e55594485b6f42c298448357e531c51
Author: dpapad <dpapad@chromium.org>
Date: Thu Nov 13 21:14:25 2025 -0800
WebUI: Turn on more eslint-plugin-lit checks in build_webui().
Specifically turning on the following checks:
- binding-positions
- no-duplicate-template-bindings
- no-invalid-escape-sequences
- no-private-properties
All violations have been fixed in a precursor CL.
Since the checks look for valid HTML code, they need to be applied only
after <if expr> statements have been processed and therefore they are
better suited as a build time ESLint check.
Bug: 457650895
Change-Id: Icc9689c37b2ee13e36983dbc966ddf6fe762536d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7123310
Commit-Queue: Teresa Mao <temao@chromium.org>
Reviewed-by: Teresa Mao <temao@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1544736}
We don't want to take on the Delete Browser Data dialog redesign at the moment,
per product. When disabling this feature, I fixed up the alphabetical ordering
of the include_rules in the BUILD.gn file.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/fd52f33cff1c7c1d24b2c6851f881cf415b7c61f
commit fd52f33cff1c7c1d24b2c6851f881cf415b7c61f
Author: Mohamad Arab <arabm@google.com>
Date: Thu Oct 30 07:43:24 2025 -0700
DBDRevamp: Enable `kDbdRevampDesktop` by default.
This change enables the revamped browsing data deletion UI on desktop platforms by default.
launch/4402795
Change-Id: I73964f2882762b122bb9af0ea69f2969cba7babe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7100958
Reviewed-by: Christian Dullweber <dullweber@chromium.org>
Commit-Queue: Mohamad Arab <arabm@google.com>
Cr-Commit-Position: refs/heads/main@{#1537916}
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/cbb436d13410c42836857280a85754be6d0a213a
commit cbb436d13410c42836857280a85754be6d0a213a
Author: Rainhard Findling <rainhard@chromium.org>
Date: Thu Oct 9 00:53:25 2025 -0700
WebUI Settings code health: lowerCamelCase IDs in privacy_page/
Some WebUI Settings html element IDs are not in the lowerCamelCase
style, which is used in this part of the codebase by convention, and
which makes accessing the element in TS easier (`this.$.fooBar`
instead of `this.$['foo-bar']`.
This CL updates IDs that are not in lowerCamelCase style within the
privacy_page/.
Fixed: 450285463
Bug: 420339695
Change-Id: Ic713b5387f7ce9601e39f5ec2c5282c48754ba7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7023109
Reviewed-by: Nicola Tommasi <tommasin@chromium.org>
Commit-Queue: Rainhard Findling <rainhard@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1527371}
This change corrects the override source path to disable
`kAutofillServerCommunication`, and the new namespace as well.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/12245f7e1548159c037a70ad7376083ac440c843
commit 12245f7e1548159c037a70ad7376083ac440c843
Author: Christoph Schwering <schwering@google.com>
Date: Tue Nov 11 22:49:08 2025 -0800
[Autofill] Move debug base::Features to separate file
Moving the base::Features to a separate file makes it easier to enforce
an alphabetic ordering.
The CL renames the namespace from "test" to "debug" because the
features are not test-only (analogously to base::test vs base::debug).
Bug: 40100455
Change-Id: I2a2a607f43b12ad3e5409ad77faf088d9e3391f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7141581
Reviewed-by: Jan Keitel <jkeitel@google.com>
Auto-Submit: Christoph Schwering <schwering@google.com>
Commit-Queue: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1543547}
This requires some patching unfortunately, as the value goes into an
array, and the total number of keys is supposed to be used for the size
of the storage.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a0c6dba59914aec4a758d89508e39e0c524abad6
commit a0c6dba59914aec4a758d89508e39e0c524abad6
Author: Steinar H. Gunderson <sesse@chromium.org>
Date: Tue Nov 11 11:34:13 2025 -0800
Make Supplementable array-based.
The Supplementable system is a performance trap; it makes what seems
like a simple member access into a hash table lookup, and some of the
Supplements are looked up a fair bit during normal usage. Furthermore,
the hash table takes memory in itself, so the actual wins are much
smaller than one would assume. Even more so when most of the objects
are very rare (e.g., there's usually a single-digit number of Documents
floating around in the renderer).
It would probably be good to get rid of the entire system, but it still
plays a role in allowing members that would otherwise be a layering
violation (in practice, the only real problem is that the containing
class needs to be able to see the Trace() member function of the
supplement). Thus, this CL changes Supplementable from being a hash
table into being a simple std::array, i.e., mostly the same performance
as you'd have if just making everything Member<> directly. This requires
some coordination around which Supplement goes into which slot, which we
solve by adding a strong enum on the Supplementable.
A future cleanup CL can remove most Supplements (the ones that don't
cross components) and change them into direct Members, for clarity
(which also allows removing the vtable in some cases, and make life
easier for the optimizer).
Most classes go _down_ in size. The ones that go up are (debug mode;
release should be very similar):
Document: 3240 → 3328 bytes
ExecutionContext: 376 → 480 bytes
NavigatorBase: 136 → 176 bytes
LocalDOMWindow: 912 → 1152 bytes
Navigator: 408 → 560 bytes
ServiceWorkerRegistration: 256 → 272 bytes
These numbers assume that zero Supplements are set (i.e., best case
for the old system); if there are any, then the memory allocated
dynamically by the hash table on inserts need to be added to the
left side.
On the flip side, APK size goes down by ~60 kB (~180 kB for the 64-bit
version). Uncompressed, the Linux Chrome binary (with LTO, but not PGO)
loses ~182 kB of code (.text segment). Executed code uses RAM and cache
space just like classes do, so this alone would probably take RAM usage
well in the green, even discounting the gains making some classes
smaller.
Three Supplementable classes did not have a single Supplement and were
simply taken out of the system. Similarly, a couple of classes were
registered as Supplement but never actually used as such, so they were
also taken out.
This change touches on a lot of files, but almost all of the changes
are mechanical (done by editor macros aided by human touch). git cl
format has been run throughout.
Performance appears to be neutral; seemingly, we extracted the
biggest win already by taking ViewTransitionSupplement out of this
system.
Change-Id: I00c17abc0f32f25e8c767cf47f8c11b90b986054
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7137321
Commit-Queue: Steinar H Gunderson <sesse@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1543258}
These fixes are regarding
`non-void-html-element-start-tag-with-trailing-solidus` checks.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8a2e886b81e26a48f05f36d72589b55f7a77464f
commit 8a2e886b81e26a48f05f36d72589b55f7a77464f
Author: dpapad <dpapad@chromium.org>
Date: Mon Nov 10 23:44:00 2025 -0800
WebUI: Fix more violations of upcoming eslint-plugin-lit checks.
Specifically fixing violations for the upcoming checks:
- binding-positions
- no-duplicate-template-bindings
- no-invalid-escape-sequences
- no-private-properties
as well as of the already existing no-invalid-html check, which is
erroneously not applied to auto-generated .html.ts wrapper files (will
be addressed in a follow-up).
Note: Even though these checks are part of eslint-plugin-lit,they are
applied to Polymer code as well which is OK, since they find legitimate
problems in Polymer HTML templates.
Bug: 457650895
Change-Id: Ib0e3044af2f0928089b883e713ee2c0b98751e94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7124436
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Teresa Mao <temao@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1542991}
This has made the patching we had for several other licenses obsolete
through the existing array.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/8bf5b006f84452174862bf817b1514dea7b396b3
commit 8bf5b006f84452174862bf817b1514dea7b396b3
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Mon Nov 10 20:08:40 2025 -0800
[gnrt] Use `spdx` to parse license strings.
Before this CL, `gnrt` would contain a hardcoded map from strings
like `"(Apache-2.0 OR MIT) AND BSD-3-Clause"` into a vector of
`LicenseKind`s (e.g. `Apache2, BSD3` for the earlier example).
After this CL, license strings are parsed and translated into
minimized requirements using the `spdx` crate.
Manual testing:
* `cd tools/crates/gnrt; cargo test` and checking that tests
continue to pass
* `rm -rf third_party/rust/chromium_crates_io/vendor;
tools/crates/run_gnrt.py vendor` and checking that it
doesn't make any changes.
Bug: 459579908
Change-Id: Ic54522923f585fd2fbbeb79486b5127352071e5d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7139758
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1542950}
This function was `AreV8OptimizationsDisabledForSite`, and the new
version does have an argument that is being left as nullopt for now.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/9beb38036b1d0c27a836afdf3d4e6b0ef6296708
commit 9beb38036b1d0c27a836afdf3d4e6b0ef6296708
Author: Peter KH <pkotwicz@google.com>
Date: Sun Nov 9 12:22:48 2025 -0800
Defer navigation till v8-optimization-verdict computation completes
Original review at crrev.com/c/6897186
This CL differs from the original CL in that it uses
HostContentSettingsMap::SetContentSettingCustomScope() (which
takes a pattern as a parameter) instead of
HostContentSettingsMap::SetWebsiteSettingDefaultScope() (which takes
a GURL as a parameter).
This CL:
- Introduces SiteFamiliarityProcessSelectionDeferringCondition and
SiteFamiliarityFetcher.
SiteFamiliarityFetcher computes whether a site is considered familiar
based on the user's browsing history and safe browsing's
high-confidence-allowlist
SiteFamiliarityProcessSelectionDeferringCondition:
- Defers the navigation if the v8-optimization verdict computation
has not completed.
- Add SiteFamiliarityProcessSelectionUserData on the ProcessSelectionUserData.
- ChromeContentBrowserClient::AreV8OptimizationsEnabledForSite() is
modified to query the verdict computed by SiteFamiliarityFetcher.
Precedence on determining whether to enable v8-optimizer:
- Content-settings-exceptions specified in chrome://settings take
precedence on site familiarity.
- Site familiarity is only a factor if a user opts-into "disabling
v8-optimizers based on site-familiarity" in chrome://settings.
Algorithm for determining whether site is familiar:
- A site is deemed unfamiliar if the user has
never visited the site prior to 24 hours ago in a toplevel frame and
the site is not on the safe-browsing-high-confidence-allowlist.
- Sites are only considered familiar if they have been previously
visited in a toplevel frame. (A site will never be considered familiar
if it was only ever visited in an iframe).
- chrome-extension:// URLs are always considered familiar for now
- This CL does not change whether data:// URL iframes can share a
render process with the parent frame. Figuring out the exact policies
for site familiarity for data:// URLs will probably need additional
work. See https://issues.chromium.org/452135534
SiteFamiliarityProcessSelectionDeferringConditionTest.*
Bug: 441727826
Test: JavascriptOptimizerBrowserTest*,
Change-Id: I2e8acae3e0b58ebd95b19801fa03d3cf544c6b6e
Cq-Include-Trybots: luci.chromium.try:linux-oi-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7107119
Reviewed-by: Moe Ahmadi <mahmadi@chromium.org>
Reviewed-by: Javier Castro <jacastro@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1542334}
As of cr144, the upstream's PIP enhancements is enabled by default.
And the functionalities we added in Brave's PIP overlay view are now
supported by upstream. So remove Brave's custom implementation and
use upstream's one, while leaving styling changes.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/272e69430c552717d7d0a6c9fd10f7a8ff1666ab
commit 272e69430c552717d7d0a6c9fd10f7a8ff1666ab
Author: Tommy Steimel <steimel@chromium.org>
Date: Mon Nov 10 15:35:32 2025 -0800
[video pip] Remove old controls
We recently launched updated controls for video picture-in-picture.
This CL removes the old controls completely, which greatly simplifies
the code structure.
Change-Id: Ifaa79a7067b5b50c4d481fd2f3a0f9194bfdae36
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7078879
Commit-Queue: Tommy Steimel <steimel@chromium.org>
Reviewed-by: Frank Liberato <liberato@chromium.org>
Reviewed-by: Fr <beaufort.francois@gmail.com>
Reviewed-by: Tom Lukaszewicz <tluk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1542822}