Bug 1367063 - With fennec killed, search widget "new tab" loads homepage even when "also use for new tabs" isn't set in settings
use homepage for new tab, instead of startup as user wanted to start a new tab
MozReview-Commit-ID: 2xx7SwWUYWt
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
@@ -1694,17 +1694,17 @@ public abstract class GeckoApp extends G
*/
protected void loadStartupTab(final int flags, String action) {
if (!mShouldRestore || Intent.ACTION_VIEW.equals(action)) {
if (mLastSessionCrashed) {
// The Recent Tabs panel no longer exists, but BrowserApp will redirect us
// to the Recent Tabs folder of the Combined History panel.
Tabs.getInstance().loadUrl(AboutPages.getURLForBuiltinPanelType(PanelType.DEPRECATED_RECENT_TABS), flags);
} else {
- Tabs.getInstance().loadUrl(Tabs.getHomepageForStartupTab(this), flags);
+ Tabs.getInstance().loadUrl(Tabs.getHomepageForNewTab(this), flags);
}
}
}
/**
* Loads the initial tab at Fennec startup. This tab will load with the given
* external URL. If that URL is invalid, a startup tab will be loaded.
*
--- a/mobile/android/base/java/org/mozilla/gecko/Tabs.java
+++ b/mobile/android/base/java/org/mozilla/gecko/Tabs.java
@@ -1295,17 +1295,17 @@ public class Tabs implements BundleEvent
/**
* Note: For opening a new tab while respecting the user's preferences, just use
* {@link Tabs#addTab()} instead.
*
* @return The user's homepage (falling back to about:home) if PREFS_HOMEPAGE_FOR_EVERY_NEW_TAB
* is enabled, or else about:home.
*/
@NonNull
- private static String getHomepageForNewTab(Context context) {
+ public static String getHomepageForNewTab(Context context) {
final SharedPreferences preferences = GeckoSharedPrefs.forApp(context);
final boolean forEveryNewTab = preferences.getBoolean(GeckoPreferences.PREFS_HOMEPAGE_FOR_EVERY_NEW_TAB, false);
return forEveryNewTab ? getHomepageForStartupTab(context) : AboutPages.HOME;
}
/**
* @return The user's homepage, or about:home if none is set.