Merge "Add the APIs for customizing WebView action mode menu actions"
diff --git a/api/current.txt b/api/current.txt
index 55b5d52..d70317e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -39234,6 +39234,7 @@
method public abstract java.lang.String getDefaultTextEncodingName();
method public static java.lang.String getDefaultUserAgent(android.content.Context);
method public abstract deprecated android.webkit.WebSettings.ZoomDensity getDefaultZoom();
+ method public abstract int getDisabledActionModeMenuItems();
method public abstract boolean getDisplayZoomControls();
method public abstract boolean getDomStorageEnabled();
method public abstract java.lang.String getFantasyFontFamily();
@@ -39277,6 +39278,7 @@
method public abstract void setDefaultFontSize(int);
method public abstract void setDefaultTextEncodingName(java.lang.String);
method public abstract deprecated void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
+ method public abstract void setDisabledActionModeMenuItems(int);
method public abstract void setDisplayZoomControls(boolean);
method public abstract void setDomStorageEnabled(boolean);
method public abstract deprecated void setEnableSmoothTransition(boolean);
@@ -39316,6 +39318,10 @@
field public static final int LOAD_DEFAULT = -1; // 0xffffffff
field public static final deprecated int LOAD_NORMAL = 0; // 0x0
field public static final int LOAD_NO_CACHE = 2; // 0x2
+ field public static final int MENU_ITEM_NONE = 0; // 0x0
+ field public static final int MENU_ITEM_PROCESS_TEXT = 4; // 0x4
+ field public static final int MENU_ITEM_SHARE = 1; // 0x1
+ field public static final int MENU_ITEM_WEB_SEARCH = 2; // 0x2
field public static final int MIXED_CONTENT_ALWAYS_ALLOW = 0; // 0x0
field public static final int MIXED_CONTENT_COMPATIBILITY_MODE = 2; // 0x2
field public static final int MIXED_CONTENT_NEVER_ALLOW = 1; // 0x1
diff --git a/api/system-current.txt b/api/system-current.txt
index 06cbfa7..f44065e 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -41596,6 +41596,7 @@
method public abstract java.lang.String getDefaultTextEncodingName();
method public static java.lang.String getDefaultUserAgent(android.content.Context);
method public abstract deprecated android.webkit.WebSettings.ZoomDensity getDefaultZoom();
+ method public abstract int getDisabledActionModeMenuItems();
method public abstract boolean getDisplayZoomControls();
method public abstract boolean getDomStorageEnabled();
method public abstract java.lang.String getFantasyFontFamily();
@@ -41645,6 +41646,7 @@
method public abstract void setDefaultFontSize(int);
method public abstract void setDefaultTextEncodingName(java.lang.String);
method public abstract deprecated void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
+ method public abstract void setDisabledActionModeMenuItems(int);
method public abstract void setDisplayZoomControls(boolean);
method public abstract void setDomStorageEnabled(boolean);
method public abstract deprecated void setEnableSmoothTransition(boolean);
@@ -41689,6 +41691,10 @@
field public static final int LOAD_DEFAULT = -1; // 0xffffffff
field public static final deprecated int LOAD_NORMAL = 0; // 0x0
field public static final int LOAD_NO_CACHE = 2; // 0x2
+ field public static final int MENU_ITEM_NONE = 0; // 0x0
+ field public static final int MENU_ITEM_PROCESS_TEXT = 4; // 0x4
+ field public static final int MENU_ITEM_SHARE = 1; // 0x1
+ field public static final int MENU_ITEM_WEB_SEARCH = 2; // 0x2
field public static final int MIXED_CONTENT_ALWAYS_ALLOW = 0; // 0x0
field public static final int MIXED_CONTENT_COMPATIBILITY_MODE = 2; // 0x2
field public static final int MIXED_CONTENT_NEVER_ALLOW = 1; // 0x1
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index f62b4cc..9442226 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -1363,4 +1363,50 @@
* offscreen but attached to a window.
*/
public abstract boolean getOffscreenPreRaster();
+
+ /**
+ * Disables the action mode menu items according to {@code menuItems} flag.
+ * @param menuItems an integer field flag for the menu items to be disabled.
+ */
+ public abstract void setDisabledActionModeMenuItems(int menuItems);
+
+ /**
+ * Gets the action mode menu items that are disabled, expressed in an integer field flag.
+ * The default value is {@link #MENU_ITEM_NONE}
+ *
+ * @return all the disabled menu item flags combined with OR.
+ */
+ public abstract int getDisabledActionModeMenuItems();
+
+ /**
+ * Used with {@link #setDisabledActionModeMenuItems}.
+ *
+ * No menu items should be disabled.
+ */
+ public static final int MENU_ITEM_NONE = 0;
+
+ /**
+ * Used with {@link #setDisabledActionModeMenuItems}.
+ *
+ * Disable menu item "Share".
+ */
+ public static final int MENU_ITEM_SHARE = 1 << 0;
+
+ /**
+ * Used with {@link #setDisabledActionModeMenuItems}.
+ *
+ * Disable menu item "Web Search".
+ */
+ public static final int MENU_ITEM_WEB_SEARCH = 1 << 1;
+
+ /**
+ * Used with {@link #setDisabledActionModeMenuItems}.
+ *
+ * Disable all the action mode menu items for text processing.
+ * By default WebView searches for activities that are able to handle
+ * {@link android.content.Intent#ACTION_PROCESS_TEXT} and show them in the
+ * action mode menu. If this flag is set via {@link
+ * #setDisabledActionModeMenuItems}, these menu items will be disabled.
+ */
+ public static final int MENU_ITEM_PROCESS_TEXT = 1 << 2;
}