Skip to content

Commit 881dbfa

Browse files
committed
Add prototype for NTP refresh
1 parent d363263 commit 881dbfa

File tree

139 files changed

+11018
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+11018
-2
lines changed

.storybook/main.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ const slashStoriesIndexer: Indexer = {
2222
const config: StorybookConfig = {
2323
stories: process.env.STORYBOOK_STORYPATH
2424
? [`../${process.env.STORYBOOK_STORYPATH}`]
25-
: ['../components/**/stories/*.tsx', '../components/**/*.stories.tsx'],
25+
: [
26+
'../components/**/stories/*.tsx',
27+
'../components/**/*.stories.tsx',
28+
'../browser/resources/**/stories/*.tsx'
29+
],
2630
typescript: {
2731
check: false,
2832
reactDocgen: false,

browser/about_flags.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,13 @@ const flags_ui::FeatureEntry::FeatureVariation kZCashFeatureVariations[] = {
535535
kOsDesktop, \
536536
FEATURE_VALUE_TYPE(features::kBraveNtpSearchWidget), \
537537
}, \
538+
{ \
539+
"brave-use-updated-ntp", \
540+
"Use the updated New Tab Page", \
541+
"Uses an updated version of the New Tab Page", \
542+
kOsDesktop, \
543+
FEATURE_VALUE_TYPE(features::kUseUpdatedNTP), \
544+
}, \
538545
{ \
539546
"brave-adblock-cname-uncloaking", \
540547
"Enable CNAME uncloaking", \

browser/brave_browser_features.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99

1010
namespace features {
1111

12+
BASE_FEATURE(kUseUpdatedNTP,
13+
"BraveUseUpdatedNewTabPage",
14+
base::FEATURE_DISABLED_BY_DEFAULT);
15+
1216
// Cleanup Session Cookies on browser restart if Session Restore is enabled.
1317
BASE_FEATURE(kBraveCleanupSessionCookiesOnSessionRestore,
1418
"BraveCleanupSessionCookiesOnSessionRestore",

browser/brave_browser_features.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace features {
1515

16+
BASE_DECLARE_FEATURE(kUseUpdatedNTP);
1617
BASE_DECLARE_FEATURE(kBraveCleanupSessionCookiesOnSessionRestore);
1718
BASE_DECLARE_FEATURE(kBraveCopyCleanLinkByDefault);
1819
BASE_DECLARE_FEATURE(kBraveCopyCleanLinkFromJs);

browser/brave_content_browser_client.cc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
#include "brave/components/decentralized_dns/content/decentralized_dns_navigation_throttle.h"
9191
#include "brave/components/google_sign_in_permission/google_sign_in_permission_throttle.h"
9292
#include "brave/components/google_sign_in_permission/google_sign_in_permission_util.h"
93+
#include "brave/components/ntp_background_images/browser/mojom/ntp_background_images.mojom.h"
9394
#include "brave/components/playlist/common/buildflags/buildflags.h"
9495
#include "brave/components/playlist/common/features.h"
9596
#include "brave/components/request_otr/common/buildflags/buildflags.h"
@@ -234,6 +235,7 @@ using extensions::ChromeContentBrowserClientExtensionsPart;
234235
#if !BUILDFLAG(IS_ANDROID)
235236
#include "brave/browser/new_tab/new_tab_shows_navigation_throttle.h"
236237
#include "brave/browser/ui/geolocation/brave_geolocation_permission_tab_helper.h"
238+
#include "brave/browser/ui/webui/brave_new_tab_page_refresh/brave_new_tab_page_ui.h"
237239
#include "brave/browser/ui/webui/brave_news_internals/brave_news_internals_ui.h"
238240
#include "brave/browser/ui/webui/brave_rewards/rewards_page_top_ui.h"
239241
#include "brave/browser/ui/webui/brave_rewards/rewards_panel_ui.h"
@@ -666,14 +668,23 @@ void BraveContentBrowserClient::RegisterWebUIInterfaceBrokers(
666668
.Add<brave_new_tab_page::mojom::PageHandlerFactory>()
667669
.Add<brave_news::mojom::BraveNewsController>();
668670

671+
auto ntp_refresh_registration =
672+
registry.ForWebUI<BraveNewTabPageUI>()
673+
.Add<brave_new_tab_page_refresh::mojom::NewTabPageHandler>()
674+
.Add<brave_rewards::mojom::RewardsPageHandler>()
675+
.Add<
676+
ntp_background_images::mojom::SponsoredRichMediaAdEventHandler>();
677+
669678
#if BUILDFLAG(ENABLE_BRAVE_VPN)
670679
if (brave_vpn::IsBraveVPNFeatureEnabled()) {
671680
ntp_registration.Add<brave_vpn::mojom::ServiceHandler>();
681+
ntp_refresh_registration.Add<brave_vpn::mojom::ServiceHandler>();
672682
}
673683
#endif
674684

675685
if (base::FeatureList::IsEnabled(features::kBraveNtpSearchWidget)) {
676686
ntp_registration.Add<searchbox::mojom::PageHandler>();
687+
ntp_refresh_registration.Add<searchbox::mojom::PageHandler>();
677688
}
678689

679690
if (base::FeatureList::IsEnabled(
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright (c) 2025 The Brave Authors. All rights reserved.
2+
# This Source Code Form is subject to the terms of the Mozilla Public
3+
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
4+
# You can obtain one at https://mozilla.org/MPL/2.0/.
5+
6+
import("//brave/components/common/typescript.gni")
7+
import("//mojo/public/tools/bindings/mojom.gni")
8+
9+
assert(!is_android)
10+
11+
transpile_web_ui("resources") {
12+
entry_points = [ [
13+
"brave_new_tab_page",
14+
rebase_path("brave_new_tab_page.tsx"),
15+
] ]
16+
resource_name = "brave_new_tab_page"
17+
output_module = true
18+
deps = [
19+
"//brave/browser/ui/webui/brave_new_tab_page_refresh:mojom_js",
20+
"//brave/components/brave_ads/core/mojom:mojom_js",
21+
"//brave/components/brave_rewards/core/mojom:webui_js",
22+
"//brave/components/brave_vpn/common/mojom:mojom_js",
23+
"//brave/components/ntp_background_images/browser/mojom:mojom_js",
24+
]
25+
}
26+
27+
pack_web_resources("generated_resources") {
28+
resource_name = "brave_new_tab_page"
29+
output_dir =
30+
"$root_gen_dir/brave/browser/resources/brave_new_tab_page_refresh"
31+
deps = [ ":resources" ]
32+
}
Lines changed: 42 additions & 0 deletions
Loading
Lines changed: 42 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)