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

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

Issue 2772583006: PlzNavigate: load the fallback URL of intents asynchronously (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
index 492a25db1fa12bc8b27cb4a7f5eb24bd160d02ec..08b6015d5b54ecdfa70232251623d1da047d2be1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -16,6 +16,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Build;
+import android.os.Handler;
import android.os.StrictMode;
import android.provider.Browser;
import android.provider.Telephony;
@@ -490,7 +491,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public OverrideUrlLoadingResult clobberCurrentTab(
- String url, String referrerUrl, Tab tab) {
+ String url, String referrerUrl, final Tab tab) {
int transitionType = PageTransition.LINK;
LoadUrlParams loadUrlParams = new LoadUrlParams(url, transitionType);
if (!TextUtils.isEmpty(referrerUrl)) {
@@ -498,7 +499,16 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
loadUrlParams.setReferrer(referrer);
}
if (tab != null) {
- tab.loadUrl(loadUrlParams);
+ // Load the URL asynchronously for PlzNavigate.
+ final Handler handler = new Handler();
+ final LoadUrlParams finalParam = loadUrlParams;
+ Runnable openRunnable = new Runnable() {
+ @Override
+ public void run() {
+ tab.loadUrl(finalParam);
+ }
+ };
+ handler.post(openRunnable);
return OverrideUrlLoadingResult.OVERRIDE_WITH_CLOBBERING_TAB;
} else {
assert false : "clobberCurrentTab was called with an empty tab.";
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698