From 3444be04d8e07d999befb18e599dd522e9818f55 Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sun, 14 Nov 2021 22:30:28 +0100 Subject: [PATCH] Re-introduce patch to add option to use home page as NTP --- .../Add-option-to-use-home-page-as-NTP.patch | 228 ++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 build/patches/Add-option-to-use-home-page-as-NTP.patch diff --git a/build/patches/Add-option-to-use-home-page-as-NTP.patch b/build/patches/Add-option-to-use-home-page-as-NTP.patch new file mode 100644 index 00000000..7dd10968 --- /dev/null +++ b/build/patches/Add-option-to-use-home-page-as-NTP.patch @@ -0,0 +1,228 @@ +From: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Mon, 18 Mar 2019 21:47:12 +0100 +Subject: Add option to use home page as NTP + +Use about:blank as default homepage +--- + .../java/res/xml/homepage_preferences.xml | 5 +++ + .../browser/homepage/HomepageManager.java | 22 +++++++++- + .../homepage/settings/HomepageSettings.java | 11 +++++ + .../chrome/browser/tabmodel/TabCreator.java | 40 ++++++++++++++++++- + .../strings/android_chrome_strings.grd | 3 ++ + chrome/browser/ui/browser_ui_prefs.cc | 2 + + chrome/common/pref_names.cc | 4 ++ + chrome/common/pref_names.h | 1 + + 8 files changed, 84 insertions(+), 4 deletions(-) + +diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml +--- a/chrome/android/java/res/xml/homepage_preferences.xml ++++ b/chrome/android/java/res/xml/homepage_preferences.xml +@@ -12,6 +12,11 @@ + android:summaryOn="@string/text_on" + android:summaryOff="@string/text_off" /> + ++ ++ + { ++ mHomepageManager.setPrefNTPIsHomepageEnabled((boolean) newValue); ++ return true; ++ }); ++ + RecordUserAction.record("Settings.Homepage.Opened"); + } + +diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java +--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java ++++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabCreator.java +@@ -89,14 +89,50 @@ public abstract class TabCreator { + } + + /** +- * Creates a new tab and loads the NTP. ++ * Creates a new tab and loads the NTP or the homepage, depending on user preferences. + */ + public final void launchNTP() { + try { ++ String newTabURL = UrlConstants.NTP_URL; ++ if (getPrefNTPIsHomepageEnabled()) { ++ newTabURL = getHomepageUri(); ++ } + TraceEvent.begin("TabCreator.launchNTP"); +- launchUrl(UrlConstants.NTP_URL, TabLaunchType.FROM_CHROME_UI); ++ launchUrl(newTabURL, TabLaunchType.FROM_CHROME_UI); + } finally { + TraceEvent.end("TabCreator.launchNTP"); + } + } ++ ++ /* following functions are copied from HomepageManager to avoid a circular dependency */ ++ ++ private boolean getPrefNTPIsHomepageEnabled() { ++ return mSharedPreferencesManager.readBoolean(PREF_NTP_IS_HOMEPAGE, false); ++ } ++ ++ private String getHomepageUri() { ++ boolean isHomePageEnabled = mSharedPreferencesManager.readBoolean(ChromePreferenceKeys.HOMEPAGE_ENABLED, true); ++ if (!isHomePageEnabled) { ++ return ""; ++ } ++ if (getPrefHomepageUseChromeNTP() || getPrefHomepageUseDefaultUri()) { ++ //NOTE: ignores partner customizations ++ return UrlConstants.NTP_NON_NATIVE_URL; ++ } ++ return getPrefHomepageCustomUri(); ++ } ++ ++ private boolean getPrefHomepageUseChromeNTP() { ++ return mSharedPreferencesManager.readBoolean( ++ ChromePreferenceKeys.HOMEPAGE_USE_CHROME_NTP, false); ++ } ++ ++ private boolean getPrefHomepageUseDefaultUri() { ++ return mSharedPreferencesManager.readBoolean( ++ ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI, true); ++ } ++ ++ private String getPrefHomepageCustomUri() { ++ return mSharedPreferencesManager.readString(ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI, ""); ++ } + } +diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd +--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd ++++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +@@ -1047,6 +1047,9 @@ Your Google account may have other forms of browsing history like searches and a + + Last hour + ++ ++ Use for new tabs ++ + + Last 24 hours + +diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc +--- a/chrome/browser/ui/browser_ui_prefs.cc ++++ b/chrome/browser/ui/browser_ui_prefs.cc +@@ -65,6 +65,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { + GetHomeButtonAndHomePageIsNewTabPageFlags()); + registry->RegisterBooleanPref(prefs::kShowHomeButton, false, + GetHomeButtonAndHomePageIsNewTabPageFlags()); ++ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false, ++ GetHomeButtonAndHomePageIsNewTabPageFlags()); + + registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0); + bool reset_check_default = false; +diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc +--- a/chrome/common/pref_names.cc ++++ b/chrome/common/pref_names.cc +@@ -55,6 +55,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode"; + // A boolean specifying whether the New Tab page is the home page or not. + const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage"; + ++// A boolean specifying whether opening a new tab should open the Home page ++// instead of the New Tab page. ++const char kNewTabPageIsHomePage[] = "newtabpage_is_homepage"; ++ + // This is the URL of the page to load when opening new tabs. + const char kHomePage[] = "homepage"; + +diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h +--- a/chrome/common/pref_names.h ++++ b/chrome/common/pref_names.h +@@ -356,6 +356,7 @@ extern const char kExternalStorageReadOnly[]; + extern const char kSettingsShowOSBanner[]; + #endif // defined(OS_CHROMEOS) + extern const char kShowHomeButton[]; ++extern const char kNewTabPageIsHomePage[]; + extern const char kSpeechRecognitionFilterProfanities[]; + extern const char kAllowDeletingBrowserHistory[]; + extern const char kForceGoogleSafeSearch[]; +-- +2.20.1 +