Bug 1219819 - backout removal of "Edit Site Settings" menu item r=margaret draft
authorAndrzej Hunt <ahunt@mozilla.com>
Tue, 19 Jan 2016 10:34:49 -0800
changeset 323177 04e496468737a7532481ad69b9ba27468aa39950
parent 323176 9bb7a45e5b69d68ddd2752acc9cf3f500365b1d2
child 513167 afd8dd8c9ee8afa05aadc53a300b82f7b46d2123
push id9672
push userahunt@mozilla.com
push dateTue, 19 Jan 2016 18:38:49 +0000
reviewersmargaret
bugs1219819
milestone45.0a2
Bug 1219819 - backout removal of "Edit Site Settings" menu item r=margaret
mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
mobile/android/base/resources/menu-large-v11/browser_app_menu.xml
mobile/android/base/resources/menu-v11/browser_app_menu.xml
mobile/android/base/resources/menu-xlarge-v11/browser_app_menu.xml
mobile/android/base/resources/menu/titlebar_contextmenu.xml
mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/StringHelper.java
mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/ToolbarComponent.java
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -1174,16 +1174,25 @@ public class BrowserApp extends GeckoApp
             if (!TextUtils.isEmpty(text)) {
                 loadUrlOrKeywordSearch(text);
                 Telemetry.sendUIEvent(TelemetryContract.Event.LOAD_URL, TelemetryContract.Method.CONTEXT_MENU);
                 Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.CONTEXT_MENU, "pasteandgo");
             }
             return true;
         }
 
+        if (itemId == R.id.site_settings) {
+            // This can be selected from either the browser menu or the contextmenu, depending on the size and version (v11+) of the phone.
+            GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Permissions:Get", null));
+            if (Versions.preHC) {
+                Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.CONTEXT_MENU, "site_settings");
+            }
+            return true;
+        }
+
         if (itemId == R.id.paste) {
             String text = Clipboard.getText();
             if (!TextUtils.isEmpty(text)) {
                 enterEditingMode(text);
                 showBrowserSearch();
                 mBrowserSearch.filter(text, null);
                 Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.CONTEXT_MENU, "paste");
             }
@@ -3045,16 +3054,17 @@ public class BrowserApp extends GeckoApp
             // NOTE: Use MenuUtils.safeSetEnabled because some actions might
             // be on the BrowserToolbar context menu.
             if (Versions.feature11Plus) {
                 // There is no page menu prior to v11 resources.
                 MenuUtils.safeSetEnabled(aMenu, R.id.page, false);
             }
             MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, false);
             MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, false);
+            MenuUtils.safeSetEnabled(aMenu, R.id.site_settings, false);
             MenuUtils.safeSetEnabled(aMenu, R.id.add_to_launcher, false);
 
             return true;
         }
 
         final boolean inGuestMode = GeckoProfile.get(this).inGuestMode();
 
         final boolean isAboutReader = AboutPages.isAboutReader(tab.getURL());
@@ -3132,16 +3142,17 @@ public class BrowserApp extends GeckoApp
 
         // NOTE: Use MenuUtils.safeSetEnabled because some actions might
         // be on the BrowserToolbar context menu.
         if (Versions.feature11Plus) {
             MenuUtils.safeSetEnabled(aMenu, R.id.page, !isAboutHome(tab));
         }
         MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, tab.hasFeeds());
         MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, tab.hasOpenSearch());
