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 e2519d41de7d68094ceaa52825c9f043fc8a517f..5fa27c5cb10861879c752d282f836009d92fd34d 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()); |
+ } |
}; |
} |