| 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..1fc666329ea8c60fa4b49368e0ccd3d188405e9a 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;
|
|
|
| @@ -74,7 +76,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
| ChromeContextMenuItem.COPY, ChromeContextMenuItem.COPY_LINK_TEXT,
|
| ChromeContextMenuItem.LOAD_ORIGINAL_IMAGE, ChromeContextMenuItem.SAVE_LINK_AS,
|
| ChromeContextMenuItem.SAVE_IMAGE, ChromeContextMenuItem.SHARE_IMAGE,
|
| - ChromeContextMenuItem.SAVE_VIDEO));
|
| + 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 =
|
| @@ -157,7 +158,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
|
| @@ -592,6 +594,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 +623,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
|
| } else {
|
| assert false;
|
| }
|
| -
|
| return true;
|
| }
|
|
|
|
|