| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 package org.chromium.chrome.browser.contextmenu; | 5 package org.chromium.chrome.browser.contextmenu; | 
| 6 | 6 | 
| 7 import android.text.TextUtils; | 7 import android.text.TextUtils; | 
| 8 | 8 | 
| 9 import org.chromium.base.VisibleForTesting; |  | 
| 10 import org.chromium.base.annotations.CalledByNative; | 9 import org.chromium.base.annotations.CalledByNative; | 
| 11 import org.chromium.base.annotations.JNINamespace; | 10 import org.chromium.base.annotations.JNINamespace; | 
| 12 import org.chromium.chrome.browser.UrlConstants; | 11 import org.chromium.chrome.browser.UrlConstants; | 
| 13 import org.chromium.content_public.common.Referrer; | 12 import org.chromium.content_public.common.Referrer; | 
| 14 | 13 | 
| 15 /** | 14 /** | 
| 16  * A list of parameters that explain what kind of context menu to show the user.
       This data is | 15  * A list of parameters that explain what kind of context menu to show the user.
       This data is | 
| 17  * generated from content/public/common/context_menu_params.h. | 16  * generated from content/public/common/context_menu_params.h. | 
| 18  */ | 17  */ | 
| 19 @JNINamespace("ContextMenuParamsAndroid") | 18 @JNINamespace("ContextMenuParamsAndroid") | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 36     private final String mUnfilteredLinkUrl; | 35     private final String mUnfilteredLinkUrl; | 
| 37     private final String mSrcUrl; | 36     private final String mSrcUrl; | 
| 38     private final boolean mImageWasFetchedLoFi; | 37     private final boolean mImageWasFetchedLoFi; | 
| 39     private final Referrer mReferrer; | 38     private final Referrer mReferrer; | 
| 40 | 39 | 
| 41     private final boolean mIsAnchor; | 40     private final boolean mIsAnchor; | 
| 42     private final boolean mIsImage; | 41     private final boolean mIsImage; | 
| 43     private final boolean mIsVideo; | 42     private final boolean mIsVideo; | 
| 44     private final boolean mCanSaveMedia; | 43     private final boolean mCanSaveMedia; | 
| 45 | 44 | 
|  | 45     private final int mTriggeringTouchXDp; | 
|  | 46     private final int mTriggeringTouchYDp; | 
|  | 47 | 
| 46     /** | 48     /** | 
| 47      * @return The URL associated with the main frame of the page that triggered
      the context menu. | 49      * @return The URL associated with the main frame of the page that triggered
      the context menu. | 
| 48      */ | 50      */ | 
| 49     public String getPageUrl() { | 51     public String getPageUrl() { | 
| 50         return mPageUrl; | 52         return mPageUrl; | 
| 51     } | 53     } | 
| 52 | 54 | 
| 53     /** | 55     /** | 
| 54      * @return The link URL, if any. | 56      * @return The link URL, if any. | 
| 55      */ | 57      */ | 
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 127     /** | 129     /** | 
| 128      * @return Whether or not the context menu is been shown for a download item
     . | 130      * @return Whether or not the context menu is been shown for a download item
     . | 
| 129      */ | 131      */ | 
| 130     public boolean isFile() { | 132     public boolean isFile() { | 
| 131         if (!TextUtils.isEmpty(mSrcUrl) && mSrcUrl.startsWith(UrlConstants.FILE_
     URL_PREFIX)) { | 133         if (!TextUtils.isEmpty(mSrcUrl) && mSrcUrl.startsWith(UrlConstants.FILE_
     URL_PREFIX)) { | 
| 132             return true; | 134             return true; | 
| 133         } | 135         } | 
| 134         return false; | 136         return false; | 
| 135     } | 137     } | 
| 136 | 138 | 
| 137     @VisibleForTesting | 139     /** | 
|  | 140      * @return The x-coordinate of the touch that triggered the context menu in 
     dp relative to the | 
|  | 141      *         render view; 0 corresponds to the left edge. | 
|  | 142      */ | 
|  | 143     public int getTriggeringTouchXDp() { | 
|  | 144         return mTriggeringTouchXDp; | 
|  | 145     } | 
|  | 146 | 
|  | 147     /** | 
|  | 148      * @return The y-coordinate of the touch that triggered the context menu in 
     dp relative to the | 
|  | 149      *         render view; 0 corresponds to the left edge. | 
|  | 150      */ | 
|  | 151     public int getTriggeringTouchYDp() { | 
|  | 152         return mTriggeringTouchYDp; | 
|  | 153     } | 
|  | 154 | 
| 138     public ContextMenuParams(int mediaType, String pageUrl, String linkUrl, Stri
     ng linkText, | 155     public ContextMenuParams(int mediaType, String pageUrl, String linkUrl, Stri
     ng linkText, | 
| 139             String unfilteredLinkUrl, String srcUrl, String titleText, boolean i
     mageWasFetchedLoFi, | 156             String unfilteredLinkUrl, String srcUrl, String titleText, boolean i
     mageWasFetchedLoFi, | 
| 140             Referrer referrer, boolean canSaveMedia) { | 157             Referrer referrer, boolean canSaveMedia, int triggeringTouchXDp, | 
|  | 158             int triggeringTouchYDp) { | 
| 141         mPageUrl = pageUrl; | 159         mPageUrl = pageUrl; | 
| 142         mLinkUrl = linkUrl; | 160         mLinkUrl = linkUrl; | 
| 143         mLinkText = linkText; | 161         mLinkText = linkText; | 
| 144         mTitleText = titleText; | 162         mTitleText = titleText; | 
| 145         mUnfilteredLinkUrl = unfilteredLinkUrl; | 163         mUnfilteredLinkUrl = unfilteredLinkUrl; | 
| 146         mSrcUrl = srcUrl; | 164         mSrcUrl = srcUrl; | 
| 147         mImageWasFetchedLoFi = imageWasFetchedLoFi; | 165         mImageWasFetchedLoFi = imageWasFetchedLoFi; | 
| 148         mReferrer = referrer; | 166         mReferrer = referrer; | 
| 149 | 167 | 
| 150         mIsAnchor = !TextUtils.isEmpty(linkUrl); | 168         mIsAnchor = !TextUtils.isEmpty(linkUrl); | 
| 151         mIsImage = mediaType == MediaType.MEDIA_TYPE_IMAGE; | 169         mIsImage = mediaType == MediaType.MEDIA_TYPE_IMAGE; | 
| 152         mIsVideo = mediaType == MediaType.MEDIA_TYPE_VIDEO; | 170         mIsVideo = mediaType == MediaType.MEDIA_TYPE_VIDEO; | 
| 153         mCanSaveMedia = canSaveMedia; | 171         mCanSaveMedia = canSaveMedia; | 
|  | 172         mTriggeringTouchXDp = triggeringTouchXDp; | 
|  | 173         mTriggeringTouchYDp = triggeringTouchYDp; | 
| 154     } | 174     } | 
| 155 | 175 | 
| 156     @CalledByNative | 176     @CalledByNative | 
| 157     private static ContextMenuParams create(int mediaType, String pageUrl, Strin
     g linkUrl, | 177     private static ContextMenuParams create(int mediaType, String pageUrl, Strin
     g linkUrl, | 
| 158             String linkText, String unfilteredLinkUrl, String srcUrl, String tit
     leText, | 178             String linkText, String unfilteredLinkUrl, String srcUrl, String tit
     leText, | 
| 159             boolean imageWasFetchedLoFi, String sanitizedReferrer, int referrerP
     olicy, | 179             boolean imageWasFetchedLoFi, String sanitizedReferrer, int referrerP
     olicy, | 
| 160             boolean canSaveMedia) { | 180             boolean canSaveMedia, int triggeringTouchXDp, int triggeringTouchYDp
     ) { | 
| 161         Referrer referrer = TextUtils.isEmpty(sanitizedReferrer) | 181         Referrer referrer = TextUtils.isEmpty(sanitizedReferrer) | 
| 162                 ? null : new Referrer(sanitizedReferrer, referrerPolicy); | 182                 ? null : new Referrer(sanitizedReferrer, referrerPolicy); | 
| 163         return new ContextMenuParams(mediaType, pageUrl, linkUrl, linkText, unfi
     lteredLinkUrl, | 183         return new ContextMenuParams(mediaType, pageUrl, linkUrl, linkText, unfi
     lteredLinkUrl, | 
| 164                 srcUrl, titleText, imageWasFetchedLoFi, referrer, canSaveMedia); | 184                 srcUrl, titleText, imageWasFetchedLoFi, referrer, canSaveMedia, 
     triggeringTouchXDp, | 
|  | 185                 triggeringTouchYDp); | 
| 165     } | 186     } | 
| 166 } | 187 } | 
| OLD | NEW | 
|---|