| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/browser_tab_restore_service_delegate.h" | 5 #include "chrome/browser/ui/browser_tab_restore_service_delegate.h" |
| 6 | 6 |
| 7 #include "chrome/browser/ui/browser.h" | 7 #include "chrome/browser/ui/browser.h" |
| 8 #include "chrome/browser/ui/browser_commands.h" | 8 #include "chrome/browser/ui/browser_commands.h" |
| 9 #include "chrome/browser/ui/browser_finder.h" | 9 #include "chrome/browser/ui/browser_finder.h" |
| 10 #include "chrome/browser/ui/browser_tabrestore.h" | 10 #include "chrome/browser/ui/browser_tabrestore.h" |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 const std::string& user_agent_override) { | 74 const std::string& user_agent_override) { |
| 75 return chrome::ReplaceRestoredTab(browser_, navigations, selected_navigation, | 75 return chrome::ReplaceRestoredTab(browser_, navigations, selected_navigation, |
| 76 from_last_session, extension_app_id, | 76 from_last_session, extension_app_id, |
| 77 session_storage_namespace, user_agent_override); | 77 session_storage_namespace, user_agent_override); |
| 78 } | 78 } |
| 79 | 79 |
| 80 void BrowserTabRestoreServiceDelegate::CloseTab() { | 80 void BrowserTabRestoreServiceDelegate::CloseTab() { |
| 81 chrome::CloseTab(browser_); | 81 chrome::CloseTab(browser_); |
| 82 } | 82 } |
| 83 | 83 |
| 84 // Implementations of TabRestoreServiceDelegate static methods | |
| 85 | |
| 86 // static | 84 // static |
| 87 TabRestoreServiceDelegate* TabRestoreServiceDelegate::Create( | 85 TabRestoreServiceDelegate* BrowserTabRestoreServiceDelegate::Create( |
| 88 Profile* profile, | 86 Profile* profile, |
| 89 chrome::HostDesktopType host_desktop_type, | 87 chrome::HostDesktopType host_desktop_type, |
| 90 const std::string& app_name) { | 88 const std::string& app_name) { |
| 91 Browser* browser; | 89 Browser* browser; |
| 92 if (app_name.empty()) { | 90 if (app_name.empty()) { |
| 93 browser = new Browser(Browser::CreateParams(profile, host_desktop_type)); | 91 browser = new Browser(Browser::CreateParams(profile, host_desktop_type)); |
| 94 } else { | 92 } else { |
| 95 // Only trusted app popup windows should ever be restored. | 93 // Only trusted app popup windows should ever be restored. |
| 96 browser = new Browser( | 94 browser = new Browser( |
| 97 Browser::CreateParams::CreateForApp( | 95 Browser::CreateParams::CreateForApp( |
| 98 app_name, true /* trusted_source */, gfx::Rect(), profile, | 96 app_name, true /* trusted_source */, gfx::Rect(), profile, |
| 99 host_desktop_type)); | 97 host_desktop_type)); |
| 100 } | 98 } |
| 101 if (browser) | 99 if (browser) |
| 102 return browser->tab_restore_service_delegate(); | 100 return browser->tab_restore_service_delegate(); |
| 103 else | 101 else |
| 104 return NULL; | 102 return NULL; |
| 105 } | 103 } |
| 106 | 104 |
| 107 // static | 105 // static |
| 108 TabRestoreServiceDelegate* | 106 TabRestoreServiceDelegate* |
| 109 TabRestoreServiceDelegate::FindDelegateForWebContents( | 107 BrowserTabRestoreServiceDelegate::FindDelegateForWebContents( |
| 110 const WebContents* contents) { | 108 const WebContents* contents) { |
| 111 Browser* browser = chrome::FindBrowserWithWebContents(contents); | 109 Browser* browser = chrome::FindBrowserWithWebContents(contents); |
| 112 return browser ? browser->tab_restore_service_delegate() : NULL; | 110 return browser ? browser->tab_restore_service_delegate() : NULL; |
| 113 } | 111 } |
| 114 | 112 |
| 115 // static | 113 // static |
| 116 TabRestoreServiceDelegate* TabRestoreServiceDelegate::FindDelegateWithID( | 114 TabRestoreServiceDelegate* BrowserTabRestoreServiceDelegate::FindDelegateWithID( |
| 117 SessionID::id_type desired_id, | 115 SessionID::id_type desired_id, |
| 118 chrome::HostDesktopType host_desktop_type) { | 116 chrome::HostDesktopType host_desktop_type) { |
| 119 Browser* browser = chrome::FindBrowserWithID(desired_id); | 117 Browser* browser = chrome::FindBrowserWithID(desired_id); |
| 120 return (browser && browser->host_desktop_type() == host_desktop_type) ? | 118 return (browser && browser->host_desktop_type() == host_desktop_type) ? |
| 121 browser->tab_restore_service_delegate() : NULL; | 119 browser->tab_restore_service_delegate() : NULL; |
| 122 } | 120 } |
| OLD | NEW |