Updates the Day Zero onboarding experience on smartphones and small screen devices to a multi‑step, horizontally advancing flow driven by CTA buttons.
It introduces distinct layouts per step, a pager animation helper, and updates onboarding logic to support a scalable, multi‑step sequence with minimal duplication.
Tablet support is intentionally out of scope and will be handled in a separate PR.
Remove Android Super Referrals. The feature is no longer supported or
used, and this cleanup helps reduce unused code and simplify the overall
system as part of https://github.com/brave/brave-browser/issues/44403.
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/c818a3850128c73f62537482e36f43367e9c40ce
commit c818a3850128c73f62537482e36f43367e9c40ce
Author: Tomasz Wiszkowski <ender@google.com>
Date: Fri Oct 3 15:11:19 2025 -0700
Ensure all StatusIcons meet the specific size constraint.
We've observed a weird behavior when toggling search engines results
in oversize and cropped search engine icon shown in the omnibox.
This is partially because the ChromeTransitionDrawable animating
between states receives Drawables of inconsistent sizes, and changes
its intrinsic size, trying to accommodate the larger of the drawables.
Second more important factor is that the StatusIconResource carrying
drawable was shared between two different views - the NTP Fakebox and
the Omnibox. One view altering the Drawable state made the other view
instantly see these alterations, resulting in wrong positioning of
the icon.
This change aligns all StatusView icon sizes, ensuring that no icon
can ever change the intrinsic size of the TransitionDrawable.
Change intentionally kept small as it will need to be cherrypicked.
Fixed: 449181250
Change-Id: I59953971b99a01d015aa2398db058677c7816d7c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7007583
Commit-Queue: Tomasz Wiszkowski <ender@google.com>
Reviewed-by: Patrick Noland <pnoland@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1525046}
This change has been produced using a Ruby script that implements the
following logic:
1. For each <color> tag in the destination, try to find one in the
source with the same name
2. If found, update the destination tag with the colour from the source
tag
3. If not found, do nothing and move onto the next tag.
4. Tags that exist in the source but not the destination are ignored.
Currently, some tags exist in the destination XML that are missing from
the source and also vice versa.
Once this has been resolved, we should be able to delete the files in
this diff and move to simply copying the generated XML files straight
out of brave/leo.
Additionally, a small change has been made to the Brave Sync "Add New
Device" button to use a Nala-defined colour rather than being hard-coded
to white.
Closesbrave/brave-browser#49143
Chromium changes:
https://chromium.googlesource.com/chromium/src/+/e981dd46821f563acaa6a5a3d8fd51e046e311e2
commit e981dd46821f563acaa6a5a3d8fd51e046e311e2
Author: Patrick Noland <pnoland@google.com>
Date: Wed Aug 13 13:37:18 2025 -0700
[Toolbar] Rework hairline positioning
Manually calculating the margin for the hairline is error-prone and
tedious when multiple components can alter the height of the toolbar.
Instead of manual manipulation, we can position it "for free" by using
coordinator layout's anchor gravity concept.
This does require switching the toolbar container to be a
CoordinatorLayout. Mostly this is easy since CoordinatorLayout is a more
powerful FrameLayout. There is one consideration: OptimizedFrameLayout,
formerly in the inheritance chain for the toolbar container, reduced the
number of measure calls on ToolbarLayout for performance reasons.
This ends up not mattering because CoordinatorLayout performs the same
number of measure calls.
NO_IFTTT=Adding block for the first time
Change-Id: Idfbb41afbbb1d361214cd0e8e585fefa545aee89
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6828889
Reviewed-by: Xi Han <hanxi@chromium.org>
Reviewed-by: Wenyu Fu <wenyufu@chromium.org>
Commit-Queue: Patrick Noland <pnoland@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1501003}
The custom menu item preference screen follows the Figma design and is composed by two sections, Main menu and Page actions.
The screen shows only those items that are supported by the device, items that will never appear won't be shown.
Each item's visibility will default to true and each preference is saved on shared preferences.
The only two items whose visibility cannot be modified are the Main Settings item and the Custom Menu item itself.
Implements Brave origin paywall screen and handles subscription
purchases on Google Play Store. There is no entry point to it
currently, it will be done in the feature PRs
Resolves: https://github.com/brave/brave-browser/issues/48279
* [Android] Initial integration of quick shortcut button
- Adds flag for quick shortcut (disabled until all Brave items are available)
- Makes parity with options available with the upstream
- Visual and UI fixes
* Moves flag under Android guards
* Move java classes into brave/browser for quick_search_engines
* Move serach_engines resources to brave/browser/search_engines
* Add translations files for search_engines android string
* Add dimens
Add a function to load favicons
* Add close menu id for quick search
* Add missing deps
* Move quick search engines changes to brave/browser/quick_search_engines
* Remove comments for BUILD.gn
* Add support for diferent variants
* Remove omnibox highlight which shows up right after onboarding
* Add different variants function
* Add search widget promo on NTP
* Add notification permission changes
* Update widget promo UI
* Update wdp check
Resolve presubmit issue
* Add rewards 3.0 feature flag
* Add a function to check for rewards 3.0 flag
Update entry points for rewards with rewards 3.0 flag
* Add RewardsPageActivity/RewardsCustomTabRootUiCoordinator to show rewards 3.0 changes in custom tab
* Address rewards reset for rewards 3.0
* Add activity transition for rewards page
* Remove onBackPressed override
* Add close button to close the rewards panel as we have disabled back press
Update close button position on the page
* Add creator changes for rewards 3.0
Remove logs
Add null check
Remove changes for backpress
* Add changes for handling creators
Encode Url for creators
* Add open url native fucntion
* Add bubble in query params
* Add bytecode changes for BaseCustomTabActivity
Add native function to open url into rewards_page_ui
* Update copyright header year
* Update close icon for rewards page
Remove comments and refactor changes
* Address naming related changes
* Add test for bytecode changes
Resolve rebase error
* Update changes to use TabUtils open tab
* Remove close button
* Add FullScreenCustomTabActivity
🎨 Redesign private tab UI following Figma design.
Private tab redesign includes three new sections "Leave no trace", "Browsing visibility" and "Brave VPN".
Brave VPN section will show a call to action text view that will redirect to the subscription page. If the user is already a paying customer, or the VPN is not supported the CTA view will be hidden.
The design is responsive and adjust to large device screens and tablets, following the logic provided by Figma design.
The entire layout is centered in the visible part of the page.
* Fixed navigation bar color at private tab; fixesbrave/brave-browser#41545
Chromium change:
https://source.chromium.org/chromium/chromium/src/+/52962da478ed750038f966c386c4ee0ff2d73837
Always apply luminance calculation to navigation bar icons
Currently, the navigation bar icons only respond to the color of the navigation bar during animations. Since animations are being disabled for the navbar coloring experiment, it's important that the luminance calculation to properly color the navigation bar icons is applied all the time, not just during animations.
Bug: 364228106, 40925025