| 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);
 | 
|          }
 | 
|      }
 | 
|  }
 | 
| 
 |