Bug 1114821 - Remove nightly-only flag for about logins.r=liuche
authorAllison Naaktgeboren <ally@mozilla.com>
Mon, 17 Aug 2015 23:22:24 -0700
changeset 258086 c190fbf7154695940acf752a5ca44cda42c7fb5f
parent 258085 0ec4b789a1737f923cab976cf87a2dab697d8d0a
child 258087 95e78f3ea1f5d96c342595f05275d2c410a5d2db
push id14704
push useranaaktgeboren@mozilla.com
push dateTue, 18 Aug 2015 06:22:44 +0000
treeherderfx-team@c190fbf71546 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersliuche
bugs1114821
milestone43.0a1
Bug 1114821 - Remove nightly-only flag for about logins.r=liuche
mobile/android/base/BrowserApp.java
mobile/android/base/preferences/GeckoPreferences.java
mobile/android/base/resources/xml/preferences_privacy.xml
mobile/android/chrome/jar.mn
mobile/android/components/AboutRedirector.js
mobile/android/components/MobileComponents.manifest
mobile/android/locales/jar.mn
mobile/android/tests/browser/chrome/test_about_logins.html
mobile/android/tests/browser/robocop/testSettingsMenuItems.java
mobile/android/tests/browser/robocop/testSystemPages.java
mobile/android/themes/core/jar.mn
--- a/mobile/android/base/BrowserApp.java
+++ b/mobile/android/base/BrowserApp.java
@@ -3190,17 +3190,17 @@ public class BrowserApp extends GeckoApp
         // (We check the pref last to save the pref read.)
         // In ICS+, it's easy to kill an app through the task switcher.
         final boolean visible = Versions.preICS ||
                                 HardwareUtils.isTelevision() ||
                                 !PrefUtils.getStringSet(GeckoSharedPrefs.forProfile(this),
                                                         ClearOnShutdownPref.PREF,
                                                         new HashSet<String>()).isEmpty();
         aMenu.findItem(R.id.quit).setVisible(visible);
