* Show PageActionView for partitioned storage tab in location bar
When the current tab uses a Brave container (partitioned storage), show the
page action in the location bar with the container's icon, name, and
background color from ContainerModel.
- Register kPartitionedStorageActionIconType and enable it in the location
bar only when ENABLE_CONTAINERS and the Containers feature are on.
- Add PartitionedStoragePageActionController that resolves the tab's
container via GetContainerIdForWebContents and ContainerModel, and drives
the generic PageActionView (Show/Hide, OverrideImage/Text, etc.); the
action is hidden when the tab has no container.
These classes were hoisted and renamed. This has been replaced in
Chromium as well. This is a mechanical change for Brave, done with the
following script.
```
git grep -lw 'Value::List' | xargs sed -i 's/\bValue::List\b/ListValue/g'
git grep -lw 'Value::Dict' | xargs sed -i 's/\bValue::Dict\b/DictValue/g'
git cl format
```
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/6bc468d481835992696083e99e556516fb7f5f80
```
commit 6bc468d481835992696083e99e556516fb7f5f80
Author: Avi Drissman <avi@chromium.org>
Date: Thu Jan 29 22:14:50 2026 -0800
Remove aliases for base::DictValue and base::ListValue
This removes a few last stragglers as well.
Fixed: 478100525
Cq-Include-Trybots: luci.chromium.try:win-official,mac-official,linux-official,android-official,android-desktop-x64-official
Change-Id: If92142b8ab0562a82c609b71c6b2a7665cea6ec6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7513889
Auto-Submit: Avi Drissman <avi@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1577038}
```
Issue: https://github.com/brave/brave-browser/issues/52435
This change does IWYU additions for all cases where `base::DoNothing` is
used. Furthermore, this change removes some of the uses of
`base::DoNothing` as an argument default value in a header, removing the
need to add `callback_helpers.h` to those headers.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e8436cccafc34d6e4d9c060f682345060579d208https://chromium.googlesource.com/chromium/src/+/227f058d9b9e27370a64b34046d71b9f23106409
commit e8436cccafc34d6e4d9c060f682345060579d208
Author: Lei Zhang <thestig@chromium.org>
Date: Fri Dec 12 15:16:22 2025 -0800
Forward declare base::ScopedClosureRunner in some Blink headers
Avoid including base/functional/callback_helpers.h when not needed. Also
use base/functional/callback_forward.h since callback_helpers.h was
providing callback.h. For scrollable_area.h, make this possible by
getting rid the default arguments to PerformSnapping(),
SnapAtCurrentPosition(), and SnapForEndPosition(). These methods have
very few callers, so just pass in all the arguments. Then do IWYU to fix
the build.
Change-Id: I5cfd017bd6f392b0d97e99c41d4885fac7140a4c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7254408
Commit-Queue: Philip Rogers <pdr@chromium.org>
Auto-Submit: Lei Zhang <thestig@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Christoph Schwering <schwering@google.com>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1558318}
commit 227f058d9b9e27370a64b34046d71b9f23106409
Author: Lei Zhang <thestig@chromium.org>
Date: Thu Dec 11 21:30:12 2025 -0800
Do IWYU for callback_helpers.h in async_dom_storage_database.cc
Add callback_helpers.h for base::DoNothing() usage. The transitive
include that makes this work as-is will be deleted in the near future.
Change-Id: Id5ba6db705434734a854874923b7bb196392ca6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7253640
Commit-Queue: Mingyu Lei <leimy@chromium.org>
Auto-Submit: Lei Zhang <thestig@chromium.org>
Reviewed-by: Mingyu Lei <leimy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1557849}
Chromium issue:
https://source.chromium.org/chromium/chromium/src/+/d901835570a1fdc00796ba3a4403d70edd8e96cc
Add GestureDeviceType to GestureEventAndroid
GestureEventAndroid currently has no information on its source device.
However, its only usage is to eventually be converted to a
WebGestureEvent in blink CreateWebGestureEventFromGestureEventAndroid,
where the WebGestureEvent's source is hardcoded to touchscreen.
Add the field to GestureEventAndroid so we could specify touchpad as
source in the next commit for touchpad flings.
For now all constructor callsites pass touchscreen as source so this
change is effectively no-op.
Bug: 441635906
Test: manual: touchscreen and touchpad pinch, scroll, fling work
Change-Id: I8fad39d0df46e6d654bda86d2a25dce22cfde0b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6938528
Rename pref/features to try to make them more clear. `Enable` means that the site will open in Speedreader automatically. `Allow` means it may open in Speedreader depending on whether it's a site specific override or allow for all readable urls is true and the url looks readable.
SpeedreaderBubbleBrowserTest.InvokeUi_speedreader_mode_bubble_basic
has been intermittently crashing in CI. Work around the issue by
disabling the test on macOS so we don't interfere with tests passing
but still get some test coverage, until the root cause can be addressed.
Issue brave/brave-browser#20082
Call `EXPECT_TRUE` to check the return value of `WaitForLoadStop`
per usage comment on the declaration. This will give better
error logging if this step is failing.
Remove the dependency on the Speedreader service. It's been failing due
to assumptions about whether the test starts with it enabled or
disabled. It has nothing to do with the bubble being shown or not.
Resolves https://github.com/brave/brave-browser/issues/17765
* Rename `SpeedreaderBubbleGlobal` to `SpeedreaderModeBubble`. Global
can be confused with global variables. This bubble is only shown
when Speedreader is enabled.
* Rename `SpeedreaderBubbleSinglePage` to `ReaderModeBubble` since
the design spec explicitly calls this state reader mode.
There are two bubble classes implemented in this PR:
`SpeedreaderBubbleSinglePage` and `SpeedreaderBubbleGlobal`. The former is
when Speedreader is not enabled. The UI prompts the user to enable
Speedreader. The latter is when Speedreader is enabled and shows the
current domain that is distilled, giving the user the option to
blacklist just that domain.
Both the classes share an interface in `SpeedreaderBubbleView`, which is
managed by the `SpeedreaderBubbleController` singleton.
To make the review process easier, the actual logic in both views is
stubbed out, and all the code is unreachable outside of tests. The
reason for this is because it will require changes to the Speedreader
service and the settings page, making this to hard to review on its own.
Resolves https://github.com/brave/brave-browser/issues/16162