From bd961141b683e856b274cefc69f1c013805e1343 Mon Sep 17 00:00:00 2001 From: John Reck Date: Mon, 20 Jun 2011 18:30:26 -0700 Subject: [PATCH] DO NOT MERGE Security fix Bug: 4742007 Change-Id: I187ce151078795ad9b566e9dfbfe69c38d15b478 --- src/com/android/browser/BrowserActivity.java | 49 +++++++++++++--------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java index 793a43c..50521a9 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -1785,33 +1785,30 @@ public class BrowserActivity extends Activity // url isn't null, it will load the given url. /* package */Tab openTabAndShow(UrlData urlData, boolean closeOnExit, String appId) { - final Tab currentTab = mTabControl.getCurrentTab(); - if (mTabControl.canCreateNewTab()) { - final Tab tab = mTabControl.createNewTab(closeOnExit, appId, - urlData.mUrl); - WebView webview = tab.getWebView(); - // If the last tab was removed from the active tabs page, currentTab - // will be null. - if (currentTab != null) { - removeTabFromContentView(currentTab); - } - // We must set the new tab as the current tab to reflect the old - // animation behavior. - mTabControl.setCurrentTab(tab); - attachTabToContentView(tab); - if (!urlData.isEmpty()) { - loadUrlDataIn(tab, urlData); - } - return tab; - } else { - // Get rid of the subwindow if it exists - dismissSubWindow(currentTab); - if (!urlData.isEmpty()) { - // Load the given url. - loadUrlDataIn(currentTab, urlData); - } - return currentTab; + Tab currentTab = mTabControl.getCurrentTab(); + if (!mTabControl.canCreateNewTab()) { + Tab closeTab = mTabControl.getTab(0); + closeTab(closeTab); + if (closeTab == currentTab) { + currentTab = null; + } + } + final Tab tab = mTabControl.createNewTab(closeOnExit, appId, + urlData.mUrl); + WebView webview = tab.getWebView(); + // If the last tab was removed from the active tabs page, currentTab + // will be null. + if (currentTab != null) { + removeTabFromContentView(currentTab); + } + // We must set the new tab as the current tab to reflect the old + // animation behavior. + mTabControl.setCurrentTab(tab); + attachTabToContentView(tab); + if (!urlData.isEmpty()) { + loadUrlDataIn(tab, urlData); } + return tab; } private Tab openTab(String url) { -- 2.11.0