From 38b3965028e4ac433de9d43c02d3167ff0ef208c Mon Sep 17 00:00:00 2001 From: John Reck Date: Tue, 5 Jun 2012 09:22:59 -0700 Subject: Disable URL overriding on redirects Bug: 5334118 When sending an intent for a URL with specialized handlers, tag it with an extra that will surpress subsequent redirections Change-Id: I997aa79192baea86c58958ab213200d57ec4c4f9 --- src/com/android/browser/Tab.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/com/android/browser/Tab.java') diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java index 0cf598fc7..7cb00d93a 100644 --- a/src/com/android/browser/Tab.java +++ b/src/com/android/browser/Tab.java @@ -156,6 +156,7 @@ class Tab implements PictureListener { // If true, the tab is in page loading state (after onPageStarted, // before onPageFinsihed) private boolean mInPageLoad; + private boolean mDisableOverrideUrlLoading; // The last reported progress of the current page private int mPageLoadProgress; // The time the load started, used to find load page time @@ -373,6 +374,7 @@ class Tab implements PictureListener { @Override public void onPageFinished(WebView view, String url) { + mDisableOverrideUrlLoading = false; if (!isPrivateBrowsingEnabled()) { LogTag.logPageFinishedLoading( url, SystemClock.uptimeMillis() - mLoadStartTime); @@ -384,7 +386,7 @@ class Tab implements PictureListener { // return true if want to hijack the url to let another app to handle it @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { - if (mInForeground) { + if (!mDisableOverrideUrlLoading && mInForeground) { return mWebViewController.shouldOverrideUrlLoading(Tab.this, view, url); } else { @@ -1895,6 +1897,10 @@ class Tab implements PictureListener { } } + public void disableUrlOverridingForLoad() { + mDisableOverrideUrlLoading = true; + } + protected void capture() { if (mMainView == null || mCapture == null) return; if (mMainView.getContentWidth() <= 0 || mMainView.getContentHeight() <= 0) { -- cgit v1.2.3