+        MenuUtils.safeSetEnabled(aMenu, R.id.site_settings, !isAboutHome(tab));
         MenuUtils.safeSetEnabled(aMenu, R.id.add_to_launcher, !isAboutHome(tab));
 
         // Action providers are available only ICS+.
         if (Versions.feature14Plus) {
             quickShare.setVisible(shareVisible);
             quickShare.setEnabled(shareEnabled);
 
             // This provider also applies to the quick share menu item.
--- a/mobile/android/base/resources/menu-large-v11/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-large-v11/browser_app_menu.xml
@@ -73,16 +73,19 @@
                   android:title="@string/save_as_pdf"/>
 
             <item android:id="@+id/print"
                   android:title="@string/print"/>
 
             <item android:id="@+id/add_search_engine"
                   android:title="@string/contextmenu_add_search_engine"/>
 
+            <item android:id="@+id/site_settings"
+                  android:title="@string/contextmenu_site_settings" />
+
             <item android:id="@+id/add_to_launcher"
                   android:title="@string/contextmenu_add_to_launcher"/>
 
         </menu>
 
     </item>
 
     <item android:id="@+id/tools"
--- a/mobile/android/base/resources/menu-v11/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-v11/browser_app_menu.xml
@@ -73,16 +73,19 @@
                   android:title="@string/save_as_pdf"/>
 
             <item android:id="@+id/print"
                   android:title="@string/print"/>
 
             <item android:id="@+id/add_search_engine"
                   android:title="@string/contextmenu_add_search_engine"/>
 
+            <item android:id="@+id/site_settings"
+                  android:title="@string/contextmenu_site_settings" />
+
             <item android:id="@+id/add_to_launcher"
                   android:title="@string/contextmenu_add_to_launcher"/>
 
         </menu>
 
     </item>
 
     <item android:id="@+id/tools"
--- a/mobile/android/base/resources/menu-xlarge-v11/browser_app_menu.xml
+++ b/mobile/android/base/resources/menu-xlarge-v11/browser_app_menu.xml
@@ -74,16 +74,19 @@
                   android:title="@string/save_as_pdf"/>
 
             <item android:id="@+id/print"
                   android:title="@string/print"/>
 
             <item android:id="@+id/add_search_engine"
                   android:title="@string/contextmenu_add_search_engine"/>
 
+            <item android:id="@+id/site_settings"
+                  android:title="@string/contextmenu_site_settings" />
+
             <item android:id="@+id/add_to_launcher"
                   android:title="@string/contextmenu_add_to_launcher"/>
 
         </menu>
 
     </item>
 
     <item android:id="@+id/tools"
--- a/mobile/android/base/resources/menu/titlebar_contextmenu.xml
+++ b/mobile/android/base/resources/menu/titlebar_contextmenu.xml
@@ -15,12 +15,15 @@
           android:title="@string/contextmenu_subscribe"/>
 
     <item android:id="@+id/add_search_engine"
           android:title="@string/contextmenu_add_search_engine"/>
 
     <item android:id="@+id/copyurl"
           android:title="@string/contextmenu_copyurl"/>
 
+    <item android:id="@+id/site_settings"
+          android:title="@string/contextmenu_site_settings" />
+
     <item android:id="@+id/add_to_launcher"
           android:title="@string/contextmenu_add_to_launcher"/>
 
 </menu>
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/StringHelper.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/StringHelper.java
@@ -11,18 +11,16 @@ import org.mozilla.gecko.R;
 
 public class StringHelper {
     private static StringHelper instance;
 
     // This needs to be accessed statically, before an instance of StringHelper can be created.
     public static String STATIC_ABOUT_HOME_URL = "about:home";
 
     public final String OK;
-    public final String CANCEL;
-    public final String CLEAR;
 
     // Note: DEFAULT_BOOKMARKS_TITLES.length == DEFAULT_BOOKMARKS_URLS.length
     public final String[] DEFAULT_BOOKMARKS_TITLES;
     public final String[] DEFAULT_BOOKMARKS_URLS;
     public final int DEFAULT_BOOKMARKS_COUNT;
 
     // About pages
     public final String ABOUT_BLANK_URL = "about:blank";
@@ -215,18 +213,16 @@ public class StringHelper {
     // Restore Tabs Settings
     public final String DONT_RESTORE_TABS;
     public final String ALWAYS_RESTORE_TABS;
     public final String DONT_RESTORE_QUIT;
 
     private StringHelper(final Resources res) {
 
         OK = res.getString(R.string.button_ok);
-        CANCEL = res.getString(R.string.button_cancel);
-        CLEAR = res.getString(R.string.button_clear);
 
         // Note: DEFAULT_BOOKMARKS_TITLES.length == DEFAULT_BOOKMARKS_URLS.length
         DEFAULT_BOOKMARKS_TITLES = new String[] {
                 res.getString(R.string.bookmarkdefaults_title_aboutfirefox),
                 res.getString(R.string.bookmarkdefaults_title_support),
                 res.getString(R.string.bookmarkdefaults_title_addons)
         };
         DEFAULT_BOOKMARKS_URLS = new String[] {
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/ToolbarComponent.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/ToolbarComponent.java
@@ -5,16 +5,17 @@
 package org.mozilla.gecko.tests.components;
 
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertEquals;
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertFalse;
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertNotNull;
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertTrue;
 
 import org.mozilla.gecko.R;
+import org.mozilla.gecko.tests.StringHelper;
 import org.mozilla.gecko.tests.UITestContext;
 import org.mozilla.gecko.tests.helpers.DeviceHelper;
 import org.mozilla.gecko.tests.helpers.NavigationHelper;
 import org.mozilla.gecko.tests.helpers.WaitHelper;
 import org.mozilla.gecko.toolbar.PageActionLayout;
 
 import android.view.View;
 import android.widget.EditText;