Bug 1367063 - With fennec killed, search widget "new tab" loads homepage even when "also use for new tabs" isn't set in settings draft
authorfriedger <friedger@gmail.com>
Thu, 08 Jun 2017 14:42:30 +0200
changeset 590949 415112acaca0be72863f37aa8da591df1880d765
parent 590795 7efda263a842e60cd0cc00b3c4a7058c65590702
child 632380 95ae708670fb431305aaa668f4a2861d94488b74
push id62909
push userbmo:mail@friedger.de
push dateThu, 08 Jun 2017 12:43:14 +0000
bugs1367063
milestone55.0a1
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
mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
mobile/android/base/java/org/mozilla/gecko/Tabs.java
--- 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.