Index: chrome/browser/ui/browser_tab_restore_service_delegate.cc |
diff --git a/chrome/browser/ui/browser_tab_restore_service_delegate.cc b/chrome/browser/ui/browser_tab_restore_service_delegate.cc |
index 2db512746294a50b65ce39c4969aa93566715f08..360339997eb8caf548419e7615032c94f675f623 100644 |
--- a/chrome/browser/ui/browser_tab_restore_service_delegate.cc |
+++ b/chrome/browser/ui/browser_tab_restore_service_delegate.cc |
@@ -29,6 +29,10 @@ int BrowserTabRestoreServiceDelegate::GetSelectedIndex() const { |
return browser_->active_index(); |
} |
+std::string BrowserTabRestoreServiceDelegate::GetAppName() const { |
+ return browser_->app_name(); |
+} |
+ |
WebContents* BrowserTabRestoreServiceDelegate::GetWebContentsAt( |
int index) const { |
return browser_->GetWebContentsAt(index); |
@@ -74,8 +78,19 @@ void BrowserTabRestoreServiceDelegate::CloseTab() { |
// Implementations of TabRestoreServiceDelegate static methods |
// static |
-TabRestoreServiceDelegate* TabRestoreServiceDelegate::Create(Profile* profile) { |
- Browser* browser = Browser::Create(profile); |
+TabRestoreServiceDelegate* TabRestoreServiceDelegate::Create( |
+ Profile* profile, |
+ const std::string& app_name) { |
+ Browser* browser; |
+ if (app_name.empty()) { |
+ browser = Browser::Create(profile); |
+ } else { |
+ browser = Browser::CreateForApp( |
+ Browser::TYPE_POPUP, |
+ app_name, |
+ gfx::Rect(), |
+ profile); |
+ } |
if (browser) |
return browser->tab_restore_service_delegate(); |
else |