summaryrefslogtreecommitdiffstats
path: root/chrome/browser/tab_contents
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-06 00:43:16 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-06 00:43:16 +0000
commitdf72ac7d639a53573b3696dc5174e37a5a32ce07 (patch)
tree24eb66d053f2893da731113a6edaf5ea8366c82a /chrome/browser/tab_contents
parent0fe52a020563061cc9b354f5a3892080b8500d8f (diff)
downloadchromium_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.cc13
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;
}