Fix IntentHandler behavior
Bug: 4473779
Plus, TESTS! Huzzah!
Change-Id: I043e100d99d4653b7fb7885217d7fb305930a137
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index c78b562..e672e2b 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -152,6 +152,7 @@
// All the state needed for a page
protected static class PageState {
String mUrl;
+ String mOriginalUrl;
String mTitle;
LockIcon mLockIcon;
Bitmap mFavicon;
@@ -159,10 +160,10 @@
PageState(Context c, boolean incognito) {
if (incognito) {
- mUrl = "browser:incognito";
+ mOriginalUrl = mUrl = "browser:incognito";
mTitle = c.getString(R.string.new_incognito_tab);
} else {
- mUrl = "";
+ mOriginalUrl = mUrl = "";
mTitle = c.getString(R.string.new_tab);
}
mFavicon = BitmapFactory.decodeResource(
@@ -171,7 +172,7 @@
}
PageState(Context c, boolean incognito, String url, Bitmap favicon) {
- mUrl = url;
+ mOriginalUrl = mUrl = url;
mTitle = null;
if (URLUtil.isHttpsUrl(url)) {
mLockIcon = LockIcon.LOCK_ICON_SECURE;
@@ -562,6 +563,7 @@
if (mCurrentState.mUrl == null) {
mCurrentState.mUrl = url != null ? url : "";
}
+ mCurrentState.mOriginalUrl = view.getOriginalUrl();
mCurrentState.mTitle = view.getTitle();
mCurrentState.mFavicon = view.getFavicon();
if (!URLUtil.isHttpsUrl(mCurrentState.mUrl)) {
@@ -1677,10 +1679,10 @@
}
String getOriginalUrl() {
- if (mMainView == null) {
- return "";
+ if (mCurrentState.mOriginalUrl == null) {
+ return getUrl();
}
- return UrlUtils.filteredUrl(mMainView.getOriginalUrl());
+ return UrlUtils.filteredUrl(mCurrentState.mOriginalUrl);
}
/**