Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java |
index a6d3108cc311843903e59a0f2887723294d224d5..476397e0888e91a9a8e3859dd87db16687035220 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkActivity.java |
@@ -19,6 +19,7 @@ import org.chromium.chrome.browser.tab.InterceptNavigationDelegateImpl; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tab.TabDelegateFactory; |
import org.chromium.chrome.browser.tab.TabRedirectHandler; |
+import org.chromium.chrome.browser.util.UrlUtilities; |
import org.chromium.components.navigation_interception.NavigationParams; |
import org.chromium.webapk.lib.client.WebApkServiceConnectionManager; |
@@ -57,7 +58,7 @@ public class WebApkActivity extends WebappActivity { |
return new WebappDelegateFactory(this) { |
@Override |
public InterceptNavigationDelegateImpl createInterceptNavigationDelegate(Tab tab) { |
- return new InterceptNavigationDelegateImpl(tab) { |
+ return new WebappInterceptNavigationDelegate(WebApkActivity.this, tab) { |
@Override |
public ExternalNavigationParams.Builder buildExternalNavigationParams( |
NavigationParams navigationParams, |
@@ -68,6 +69,11 @@ public class WebApkActivity extends WebappActivity { |
builder.setWebApkPackageName(getWebApkPackageName()); |
return builder; |
} |
+ |
+ @Override |
+ protected boolean isUrlOutsideWebappScope(WebappInfo info, String url) { |
+ return !UrlUtilities.isUrlWithinScope(url, info.scopeUri().toString()); |
+ } |
}; |
} |