Removing individual NTP controls from settings page

This commit is contained in:
ryanml
2020-11-11 18:01:56 -07:00
parent 8233db8e70
commit fe54ecccbf
7 changed files with 0 additions and 468 deletions
-24
View File
@@ -282,33 +282,9 @@ By installing this extension, you are agreeing to the Google Widevine Terms of U
<message name="IDS_SETTINGS_NEW_TAB" desc="The text label for the New Tab settings page">
New Tab Page
</message>
<message name="IDS_SETTINGS_NEW_TAB_BACKGROUND_IMAGES" desc="The label for Background images show/hide feature toggle">
Background images
</message>
<message name="IDS_SETTINGS_NEW_TAB_SPONSORED_IMAGES" desc="The label for Sponsored images show/hide feature toggle">
Sponsored images
</message>
<message name="IDS_SETTINGS_NEW_TAB_STATS" desc="The label for Stats show/hide feature toggle">
Brave Stats
</message>
<message name="IDS_SETTINGS_NEW_TAB_BRAVE_REWARDS" desc="The label for Brave Rewards show/hide feature toggle">
Brave Rewards
</message>
<message name="IDS_SETTINGS_NEW_TAB_TOGETHER" desc="The label for Brave Together show/hide feature toggle">
Brave Together
</message>
<message name="IDS_SETTINGS_NEW_TAB_BINANCE" desc="The label for Binance show/hide feature toggle">
Binance
</message>
<message name="IDS_SETTINGS_NEW_TAB_GEMINI" desc="The label for Gemini show/hide feature toggle">
Gemini
</message>
<message name="IDS_SETTINGS_NEW_TAB_TOP_SITES" desc="The label for Top Sites show/hide feature toggle">
Top Sites
</message>
<message name="IDS_SETTINGS_NEW_TAB_CLOCK" desc="The label for Clock show/hide feature toggle">
Clock
</message>
<message name="IDS_SETTINGS_NEW_TAB_NEW_TAB_PAGE_SHOWS" desc="The label for New Tab Page shows customization">
New tab page shows
</message>
@@ -9,45 +9,6 @@
cr.define('settings', function() {
/** @interface */
/* #export */ class BraveNewTabBrowserProxy {
/**
* @return {!Promise<Boolean>}
*/
getIsSuperReferralActive() {}
/**
* @return {!Promise<Boolean>}
*/
getIsBinanceSupported() {}
/**
* @return {!Promise<Boolean>}
*/
getIsBraveTogetherSupported() {}
/**
* @return {!Promise<Boolean>}
*/
getIsGeminiSupported() {}
/**
* @return {!Promise<Boolean>}
*/
getIsBitcoinDotComSupported() {}
/**
* @return {!Promise<Boolean>}
*/
getShowTopSites() {}
/**
*/
toggleTopSitesVisible() {}
/**
* @return {!Promise<Boolean>}
*/
isCryptoDotComSupported() {}
/**
* @return {!Promise<Array>}
*/
@@ -63,46 +24,6 @@ cr.define('settings', function() {
* @implements {settings.BraveNewTabBrowserProxy}
*/
/* #export */ class BraveNewTabBrowserProxyImpl {
/** @override */
getIsSuperReferralActive() {
return cr.sendWithPromise('getIsSuperReferralActive');
}
/** @override */
getIsBinanceSupported() {
return cr.sendWithPromise('getIsBinanceSupported')
}
/** @override */
getIsBraveTogetherSupported() {
return cr.sendWithPromise('getIsBraveTogetherSupported')
}
/** @override */
getIsGeminiSupported() {
return cr.sendWithPromise('getIsGeminiSupported')
}
/** @override */
getIsBitcoinDotComSupported() {
return cr.sendWithPromise('getIsBitcoinDotComSupported')
}
/** @override */
getShowTopSites() {
return cr.sendWithPromise('getShowTopSites')
}
/** @override */
toggleTopSitesVisible() {
chrome.send('toggleTopSitesVisible', [])
}
/** @override */
getIsCryptoDotComSupported() {
return cr.sendWithPromise('getIsCryptoDotComSupported')
}
/** @override */
getNewTabShowsOptionsList() {
return cr.sendWithPromise('getNewTabShowsOptionsList')
@@ -38,80 +38,9 @@
<div class="settings-box">
<div class="flex">
<div class="normalize-margin">
<template is="dom-if" if="[[!isSuperReferralActive_]]">
<settings-toggle-button id="showBackgroundImageControlType"
pref="{{prefs.brave.new_tab_page.show_background_image}}"
label="$i18n{braveNewTabBackgroundImages}">
</settings-toggle-button>
<settings-toggle-button
class="nested-section borderless"
pref="{{prefs.brave.new_tab_page.show_branded_background_image}}"
disabled="{{!prefs.brave.new_tab_page.show_background_image.value}}"
label="$i18n{braveNewTabSponsoredImages}">
</settings-toggle-button>
</template>
</div>
</div>
</div>
<div class="flex">
<settings-toggle-button
class="cr-row"
pref="{{prefs.brave.new_tab_page.show_stats}}"
label="$i18n{braveNewTabStats}">
</settings-toggle-button>
<settings-toggle-button
class="cr-row"
pref=""
checked="[[showTopSites_]]"
label="$i18n{braveNewTabTopSites}"
on-settings-boolean-control-change="onShowTopSitesChange_">
</settings-toggle-button>
<settings-toggle-button
class="cr-row"
pref="{{prefs.brave.new_tab_page.show_clock}}"
label="$i18n{braveNewTabClock}">
</settings-toggle-button>
<settings-toggle-button
class="cr-row"
pref="{{prefs.brave.new_tab_page.show_rewards}}"
label="$i18n{braveNewTabBraveRewards}">
</settings-toggle-button>
<template is="dom-if" if="[[isBraveTogetherSupported_]]">
<settings-toggle-button
class="cr-row"
pref="{{prefs.brave.new_tab_page.show_together}}"
label="$i18n{braveNewTabTogether}">
</settings-toggle-button>
</template>
<template is="dom-if" if="[[isBinanceSupported_]]">
<settings-toggle-button
class="cr-row"
pref="{{prefs.brave.new_tab_page.show_binance}}"
label="$i18n{braveNewTabBinance}">
</settings-toggle-button>
</template>
<template is="dom-if" if="[[isGeminiSupported_]]">
<settings-toggle-button
class="cr-row"
pref="{{prefs.brave.new_tab_page.show_gemini}}"
label="$i18n{braveNewTabGemini}">
</settings-toggle-button>
</template>
<template is="dom-if" if="[[isBitcoinDotComSupported_]]">
<settings-toggle-button
class="cr-row"
pref="{{prefs.moonpay.new_tab_page.show_bitcoin_dot_com}}"
label="$i18n{braveNewTabBitcoinDotCom}">
</settings-toggle-button>
</template>
<template is="dom-if" if="[[isCryptoDotComSupported_]]">
<settings-toggle-button
class="cr-row"
pref="{{prefs.crypto_dot_com.new_tab_page.show_crypto_dot_com}}"
label="$i18n{braveNewTabCryptoDotCom}">
</settings-toggle-button>
</template>
</div>
</template>
</template>
<script src="brave_new_tab_page.js"></script>
@@ -21,13 +21,6 @@
],
properties: {
isSuperReferralActive_: Boolean,
isBinanceSupported_: Boolean,
isBraveTogetherSupported_: Boolean,
isGeminiSupported_: Boolean,
isBitcoinDotComSupported_: Boolean,
showTopSites_: Boolean,
isCryptoDotComSupported_: Boolean,
newTabShowOptions_: Array,
shouldNewTabShowDashboardSettings_: Boolean,
},
@@ -35,39 +28,11 @@
/** @override */
created: function() {
this.browserProxy_ = settings.BraveNewTabBrowserProxyImpl.getInstance();
this.isSuperReferralActive_ = false;
this.isBinanceSupported_ = false;
this.isBraveTogetherSupported_ = false;
this.isGeminiSupported_ = false;
this.isBitcoinDotComSupported_ = false;
this.showTopSites_ = false;
this.isCryptoDotComSupported_ = false;
this.showNewTabDashboardSettings_ = false;
},
/** @override */
ready: function() {
this.browserProxy_.getIsSuperReferralActive().then(isSuperReferralActive => {
this.isSuperReferralActive_ = isSuperReferralActive;
})
this.browserProxy_.getIsBinanceSupported().then(isBinanceSupported => {
this.isBinanceSupported_ = isBinanceSupported;
})
this.browserProxy_.getIsBraveTogetherSupported().then(isBraveTogetherSupported => {
this.isBraveTogetherSupported_ = isBraveTogetherSupported;
})
this.browserProxy_.getIsGeminiSupported().then(isGeminiSupported => {
this.isGeminiSupported_ = isGeminiSupported;
})
this.browserProxy_.getIsBitcoinDotComSupported().then(isBitcoinDotComSupported => {
this.isBitcoinDotComSupported_ = isBitcoinDotComSupported;
})
this.browserProxy_.getShowTopSites().then(visible => {
this.showTopSites_ = visible;
})
this.browserProxy_.getIsCryptoDotComSupported().then(isCryptoDotComSupported => {
this.isCryptoDotComSupported_ = isCryptoDotComSupported;
})
this.browserProxy_.getNewTabShowsOptionsList().then(list => {
this.newTabShowOptions_ = list;
})
@@ -75,19 +40,9 @@
this.showNewTabDashboardSettings_ = showNewTabDashboardSettings;
})
this.addWebUIListener('super-referral-active-state-changed', (isSuperReferralActive) => {
this.isSuperReferralActive_ = isSuperReferralActive;
})
this.addWebUIListener('ntp-shortcut-visibility-changed', (visible) => {
this.showTopSites_ = visible;
})
this.addWebUIListener('show-new-tab-dashboard-settings-changed', (show) => {
this.showNewTabDashboardSettings_ = show
})
},
onShowTopSitesChange_: function() {
this.browserProxy_.toggleTopSitesVisible();
}
});
})();
@@ -9,19 +9,10 @@
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_number_conversions.h"
#include "brave/browser/new_tab/new_tab_shows_options.h"
#include "brave/browser/ntp_background_images/view_counter_service_factory.h"
#include "brave/browser/profiles/profile_util.h"
#include "brave/browser/themes/brave_dark_mode_utils.h"
#include "brave/common/pref_names.h"
#include "brave/components/binance/browser/buildflags/buildflags.h"
#include "brave/components/brave_together/buildflags/buildflags.h"
#include "brave/components/crypto_dot_com/browser/buildflags/buildflags.h"
#include "brave/components/gemini/browser/buildflags/buildflags.h"
#include "brave/components/moonpay/browser/buildflags/buildflags.h"
#include "brave/components/ntp_background_images/browser/ntp_background_images_data.h"
#include "brave/components/ntp_background_images/browser/view_counter_service.h"
#include "brave/components/ntp_background_images/common/pref_names.h"
#include "brave/components/ntp_widget_utils/browser/ntp_widget_utils_region.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search/instant_service.h"
@@ -30,45 +21,6 @@
#include "components/prefs/pref_service.h"
#include "content/public/browser/web_ui.h"
#if BUILDFLAG(BINANCE_ENABLED)
#include "brave/components/binance/browser/regions.h"
#endif
#if BUILDFLAG(BRAVE_TOGETHER_ENABLED)
#include "brave/components/brave_together/browser/regions.h"
#endif
#if BUILDFLAG(GEMINI_ENABLED)
#include "brave/components/gemini/browser/regions.h"
#endif
#if BUILDFLAG(MOONPAY_ENABLED)
#include "brave/components/moonpay/browser/regions.h"
#endif
#if BUILDFLAG(CRYPTO_DOT_COM_ENABLED)
#include "brave/components/crypto_dot_com/browser/regions.h"
#endif
using ntp_background_images::ViewCounterServiceFactory;
using ntp_background_images::prefs::kNewTabPageSuperReferralThemesOption;
namespace {
bool IsSuperReferralActive(Profile* profile) {
bool isSuperReferralActive = false;
auto* service = ViewCounterServiceFactory::GetForProfile(profile);
if (service) {
auto* data = service->GetCurrentBrandedWallpaperData();
if (data && data->IsSuperReferral()) {
isSuperReferralActive = true;
}
}
return isSuperReferralActive;
}
} // namespace
BraveAppearanceHandler::BraveAppearanceHandler() {
local_state_change_registrar_.Init(g_browser_process->local_state());
@@ -84,21 +36,6 @@ BraveAppearanceHandler::~BraveAppearanceHandler() = default;
void BraveAppearanceHandler::RegisterMessages() {
profile_ = Profile::FromWebUI(web_ui());
profile_state_change_registrar_.Init(profile_->GetPrefs());
profile_state_change_registrar_.Add(
kNewTabPageSuperReferralThemesOption,
base::BindRepeating(&BraveAppearanceHandler::OnPreferenceChanged,
base::Unretained(this)));
profile_state_change_registrar_.Add(
ntp_background_images::prefs::kNewTabPageShowBackgroundImage,
base::BindRepeating(
&BraveAppearanceHandler::OnBackgroundPreferenceChanged,
base::Unretained(this)));
profile_state_change_registrar_.Add(
ntp_background_images::prefs::
kNewTabPageShowSponsoredImagesBackgroundImage,
base::BindRepeating(
&BraveAppearanceHandler::OnBackgroundPreferenceChanged,
base::Unretained(this)));
profile_state_change_registrar_.Add(
kNewTabPageShowsOptions,
base::BindRepeating(&BraveAppearanceHandler::OnPreferenceChanged,
@@ -123,34 +60,6 @@ void BraveAppearanceHandler::RegisterMessages() {
"getBraveThemeType",
base::BindRepeating(&BraveAppearanceHandler::GetBraveThemeType,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getIsSuperReferralActive",
base::BindRepeating(&BraveAppearanceHandler::GetIsSuperReferralActive,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getIsBinanceSupported",
base::BindRepeating(&BraveAppearanceHandler::GetIsBinanceSupported,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getIsBraveTogetherSupported",
base::BindRepeating(&BraveAppearanceHandler::GetIsBraveTogetherSupported,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getIsGeminiSupported",
base::BindRepeating(&BraveAppearanceHandler::GetIsGeminiSupported,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getIsBitcoinDotComSupported",
base::BindRepeating(&BraveAppearanceHandler::GetIsBitcoinDotComSupported,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"toggleTopSitesVisible",
base::BindRepeating(&BraveAppearanceHandler::ToggleTopSitesVisible,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getShowTopSites",
base::BindRepeating(&BraveAppearanceHandler::GetShowTopSites,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
"getNewTabShowsOptionsList",
base::BindRepeating(&BraveAppearanceHandler::GetNewTabShowsOptionsList,
@@ -160,12 +69,6 @@ void BraveAppearanceHandler::RegisterMessages() {
base::BindRepeating(
&BraveAppearanceHandler::ShouldShowNewTabDashboardSettings,
base::Unretained(this)));
#if BUILDFLAG(CRYPTO_DOT_COM_ENABLED)
web_ui()->RegisterMessageCallback(
"getIsCryptoDotComSupported",
base::BindRepeating(&BraveAppearanceHandler::GetIsCryptoDotComSupported,
base::Unretained(this)));
#endif
}
void BraveAppearanceHandler::SetBraveThemeType(const base::ListValue* args) {
@@ -189,95 +92,6 @@ void BraveAppearanceHandler::GetBraveThemeType(const base::ListValue* args) {
base::Value(static_cast<int>(dark_mode::GetBraveDarkModeType())));
}
void BraveAppearanceHandler::GetIsSuperReferralActive(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
ResolveJavascriptCallback(args->GetList()[0],
base::Value(IsSuperReferralActive(profile_)));
}
void BraveAppearanceHandler::GetIsBinanceSupported(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
#if !BUILDFLAG(BINANCE_ENABLED)
bool is_supported = false;
#else
bool is_supported = ntp_widget_utils::IsRegionSupported(
profile_->GetPrefs(), binance::unsupported_regions, false);
#endif
ResolveJavascriptCallback(args->GetList()[0], base::Value(is_supported));
}
void BraveAppearanceHandler::GetIsBraveTogetherSupported(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
#if !BUILDFLAG(BRAVE_TOGETHER_ENABLED)
bool is_supported = false;
#else
bool is_supported = ntp_widget_utils::IsRegionSupported(
profile_->GetPrefs(), brave_together::unsupported_regions, false);
#endif
ResolveJavascriptCallback(args->GetList()[0], base::Value(is_supported));
}
void BraveAppearanceHandler::GetIsGeminiSupported(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
#if !BUILDFLAG(GEMINI_ENABLED)
bool is_supported = false;
#else
bool is_supported = ntp_widget_utils::IsRegionSupported(
profile_->GetPrefs(), gemini::supported_regions, true);
#endif
ResolveJavascriptCallback(args->GetList()[0], base::Value(is_supported));
}
void BraveAppearanceHandler::GetIsBitcoinDotComSupported(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
#if !BUILDFLAG(MOONPAY_ENABLED)
bool is_supported = false;
#else
bool is_supported = ntp_widget_utils::IsRegionSupported(
profile_->GetPrefs(), moonpay::bitcoin_dot_com_supported_regions, true);
#endif
ResolveJavascriptCallback(args->GetList()[0], base::Value(is_supported));
}
void BraveAppearanceHandler::GetIsCryptoDotComSupported(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
#if !BUILDFLAG(CRYPTO_DOT_COM_ENABLED)
bool is_supported = false;
#else
bool is_supported = ntp_widget_utils::IsRegionSupported(
profile_->GetPrefs(), crypto_dot_com::unsupported_regions, false);
#endif
ResolveJavascriptCallback(args->GetList()[0], base::Value(is_supported));
}
void BraveAppearanceHandler::OnBraveDarkModeChanged() {
// GetBraveThemeType() should be used because settings option displays all
// available options including default.
@@ -295,12 +109,6 @@ void BraveAppearanceHandler::OnBackgroundPreferenceChanged(
void BraveAppearanceHandler::OnPreferenceChanged(const std::string& pref_name) {
if (IsJavascriptAllowed()) {
if (pref_name == kNewTabPageSuperReferralThemesOption) {
FireWebUIListener("super-referral-active-state-changed",
base::Value(IsSuperReferralActive(profile_)));
return;
}
if (pref_name == kNewTabPageShowsOptions ||
pref_name == prefs::kHomePage ||
pref_name == prefs::kHomePageIsNewTabPage) {
@@ -312,38 +120,6 @@ void BraveAppearanceHandler::OnPreferenceChanged(const std::string& pref_name) {
}
}
void BraveAppearanceHandler::ToggleTopSitesVisible(
const base::ListValue* args) {
AllowJavascript();
InstantService* instant_service =
InstantServiceFactory::GetForProfile(profile_);
// true means to notify observers
instant_service->ToggleShortcutsVisibility(true);
}
void BraveAppearanceHandler::GetShowTopSites(const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
AllowJavascript();
InstantService* instant_service =
InstantServiceFactory::GetForProfile(profile_);
auto pair = instant_service->GetCurrentShortcutSettings();
bool top_sites_visible = pair.second;
ResolveJavascriptCallback(args->GetList()[0], base::Value(top_sites_visible));
}
void BraveAppearanceHandler::TopSitesVisibleChanged(
const std::string& pref_name) {
InstantService* instant_service =
InstantServiceFactory::GetForProfile(profile_);
auto pair = instant_service->GetCurrentShortcutSettings();
bool top_sites_visible = pair.second;
if (IsJavascriptAllowed()) {
// This event will be picked up by brave_new_tab_page.js
FireWebUIListener("ntp-shortcut-visibility-changed",
base::Value(top_sites_visible));
}
}
void BraveAppearanceHandler::GetNewTabShowsOptionsList(
const base::ListValue* args) {
CHECK_EQ(args->GetSize(), 1U);
@@ -32,15 +32,6 @@ class BraveAppearanceHandler : public settings::SettingsPageUIHandler {
void OnPreferenceChanged(const std::string& pref_name);
void SetBraveThemeType(const base::ListValue* args);
void GetBraveThemeType(const base::ListValue* args);
void GetIsSuperReferralActive(const base::ListValue* args);
void GetIsBinanceSupported(const base::ListValue* args);
void GetIsBraveTogetherSupported(const base::ListValue* args);
void GetIsGeminiSupported(const base::ListValue* args);
void GetIsBitcoinDotComSupported(const base::ListValue* args);
void ToggleTopSitesVisible(const base::ListValue* args);
void GetShowTopSites(const base::ListValue* args);
void TopSitesVisibleChanged(const std::string& pref_name);
void GetIsCryptoDotComSupported(const base::ListValue* args);
void GetNewTabShowsOptionsList(const base::ListValue* args);
void ShouldShowNewTabDashboardSettings(const base::ListValue* args);
@@ -10,8 +10,6 @@
#include "base/strings/utf_string_conversions.h"
#include "brave/browser/ui/webui/settings/brave_privacy_handler.h"
#include "brave/browser/version_info.h"
#include "brave/components/moonpay/browser/buildflags/buildflags.h"
#include "brave/components/crypto_dot_com/browser/buildflags/buildflags.h"
#include "chrome/browser/ui/webui/webui_util.h"
#include "chrome/common/pref_names.h"
#include "components/grit/brave_components_strings.h"
@@ -261,21 +259,7 @@ void BraveAddCommonStrings(content::WebUIDataSource* html_source,
IDS_SETTINGS_HELP_TIPS_SHOW_BRAVE_WAYBACK_MACHINE_PROMPT},
// New Tab Page
{ "braveNewTab", IDS_SETTINGS_NEW_TAB },
{ "braveNewTabBackgroundImages", IDS_SETTINGS_NEW_TAB_BACKGROUND_IMAGES },
{ "braveNewTabSponsoredImages", IDS_SETTINGS_NEW_TAB_SPONSORED_IMAGES },
{ "braveNewTabStats", IDS_SETTINGS_NEW_TAB_STATS },
{ "braveNewTabBraveRewards", IDS_SETTINGS_NEW_TAB_BRAVE_REWARDS },
{ "braveNewTabBinance", IDS_SETTINGS_NEW_TAB_BINANCE },
{ "braveNewTabGemini", IDS_SETTINGS_NEW_TAB_GEMINI },
#if BUILDFLAG(MOONPAY_ENABLED)
{ "braveNewTabBitcoinDotCom", IDS_SETTINGS_NEW_TAB_BITCOIN_DOT_COM },
#endif
#if BUILDFLAG(CRYPTO_DOT_COM_ENABLED)
{ "braveNewTabCryptoDotCom", IDS_SETTINGS_NEW_TAB_CRYPTO_DOT_COM },
#endif
{ "braveNewTabTogether", IDS_SETTINGS_NEW_TAB_TOGETHER },
{ "braveNewTabTopSites", IDS_SETTINGS_NEW_TAB_TOP_SITES },
{ "braveNewTabClock", IDS_SETTINGS_NEW_TAB_CLOCK },
{ "braveNewTabNewTabPageShows", IDS_SETTINGS_NEW_TAB_NEW_TAB_PAGE_SHOWS },
// Misc (TODO: Organize this)
{"onExitPageTitle",