Index: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java |
index 16aa3eee1b92b89753f6b8a119ec97c844793dfd..eadb29947d30115bc612afd979fe9e8b7b0ee4d5 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java |
@@ -43,6 +43,9 @@ public class ExternalNavigationParams { |
/** Whether this navigation happens in main frame. */ |
private final boolean mIsMainFrame; |
+ /** Whether this navigation is launched by user gesture. */ |
+ private final boolean mHasUserGesture; |
+ |
/** |
* Whether the current tab should be closed when an URL load was overridden and an |
* intent launched. |
@@ -51,8 +54,8 @@ public class ExternalNavigationParams { |
private ExternalNavigationParams(String url, boolean isIncognito, String referrerUrl, |
int pageTransition, boolean isRedirect, boolean appMustBeInForeground, |
- TabRedirectHandler redirectHandler, Tab tab, |
- boolean openInNewTab, boolean isBackgroundTabNavigation, boolean isMainFrame, |
+ TabRedirectHandler redirectHandler, Tab tab, boolean openInNewTab, |
+ boolean isBackgroundTabNavigation, boolean isMainFrame, boolean hasUserGesture, |
boolean shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent) { |
mUrl = url; |
mIsIncognito = isIncognito; |
@@ -65,6 +68,7 @@ public class ExternalNavigationParams { |
mOpenInNewTab = openInNewTab; |
mIsBackgroundTabNavigation = isBackgroundTabNavigation; |
mIsMainFrame = isMainFrame; |
+ mHasUserGesture = hasUserGesture; |
mShouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent = |
shouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent; |
} |
@@ -127,6 +131,11 @@ public class ExternalNavigationParams { |
return mIsMainFrame; |
} |
+ /** @return Whether this navigation is launched by user gesture. */ |
+ public boolean hasUserGesture() { |
+ return mHasUserGesture; |
+ } |
+ |
/** |
* @return Whether the current tab should be closed when an URL load was overridden and an |
* intent launched. |
@@ -169,6 +178,9 @@ public class ExternalNavigationParams { |
/** Whether this navigation happens in main frame. */ |
private boolean mIsMainFrame; |
+ /** Whether this navigation is launched by user gesture. */ |
+ private boolean mHasUserGesture; |
+ |
/** |
* Whether the current tab should be closed when an URL load was overridden and an |
* intent launched. |
@@ -225,6 +237,12 @@ public class ExternalNavigationParams { |
return this; |
} |
+ /** Sets whether this navigation happens in main frame. */ |
+ public Builder setHasUserGesture(boolean v) { |
+ mHasUserGesture = v; |
+ return this; |
+ } |
+ |
/** Sets whether the current tab should be closed when an URL load was overridden and an |
* intent launched. |
*/ |
@@ -237,8 +255,8 @@ public class ExternalNavigationParams { |
public ExternalNavigationParams build() { |
return new ExternalNavigationParams(mUrl, mIsIncognito, mReferrerUrl, mPageTransition, |
mIsRedirect, mApplicationMustBeInForeground, mRedirectHandler, |
- mTab, mOpenInNewTab, mIsBackgroundTabNavigation, |
- mIsMainFrame, mShouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent); |
+ mTab, mOpenInNewTab, mIsBackgroundTabNavigation, mIsMainFrame, |
+ mHasUserGesture, mShouldCloseContentsOnOverrideUrlLoadingAndLaunchIntent); |
} |
} |
} |