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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationParams.java

Issue 1091253008: Fix an issue that external protocol in subframes are not handled on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase and fix test Created 5 years, 7 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/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 f894ce63314fb14568f05afecd2b40f56c020741..f0313b631774acdb4800fa209fbbb84a8114fa40 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
@@ -44,10 +44,13 @@ public class ExternalNavigationParams {
/** Whether this navigation happens in background tab. */
private final boolean mIsBackgroundTabNavigation;
+ /** Whether this navigation happens in main frame. */
+ private final boolean mIsMainFrame;
+
private ExternalNavigationParams(String url, boolean isIncognito, String referrerUrl,
int pageTransition, boolean isRedirect, boolean appMustBeInForeground,
TabRedirectHandler redirectHandler, TransitionPageHelper transitionPageHelper, Tab tab,
- boolean openInNewTab, boolean isBackgroundTabNavigation) {
+ boolean openInNewTab, boolean isBackgroundTabNavigation, boolean isMainFrame) {
mUrl = url;
mIsIncognito = isIncognito;
mPageTransition = pageTransition;
@@ -59,6 +62,7 @@ public class ExternalNavigationParams {
mTab = tab;
mOpenInNewTab = openInNewTab;
mIsBackgroundTabNavigation = isBackgroundTabNavigation;
+ mIsMainFrame = isMainFrame;
}
/** @return The URL to potentially open externally. */
@@ -119,6 +123,11 @@ public class ExternalNavigationParams {
return mIsBackgroundTabNavigation;
}
+ /** @return Whether this navigation happens in main frame. */
+ public boolean isMainFrame() {
+ return mIsMainFrame;
+ }
+
/** The builder for {@link ExternalNavigationParams} objects. */
public static class Builder {
/** The URL which we are navigating to. */
@@ -153,6 +162,9 @@ public class ExternalNavigationParams {
/** Whether this navigation happens in background tab. */
private boolean mIsBackgroundTabNavigation;
+ /** Whether this navigation happens in main frame. */
+ private boolean mIsMainFrame;
+
public Builder(String url, boolean isIncognito) {
mUrl = url;
mIsIncognito = isIncognito;
@@ -203,11 +215,18 @@ public class ExternalNavigationParams {
return this;
}
+ /** Sets whether this navigation happens in main frame. */
+ public Builder setIsMainFrame(boolean v) {
+ mIsMainFrame = v;
+ return this;
+ }
+
/** @return A fully constructed {@link ExternalNavigationParams} object. */
public ExternalNavigationParams build() {
return new ExternalNavigationParams(mUrl, mIsIncognito, mReferrerUrl, mPageTransition,
mIsRedirect, mApplicationMustBeInForeground, mRedirectHandler,
- mTransitionPageHelper, mTab, mOpenInNewTab, mIsBackgroundTabNavigation);
+ mTransitionPageHelper, mTab, mOpenInNewTab, mIsBackgroundTabNavigation,
+ mIsMainFrame);
}
}
}

Powered by Google App Engine
This is Rietveld 408576698