Index: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuParams.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuParams.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuParams.java |
index 6d396f7c3561906d2a1c7772331ab8d87914d8f4..f7df195aacf464b8e602107cedda4777f7de35ea 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuParams.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuParams.java |
@@ -8,6 +8,7 @@ import android.text.TextUtils; |
import org.chromium.base.CalledByNative; |
import org.chromium.base.JNINamespace; |
+import org.chromium.content_public.Referrer; |
import java.util.ArrayList; |
@@ -43,6 +44,7 @@ public class ContextMenuParams { |
private final String mUnfilteredLinkUrl; |
private final String mSrcUrl; |
private final boolean mIsEditable; |
+ private final Referrer mReferrer; |
private final boolean mIsAnchor; |
private final boolean mIsSelectedText; |
@@ -121,6 +123,13 @@ public class ContextMenuParams { |
} |
/** |
+ * @return the referrer associated with the frame on which the menu is invoked |
+ */ |
+ public Referrer getReferrer() { |
+ return mReferrer; |
+ } |
+ |
+ /** |
* @return Whether or not the context menu is being shown for an anchor. |
*/ |
public boolean isAnchor() { |
@@ -149,12 +158,14 @@ public class ContextMenuParams { |
} |
private ContextMenuParams(int mediaType, String linkUrl, String linkText, |
- String unfilteredLinkUrl, String srcUrl, String selectionText, boolean isEditable) { |
+ String unfilteredLinkUrl, String srcUrl, String selectionText, boolean isEditable, |
+ Referrer referrer) { |
mLinkUrl = linkUrl; |
mLinkText = linkText; |
mUnfilteredLinkUrl = unfilteredLinkUrl; |
mSrcUrl = srcUrl; |
mIsEditable = isEditable; |
+ mReferrer = referrer; |
mIsAnchor = !TextUtils.isEmpty(linkUrl); |
mIsSelectedText = !TextUtils.isEmpty(selectionText); |
@@ -164,13 +175,16 @@ public class ContextMenuParams { |
@CalledByNative |
private static ContextMenuParams create(int mediaType, String linkUrl, String linkText, |
- String unfilteredLinkUrl, String srcUrl, String selectionText, boolean isEditable) { |
+ String unfilteredLinkUrl, String srcUrl, String selectionText, boolean isEditable, |
+ String sanitizedReferrer, int referrerPolicy) { |
+ Referrer referrer = TextUtils.isEmpty(sanitizedReferrer) ? |
+ null : new Referrer(sanitizedReferrer, referrerPolicy); |
return new ContextMenuParams(mediaType, linkUrl, linkText, unfilteredLinkUrl, srcUrl, |
- selectionText, isEditable); |
+ selectionText, isEditable, referrer); |
} |
@CalledByNative |
private void addCustomItem(String label, int action) { |
mCustomMenuItems.add(new CustomMenuItem(label, action)); |
} |
-} |
+} |