-        aMenu.findItem(R.id.logins).setVisible(AppConstants.NIGHTLY_BUILD);
+        aMenu.findItem(R.id.logins).setVisible(visible);
 
         if (tab == null || tab.getURL() == null) {
             bookmark.setEnabled(false);
             reader.setEnabled(false);
             back.setEnabled(false);
             forward.setEnabled(false);
             share.setEnabled(false);
             quickShare.setEnabled(false);
--- a/mobile/android/base/preferences/GeckoPreferences.java
+++ b/mobile/android/base/preferences/GeckoPreferences.java
@@ -112,17 +112,16 @@ OnSharedPreferenceChangeListener
 
     // These match keys in resources/xml*/preferences*.xml
     private static final String PREFS_SEARCH_RESTORE_DEFAULTS = NON_PREF_PREFIX + "search.restore_defaults";
     private static final String PREFS_DATA_REPORTING_PREFERENCES = NON_PREF_PREFIX + "datareporting.preferences";
     private static final String PREFS_TELEMETRY_ENABLED = "toolkit.telemetry.enabled";
     private static final String PREFS_CRASHREPORTER_ENABLED = "datareporting.crashreporter.submitEnabled";
     private static final String PREFS_MENU_CHAR_ENCODING = "browser.menu.showCharacterEncoding";
     private static final String PREFS_MP_ENABLED = "privacy.masterpassword.enabled";
-    private static final String PREFS_LOGIN_MANAGE = NON_PREF_PREFIX + "signon.manage";
     private static final String PREFS_DISABLE_ZOOMED_VIEW = "ui.zoomedview.disabled";
     private static final String PREFS_UPDATER_AUTODOWNLOAD = "app.update.autodownload";
     private static final String PREFS_UPDATER_URL = "app.update.url.android";
     private static final String PREFS_GEO_REPORTING = NON_PREF_PREFIX + "app.geo.reportdata";
     private static final String PREFS_GEO_LEARN_MORE = NON_PREF_PREFIX + "geo.learn_more";
     private static final String PREFS_HEALTHREPORT_LINK = NON_PREF_PREFIX + "healthreport.link";
     private static final String PREFS_DEVTOOLS_REMOTE_USB_ENABLED = "devtools.remote.usb.enabled";
     private static final String PREFS_DEVTOOLS_REMOTE_WIFI_ENABLED = "devtools.remote.wifi.enabled";
@@ -731,22 +730,16 @@ OnSharedPreferenceChangeListener
             } else {
                 pref.setOnPreferenceChangeListener(this);
                 if (PREFS_UPDATER_AUTODOWNLOAD.equals(key)) {
                     if (!AppConstants.MOZ_UPDATER) {
                         preferences.removePreference(pref);
                         i--;
                         continue;
                     }
-                } else if (PREFS_LOGIN_MANAGE.equals(key)) {
-                    if (!AppConstants.NIGHTLY_BUILD) {
-                        preferences.removePreference(pref);
-                        i--;
-                        continue;
-                    }
                 } else if (PREFS_DISABLE_ZOOMED_VIEW.equals(key)) {
                     // Only enable the ZoomedView / magnifying pref on Nightly.
                     if (!AppConstants.NIGHTLY_BUILD) {
                         preferences.removePreference(pref);
                         i--;
                         continue;
                     }
                 } else if (PREFS_DISPLAY_REFLOW_ON_ZOOM.equals(key)) {
--- a/mobile/android/base/resources/xml/preferences_privacy.xml
+++ b/mobile/android/base/resources/xml/preferences_privacy.xml
@@ -33,18 +33,17 @@
     <ListPreference android:key="network.cookie.cookieBehavior"
                     android:title="@string/pref_cookies_menu"
                     android:entries="@array/pref_cookies_entries"
                     android:entryValues="@array/pref_cookies_values"
                     android:persistent="false" />
 
     <PreferenceCategory android:title="@string/pref_category_logins">
 
-        <org.mozilla.gecko.preferences.LinkPreference android:key="android.not_a_preference.signon.manage"
-                                                      android:title="@string/pref_manage_logins"
+        <org.mozilla.gecko.preferences.LinkPreference  android:title="@string/pref_manage_logins"
                                                       url="about:logins"/>
 
         <CheckBoxPreference android:key="signon.rememberSignons"
                             android:title="@string/pref_remember_signons"
                             android:persistent="false" />
 
         <CheckBoxPreference android:key="privacy.masterpassword.enabled"
                             android:title="@string/pref_use_master_password"
--- a/mobile/android/chrome/jar.mn
+++ b/mobile/android/chrome/jar.mn
@@ -54,19 +54,19 @@ chrome.jar:
 #ifdef MOZ_SERVICES_HEALTHREPORT
   content/aboutHealthReport.xhtml      (content/aboutHealthReport.xhtml)
   content/aboutHealthReport.js         (content/aboutHealthReport.js)
 #endif
 #ifdef MOZ_DEVICES
   content/aboutDevices.xhtml           (content/aboutDevices.xhtml)
   content/aboutDevices.js              (content/aboutDevices.js)
 #endif
-#ifdef NIGHTLY_BUILD
   content/aboutLogins.xhtml            (content/aboutLogins.xhtml)
   content/aboutLogins.js               (content/aboutLogins.js)
+#ifdef NIGHTLY_BUILD
   content/WebcompatReporter.js         (content/WebcompatReporter.js)
 #endif
 #ifdef MOZ_PAY
   content/payment.xhtml                (content/payment.xhtml)
 #endif
 
 % content branding %content/branding/
 
--- a/mobile/android/components/AboutRedirector.js
+++ b/mobile/android/components/AboutRedirector.js
@@ -66,36 +66,34 @@ let modules = {
   feedback: {
     uri: "chrome://browser/content/aboutFeedback.xhtml",
     privileged: true
   },
   privatebrowsing: {
     uri: "chrome://browser/content/aboutPrivateBrowsing.xhtml",
     privileged: true
   },
+  logins: {
+    uri: "chrome://browser/content/aboutLogins.xhtml",
+    privileged: true
+  },
 }
 
 if (AppConstants.MOZ_SERVICES_HEALTHREPORT) {
   modules['healthreport'] = {
     uri: "chrome://browser/content/aboutHealthReport.xhtml",
     privileged: true
   };
 }
 if (AppConstants.MOZ_DEVICES) {
   modules['devices'] = {
     uri: "chrome://browser/content/aboutDevices.xhtml",
     privileged: true
   };
 }
-if (AppConstants.NIGHTLY_BUILD) {
-  modules['logins'] = {
-    uri: "chrome://browser/content/aboutLogins.xhtml",
-    privileged: true
-  };
-}
 
 function AboutRedirector() {}
 AboutRedirector.prototype = {
   QueryInterface: XPCOMUtils.generateQI([Ci.nsIAboutModule]),
   classID: Components.ID("{322ba47e-7047-4f71-aebf-cb7d69325cd9}"),
 
   _getModuleInfo: function (aURI) {
     let moduleName = aURI.path.replace(/[?#].*/, "").toLowerCase();
--- a/mobile/android/components/MobileComponents.manifest
+++ b/mobile/android/components/MobileComponents.manifest
@@ -15,19 +15,18 @@ contract @mozilla.org/network/protocol/a
 contract @mozilla.org/network/protocol/about;1?what=healthreport {322ba47e-7047-4f71-aebf-cb7d69325cd9}
 #endif
 #ifdef MOZ_SAFE_BROWSING
 contract @mozilla.org/network/protocol/about;1?what=blocked {322ba47e-7047-4f71-aebf-cb7d69325cd9}
 #endif
 #ifdef MOZ_DEVICES
 contract @mozilla.org/network/protocol/about;1?what=devices {322ba47e-7047-4f71-aebf-cb7d69325cd9}
 #endif
-#ifdef NIGHTLY_BUILD
+
 contract @mozilla.org/network/protocol/about;1?what=logins {322ba47e-7047-4f71-aebf-cb7d69325cd9}
-#endif
 
 # DirectoryProvider.js
 component {ef0f7a87-c1ee-45a8-8d67-26f586e46a4b} DirectoryProvider.js
 contract @mozilla.org/browser/directory-provider;1 {ef0f7a87-c1ee-45a8-8d67-26f586e46a4b}
 category xpcom-directory-providers browser-directory-provider @mozilla.org/browser/directory-provider;1
 
 # SessionStore.js
 component {8c1f07d6-cba3-4226-a315-8bd43d67d032} SessionStore.js
--- a/mobile/android/locales/jar.mn
+++ b/mobile/android/locales/jar.mn
@@ -32,19 +32,19 @@
   locale/@AB_CD@/browser/sync.dtd                 (%chrome/sync.dtd)
   locale/@AB_CD@/browser/sync.properties          (%chrome/sync.properties)
   locale/@AB_CD@/browser/prompt.dtd               (%chrome/prompt.dtd)
   locale/@AB_CD@/browser/feedback.dtd             (%chrome/feedback.dtd)
   locale/@AB_CD@/browser/phishing.dtd             (%chrome/phishing.dtd)
   locale/@AB_CD@/browser/payments.properties      (%chrome/payments.properties)
   locale/@AB_CD@/browser/handling.properties      (%chrome/handling.properties)
   locale/@AB_CD@/browser/webapp.properties        (%chrome/webapp.properties)
-#ifdef NIGHTLY_BUILD
   locale/@AB_CD@/browser/aboutLogins.dtd          (%chrome/aboutLogins.dtd)
   locale/@AB_CD@/browser/aboutLogins.properties  (%chrome/aboutLogins.properties)
+#ifdef NIGHTLY_BUILD
   locale/@AB_CD@/browser/webcompatReporter.properties (%chrome/webcompatReporter.properties)
 #endif
 
 # overrides for toolkit l10n, also for en-US
 relativesrcdir toolkit/locales:
   locale/@AB_CD@/browser/overrides/about.dtd                       (%chrome/global/about.dtd)
   locale/@AB_CD@/browser/overrides/aboutAbout.dtd                  (%chrome/global/aboutAbout.dtd)
   locale/@AB_CD@/browser/overrides/aboutReader.properties          (%chrome/global/aboutReader.properties)
--- a/mobile/android/tests/browser/chrome/test_about_logins.html
+++ b/mobile/android/tests/browser/chrome/test_about_logins.html
@@ -72,22 +72,17 @@ Migrated from Robocop: https://bugzilla.
     is(username.textContent, LOGIN_FIELDS.username, "username is correct");
 
     // Cleanup: close about:logins, opened in password_setup()
     BrowserApp.closeTab(BrowserApp.selectedTab);
 
     SimpleTest.finish();
   }
 
-  if (AppConstants.NIGHTLY_BUILD) {
-    password_setup();
-  } else {
-    ok(true, "this test is disabled on non-Nightly builds");
-    SimpleTest.finish();
-  }
+  password_setup();
 
   </script>
 </head>
 <body>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1136477">Mozilla Bug 1136477</a>
 <br>
 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1184186">Migrated from Robocop testAboutLogins</a>
 <p id="display"></p>
--- a/mobile/android/tests/browser/robocop/testSettingsMenuItems.java
+++ b/mobile/android/tests/browser/robocop/testSettingsMenuItems.java
@@ -27,17 +27,16 @@ public class testSettingsMenuItems exten
 
     // Display menu items.
     String[] PATH_DISPLAY;
     String[] TITLE_BAR_LABEL_ARR;
     String[][] OPTIONS_DISPLAY;
 
     // Privacy menu items.
     String[] PATH_PRIVACY;
-    String[] MANAGE_LOGINS_ARR;
     String[][] OPTIONS_PRIVACY;
 
     // Mozilla/vendor menu items.
     String[] PATH_MOZILLA;
     String[][] OPTIONS_MOZILLA;
 
     // Developer menu items.
     String[] PATH_DEVELOPER;
@@ -90,23 +89,22 @@ public class testSettingsMenuItems exten
                 TITLE_BAR_LABEL_ARR,
                 { mStringHelper.SCROLL_TITLE_BAR_LABEL, "Hide the " + mStringHelper.BRAND_NAME + " title bar when scrolling down a page" },
                 { "Advanced" },
                 { mStringHelper.CHARACTER_ENCODING_LABEL, "Don't show menu", "Show menu", "Don't show menu" },
                 { mStringHelper.PLUGINS_LABEL, "Tap to play", "Enabled", "Tap to play", "Disabled" },
         };
 
         PATH_PRIVACY = new String[] { mStringHelper.PRIVACY_SECTION_LABEL };
-        MANAGE_LOGINS_ARR = new String[] { mStringHelper.MANAGE_LOGINS_LABEL };
         OPTIONS_PRIVACY = new String[][] {
                 { mStringHelper.TRACKING_PROTECTION_LABEL },
                 { mStringHelper.DNT_LABEL },
                 { mStringHelper.COOKIES_LABEL, "Enabled", "Enabled, excluding 3rd party", "Disabled" },
                 { mStringHelper.REMEMBER_LOGINS_LABEL },
-                MANAGE_LOGINS_ARR,
+                { mStringHelper.MANAGE_LOGINS_LABEL },
                 { mStringHelper.MASTER_PASSWORD_LABEL },
                 { mStringHelper.CLEAR_PRIVATE_DATA_LABEL, "", "Browsing history", "Search history", "Downloads", "Form history", "Cookies & active logins", mStringHelper.CLEAR_PRIVATE_DATA_LABEL, "Cache", "Offline website data", "Site settings", "Clear data" },
         };
 
         PATH_MOZILLA = new String[] { mStringHelper.MOZILLA_SECTION_LABEL };
         OPTIONS_MOZILLA = new String[][] {
                 { mStringHelper.ABOUT_LABEL },
                 { mStringHelper.FAQS_LABEL },
@@ -189,21 +187,16 @@ public class testSettingsMenuItems exten
                 String[] networkReportingUi = { "Mozilla Location Service", "Help Mozilla map the world! Share the approximate Wi-Fi and cellular location of your device to improve our geolocation service." };
                 settingsMap.get(PATH_MOZILLA).add(networkReportingUi);
 
                 String[] learnMoreUi = { "Learn more" };
                 settingsMap.get(PATH_MOZILLA).add(learnMoreUi);
             }
         }
 
-        if (!AppConstants.NIGHTLY_BUILD) {
-            final List<String[]> privacy = settingsMap.get(PATH_PRIVACY);
-            privacy.remove(MANAGE_LOGINS_ARR);
-        }
-
         // Automatic updates
         if (AppConstants.MOZ_UPDATER) {
             String[] autoUpdateUi = { "Download updates automatically", "Only over Wi-Fi", "Always", "Only over Wi-Fi", "Never" };
             settingsMap.get(PATH_CUSTOMIZE).add(autoUpdateUi);
         }
 
         // Tab Queue
         if (AppConstants.MOZ_ANDROID_TAB_QUEUE) {
--- a/mobile/android/tests/browser/robocop/testSystemPages.java
+++ b/mobile/android/tests/browser/robocop/testSystemPages.java
@@ -44,39 +44,32 @@ public class testSystemPages extends Pix
 
         // Load system pages by navigating through the UI.
         loadItemsByLevel(menuItems);
     }
 
     // Load from Url the about: pages,verify the Url and the tabs number
     public void checkUrl(String urls []) {
         for (String url:urls) {
-            if (skipItemURL(url)) {
-                continue;
-            }
             loadAndPaint(url);
             verifyTabCount(mExpectedTabCount);
             verifyUrl(url);
         }
     }
 
     public void loadItemsByLevel(String[][][] menuItems) {
         Actions.EventExpecter tabEventExpecter;
         Actions.EventExpecter contentEventExpecter;
         Actions.RepeatedEventExpecter paintExpecter = mActions.expectPaint();
         int expectedTabCount = mExpectedTabCount;
         // There's some special casing for about: because it's our starting page.
         for (String[][] item : menuItems) {
             String [] pathToItem = item[0];
             String expectedUrl = item[1][0];
 
-            if (skipItemURL(expectedUrl)) {
-                continue;
-            }
-
             expectedTabCount++;
 
             // Set up listeners to catch the page load we're about to do
             tabEventExpecter = mActions.expectGeckoEvent("Tab:Added");
             contentEventExpecter = mActions.expectGeckoEvent("DOMContentLoaded");
             selectMenuItemByPath(pathToItem);
 
             // Wait for the new tab and page to load
@@ -93,16 +86,9 @@ public class testSystemPages extends Pix
             verifyUrl(expectedUrl);
             if (mStringHelper.ABOUT_SCHEME.equals(expectedUrl)) {
                 // Decreasing because we do not expect this to be in a different tab.
                 expectedTabCount--;
             }
             verifyTabCount(expectedTabCount);
         }
     }
-
-    private boolean skipItemURL(String item) {
-        if (StringHelper.ABOUT_LOGINS_URL.equals(item) && !AppConstants.NIGHTLY_BUILD) {
-            return true;
-        }
-        return false;
-    }
 }
--- a/mobile/android/themes/core/jar.mn
+++ b/mobile/android/themes/core/jar.mn
@@ -38,20 +38,18 @@ chrome.jar:
 % override chrome://global/skin/media/videocontrols.css chrome://browser/skin/touchcontrols.css
 % override chrome://global/skin/netError.css chrome://browser/skin/netError.css
 
 #ifdef MOZ_PAY
   skin/payment.css                         (payment.css)
 #endif
 #
 
-#ifdef NIGHTLY_BUILD
 * skin/aboutLogins.css                      (aboutLogins.css)
   skin/images/spinning_throbber.svg         (images/spinning_throbber.svg)
-#endif
 
   skin/images/search.png                    (images/search.png)
   skin/images/lock.png                      (images/lock.png)
   skin/images/textfield.png                 (images/textfield.png)
 
   skin/images/5stars.png                    (images/5stars.png)
   skin/images/addons-32.png                 (images/addons-32.png)
   skin/images/amo-logo.png                  (images/amo-logo.png)