Fix Tab switching when starting a Download
When a Download URL opens in a new Tab,
the browser attempts to start the Download
and close the Tab. The methods used to do this
were buggy, leaving the visible tab in a broken
state.
Change-Id: I3eb0e9ca0992bfec48de2f58f5aa2895018cdd88
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 1083576..5934fe1 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -413,10 +413,7 @@
@Override
public void removeTab(Tab tab) {
- if (mActiveTab == tab) {
- removeTabFromContentView(tab);
- mActiveTab = null;
- }
+ removeTabFromContentView(tab);
}
@Override
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 946e456..e71bc27 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2986,6 +2986,7 @@
}
if (change_tabs) {
+ setActiveTab(tab);
synchronized (mThumbnailCbList) {
startCaptureTimer();
mLatestCreatedTab = tab;
@@ -2994,7 +2995,6 @@
public void onReceiveValue(Bitmap bitmap) {
synchronized (mThumbnailCbList) {
if (mLatestCreatedTab != null) {
- setActiveTab(mLatestCreatedTab);
mLatestCreatedTab = null;
}
stopCaptureTimer();
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 5a39678..690b007 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -350,11 +350,13 @@
@Override
public void onClick(View v) {
Tab currentTab = mUiController.getCurrentTab();
- WebView wv = currentTab.getWebView();
String url = null;
- if (currentTab != null){
+ WebView wv = null;
+ if (currentTab != null) {
+ wv = currentTab.getWebView();
url = currentTab.getUrl();
}
+
if (mMore == v) {
showMenu(mMore);
} else if (mFaviconTile == v) {