Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3334)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java

Issue 2942963002: corrected wrong options showing on context menus. (Closed)
Patch Set: empty Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
index e95e679e72411c7d3bb064e66f7a24dab3ceb7cd..57bb10d8aadf046e04d4ec36fd8ae47aa0dce6ab 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -21,6 +21,8 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
import org.chromium.chrome.browser.preferences.datareduction.DataReductionProxyUma;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
+import org.chromium.chrome.browser.share.ShareHelper;
+import org.chromium.chrome.browser.share.ShareParams;
import org.chromium.chrome.browser.util.UrlUtilities;
import org.chromium.content_public.common.ContentUrlConstants;
@@ -71,10 +73,10 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
Collections.unmodifiableSet(CollectionUtil.newHashSet(
ChromeContextMenuItem.COPY_LINK_ADDRESS, ChromeContextMenuItem.CALL,
ChromeContextMenuItem.SEND_MESSAGE, ChromeContextMenuItem.ADD_TO_CONTACTS,
- ChromeContextMenuItem.COPY, ChromeContextMenuItem.COPY_LINK_TEXT,
- ChromeContextMenuItem.LOAD_ORIGINAL_IMAGE, ChromeContextMenuItem.SAVE_LINK_AS,
- ChromeContextMenuItem.SAVE_IMAGE, ChromeContextMenuItem.SHARE_IMAGE,
- ChromeContextMenuItem.SAVE_VIDEO));
+ ChromeContextMenuItem.COPY, ChromeContextMenuItem.LOAD_ORIGINAL_IMAGE,
+ ChromeContextMenuItem.SAVE_LINK_AS, ChromeContextMenuItem.SAVE_IMAGE,
+ ChromeContextMenuItem.SHARE_IMAGE, ChromeContextMenuItem.SAVE_VIDEO,
+ ChromeContextMenuItem.SHARE_LINK));
// Items that are included for normal Chrome browser mode.
private static final Set<? extends ContextMenuItem> NORMAL_MODE_WHITELIST =
@@ -108,14 +110,13 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
private static final List<? extends ContextMenuItem> LINK_GROUP = Collections.unmodifiableList(
CollectionUtil.newArrayList(ChromeContextMenuItem.OPEN_IN_OTHER_WINDOW,
ChromeContextMenuItem.OPEN_IN_NEW_TAB,
- ChromeContextMenuItem.OPEN_IN_INCOGNITO_TAB,
- ChromeContextMenuItem.COPY_LINK_ADDRESS, ChromeContextMenuItem.COPY_LINK_TEXT,
- ChromeContextMenuItem.SAVE_LINK_AS));
+ ChromeContextMenuItem.OPEN_IN_INCOGNITO_TAB, ChromeContextMenuItem.SAVE_LINK_AS,
+ ChromeContextMenuItem.COPY_LINK_ADDRESS, ChromeContextMenuItem.SHARE_LINK));
private static final List<? extends ContextMenuItem> IMAGE_GROUP =
Collections.unmodifiableList(CollectionUtil.newArrayList(
- ChromeContextMenuItem.LOAD_ORIGINAL_IMAGE, ChromeContextMenuItem.SAVE_IMAGE,
- ChromeContextMenuItem.OPEN_IMAGE, ChromeContextMenuItem.OPEN_IMAGE_IN_NEW_TAB,
+ ChromeContextMenuItem.LOAD_ORIGINAL_IMAGE, ChromeContextMenuItem.OPEN_IMAGE,
+ ChromeContextMenuItem.OPEN_IMAGE_IN_NEW_TAB, ChromeContextMenuItem.SAVE_IMAGE,
ChromeContextMenuItem.SEARCH_BY_IMAGE, ChromeContextMenuItem.SHARE_IMAGE));
private static final List<? extends ContextMenuItem> MESSAGE_GROUP =
@@ -138,7 +139,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
static final int ACTION_OPEN_IN_INCOGNITO_TAB = 1;
static final int ACTION_COPY_LINK_ADDRESS = 2;
static final int ACTION_COPY_EMAIL_ADDRESS = 3;
- static final int ACTION_COPY_LINK_TEXT = 4;
static final int ACTION_SAVE_LINK = 5;
static final int ACTION_SAVE_IMAGE = 6;
static final int ACTION_OPEN_IMAGE = 7;
@@ -157,7 +157,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
static final int ACTION_OPEN_IN_CHROME_INCOGNITO_TAB = 34;
static final int ACTION_OPEN_IN_BROWSER = 35;
static final int ACTION_OPEN_IN_CHROME = 36;
- static final int NUM_ACTIONS = 37;
+ static final int ACTION_SHARE_LINK = 37;
+ static final int NUM_ACTIONS = 38;
// Note: these values must match the ContextMenuSaveLinkType enum in histograms.xml.
// Only add new values at the end, right before NUM_TYPES. We depend on these specific
@@ -267,7 +268,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
} else {
supportedOptions.add(ChromeContextMenuItem.COPY_LINK_ADDRESS);
- supportedOptions.add(ChromeContextMenuItem.COPY_LINK_TEXT);
supportedOptions.add(ChromeContextMenuItem.COPY);
}
@@ -410,10 +410,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
disabledOptions.add(ChromeContextMenuItem.OPEN_IN_INCOGNITO_TAB);
}
- if (params.getLinkText().trim().isEmpty() || params.isImage()) {
- disabledOptions.add(ChromeContextMenuItem.COPY_LINK_TEXT);
- }
-
if (params.isAnchor() && !isAcceptedScheme(params.getLinkUrl())) {
disabledOptions.add(ChromeContextMenuItem.OPEN_IN_OTHER_WINDOW);
disabledOptions.add(ChromeContextMenuItem.OPEN_IN_NEW_TAB);
@@ -427,7 +423,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
if (MailTo.isMailTo(params.getLinkUrl())) {
- disabledOptions.add(ChromeContextMenuItem.COPY_LINK_TEXT);
disabledOptions.add(ChromeContextMenuItem.COPY_LINK_ADDRESS);
if (!mDelegate.supportsSendEmailMessage()) {
disabledOptions.add(ChromeContextMenuItem.SEND_MESSAGE);
@@ -438,7 +433,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
disabledOptions.add(ChromeContextMenuItem.CALL);
} else if (UrlUtilities.isTelScheme(params.getLinkUrl())) {
- disabledOptions.add(ChromeContextMenuItem.COPY_LINK_TEXT);
disabledOptions.add(ChromeContextMenuItem.COPY_LINK_ADDRESS);
if (!mDelegate.supportsCall()) {
disabledOptions.add(ChromeContextMenuItem.CALL);
@@ -570,10 +564,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
mDelegate.onSaveToClipboard(UrlUtilities.getTelNumber(params.getLinkUrl()),
ContextMenuItemDelegate.CLIPBOARD_TYPE_LINK_URL);
}
- } else if (itemId == R.id.contextmenu_copy_link_text) {
- ContextMenuUma.record(params, ContextMenuUma.ACTION_COPY_LINK_TEXT);
- mDelegate.onSaveToClipboard(
- params.getLinkText(), ContextMenuItemDelegate.CLIPBOARD_TYPE_LINK_TEXT);
} else if (itemId == R.id.contextmenu_save_image) {
ContextMenuUma.record(params, ContextMenuUma.ACTION_SAVE_IMAGE);
if (mDelegate.startDownload(params.getSrcUrl(), false)) {
@@ -592,6 +582,14 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
ContextMenuUma.recordSaveLinkTypes(url);
helper.startContextMenuDownload(true, false);
}
+ } else if (itemId == R.id.contextmenu_share_link) {
+ ContextMenuUma.record(params, ContextMenuUma.ACTION_SHARE_LINK);
+ ShareParams linkShareParams =
+ new ShareParams
+ .Builder(helper.getActivity(), params.getLinkUrl(),
+ params.getTitleText())
+ .build();
+ ShareHelper.share(linkShareParams);
} else if (itemId == R.id.contextmenu_search_by_image) {
ContextMenuUma.record(params, ContextMenuUma.ACTION_SEARCH_BY_IMAGE);
helper.searchForImage();
@@ -613,7 +611,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
} else {
assert false;
}
-
return true;
}

Powered by Google App Engine
This is Rietveld 408576698