diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-06 00:43:16 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-06 00:43:16 +0000 |
commit | df72ac7d639a53573b3696dc5174e37a5a32ce07 (patch) | |
tree | 24eb66d053f2893da731113a6edaf5ea8366c82a /chrome/browser/tab_contents | |
parent | 0fe52a020563061cc9b354f5a3892080b8500d8f (diff) | |
download | chromium_src-df72ac7d639a53573b3696dc5174e37a5a32ce07.zip chromium_src-df72ac7d639a53573b3696dc5174e37a5a32ce07.tar.gz chromium_src-df72ac7d639a53573b3696dc5174e37a5a32ce07.tar.bz2 |
Makes mini-tabs work on the UI side (at least for views). I still have
a handful of things to resolve before I turn on pinning.
BUG=32845
TEST=none
Review URL: http://codereview.chromium.org/579011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38287 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents')
-rw-r--r-- | chrome/browser/tab_contents/tab_contents.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/chrome/browser/tab_contents/tab_contents.cc b/chrome/browser/tab_contents/tab_contents.cc index 3f61ddb..ebc370b 100644 --- a/chrome/browser/tab_contents/tab_contents.cc +++ b/chrome/browser/tab_contents/tab_contents.cc @@ -1230,10 +1230,14 @@ void TabContents::OnCloseStarted() { } TabContents* TabContents::CloneAndMakePhantom() { - DCHECK(app_extension_); // Should only be invoked on apps. - TabNavigation tab_nav; - tab_nav.set_url(app_extension_->app_launch_url()); + + NavigationEntry* entry = controller().GetActiveEntry(); + if (app_extension_) + tab_nav.set_url(app_extension_->app_launch_url()); + else if (entry) + tab_nav.SetFromNavigationEntry(*entry); + std::vector<TabNavigation> navigations; navigations.push_back(tab_nav); @@ -1242,6 +1246,9 @@ TabContents* TabContents::CloneAndMakePhantom() { new_contents->SetAppExtension(app_extension_); new_contents->controller().RestoreFromState(navigations, 0, false); + if (!app_extension_ && entry) + new_contents->controller().GetActiveEntry()->favicon() = entry->favicon(); + return new_contents; } |