Index: chrome/browser/ui/browser_tabstrip.cc |
diff --git a/chrome/browser/ui/browser_tabstrip.cc b/chrome/browser/ui/browser_tabstrip.cc |
index 995e0de1a4ecf609711db7b6108d8a513a4722cf..289f555686ddda70777e2f23c35a090f292d34b8 100644 |
--- a/chrome/browser/ui/browser_tabstrip.cc |
+++ b/chrome/browser/ui/browser_tabstrip.cc |
@@ -24,11 +24,17 @@ void AddTabAt(Browser* browser, const GURL& url, int idx, bool foreground) { |
// WebContents, but we want to include the time it takes to create the |
// WebContents object too. |
base::TimeTicks new_tab_start_time = base::TimeTicks::Now(); |
+ bool show_ntp = url.is_empty(); |
chrome::NavigateParams params(browser, |
- url.is_empty() ? GURL(chrome::kChromeUINewTabURL) : url, |
- ui::PAGE_TRANSITION_TYPED); |
+ show_ntp ? GURL(chrome::kChromeUINewTabURL) : url, |
+ show_ntp ? ui::PAGE_TRANSITION_AUTO_TOPLEVEL : ui::PAGE_TRANSITION_TYPED); |
params.disposition = foreground ? NEW_FOREGROUND_TAB : NEW_BACKGROUND_TAB; |
params.tabstrip_index = idx; |
+ // Explicitly ensure new tabs will return to the previous focused tabs when |
msw
2016/02/02 01:57:46
nit: "Ensure the previously active tab regains foc
|
+ // closed. |
+ if (show_ntp) |
msw
2016/02/02 01:57:46
Why is this only applied if |show_ntp| is true? (d
|
+ params.tabstrip_add_types |= TabStripModel::ADD_INHERIT_GROUP; |
+ |
chrome::Navigate(¶ms); |
CoreTabHelper* core_tab_helper = |
CoreTabHelper::FromWebContents(params.target_contents); |