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_live_tab_context.h" | 5 #include "chrome/browser/ui/browser_live_tab_context.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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 | 50 |
51 sessions::LiveTab* BrowserLiveTabContext::GetActiveLiveTab() const { | 51 sessions::LiveTab* BrowserLiveTabContext::GetActiveLiveTab() const { |
52 return sessions::ContentLiveTab::GetForWebContents( | 52 return sessions::ContentLiveTab::GetForWebContents( |
53 browser_->tab_strip_model()->GetActiveWebContents()); | 53 browser_->tab_strip_model()->GetActiveWebContents()); |
54 } | 54 } |
55 | 55 |
56 bool BrowserLiveTabContext::IsTabPinned(int index) const { | 56 bool BrowserLiveTabContext::IsTabPinned(int index) const { |
57 return browser_->tab_strip_model()->IsTabPinned(index); | 57 return browser_->tab_strip_model()->IsTabPinned(index); |
58 } | 58 } |
59 | 59 |
| 60 const gfx::Rect BrowserLiveTabContext::GetBounds() const { |
| 61 return browser_->window()->GetRestoredBounds(); |
| 62 } |
| 63 |
| 64 ui::WindowShowState BrowserLiveTabContext::GetShowState() const { |
| 65 return browser_->window()->GetRestoredState(); |
| 66 } |
| 67 |
| 68 std::string BrowserLiveTabContext::GetWorkspace() const { |
| 69 return browser_->window()->GetWorkspace(); |
| 70 } |
| 71 |
60 sessions::LiveTab* BrowserLiveTabContext::AddRestoredTab( | 72 sessions::LiveTab* BrowserLiveTabContext::AddRestoredTab( |
61 const std::vector<sessions::SerializedNavigationEntry>& navigations, | 73 const std::vector<sessions::SerializedNavigationEntry>& navigations, |
62 int tab_index, | 74 int tab_index, |
63 int selected_navigation, | 75 int selected_navigation, |
64 const std::string& extension_app_id, | 76 const std::string& extension_app_id, |
65 bool select, | 77 bool select, |
66 bool pin, | 78 bool pin, |
67 bool from_last_session, | 79 bool from_last_session, |
68 const sessions::PlatformSpecificTabData* tab_platform_data, | 80 const sessions::PlatformSpecificTabData* tab_platform_data, |
69 const std::string& user_agent_override) { | 81 const std::string& user_agent_override) { |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 return sessions::ContentLiveTab::GetForWebContents(web_contents); | 132 return sessions::ContentLiveTab::GetForWebContents(web_contents); |
121 } | 133 } |
122 | 134 |
123 void BrowserLiveTabContext::CloseTab() { | 135 void BrowserLiveTabContext::CloseTab() { |
124 chrome::CloseTab(browser_); | 136 chrome::CloseTab(browser_); |
125 } | 137 } |
126 | 138 |
127 // static | 139 // static |
128 sessions::LiveTabContext* BrowserLiveTabContext::Create( | 140 sessions::LiveTabContext* BrowserLiveTabContext::Create( |
129 Profile* profile, | 141 Profile* profile, |
130 const std::string& app_name) { | 142 const std::string& app_name, |
131 Browser* browser; | 143 const gfx::Rect& bounds, |
| 144 ui::WindowShowState show_state, |
| 145 const std::string& workspace) { |
| 146 std::unique_ptr<Browser::CreateParams> create_params; |
132 if (app_name.empty()) { | 147 if (app_name.empty()) { |
133 browser = new Browser(Browser::CreateParams(profile, true)); | 148 create_params = base::MakeUnique<Browser::CreateParams>( |
| 149 Browser::CreateParams(profile, true)); |
| 150 create_params->initial_bounds = bounds; |
134 } else { | 151 } else { |
135 // Only trusted app popup windows should ever be restored. | 152 // Only trusted app popup windows should ever be restored. |
136 browser = new Browser(Browser::CreateParams::CreateForApp( | 153 create_params = base::MakeUnique<Browser::CreateParams>( |
137 app_name, true /* trusted_source */, gfx::Rect(), profile, true)); | 154 Browser::CreateParams::CreateForApp(app_name, true /* trusted_source */, |
| 155 bounds, profile, |
| 156 true /* user_gesture */)); |
138 } | 157 } |
139 if (browser) | 158 create_params->initial_show_state = show_state; |
140 return browser->live_tab_context(); | 159 create_params->initial_workspace = workspace; |
141 else | 160 Browser* browser = new Browser(*create_params.get()); |
142 return NULL; | 161 return browser->live_tab_context(); |
143 } | 162 } |
144 | 163 |
145 // static | 164 // static |
146 sessions::LiveTabContext* BrowserLiveTabContext::FindContextForWebContents( | 165 sessions::LiveTabContext* BrowserLiveTabContext::FindContextForWebContents( |
147 const WebContents* contents) { | 166 const WebContents* contents) { |
148 Browser* browser = chrome::FindBrowserWithWebContents(contents); | 167 Browser* browser = chrome::FindBrowserWithWebContents(contents); |
149 return browser ? browser->live_tab_context() : nullptr; | 168 return browser ? browser->live_tab_context() : nullptr; |
150 } | 169 } |
151 | 170 |
152 // static | 171 // static |
153 sessions::LiveTabContext* BrowserLiveTabContext::FindContextWithID( | 172 sessions::LiveTabContext* BrowserLiveTabContext::FindContextWithID( |
154 SessionID::id_type desired_id) { | 173 SessionID::id_type desired_id) { |
155 Browser* browser = chrome::FindBrowserWithID(desired_id); | 174 Browser* browser = chrome::FindBrowserWithID(desired_id); |
156 return browser ? browser->live_tab_context() : nullptr; | 175 return browser ? browser->live_tab_context() : nullptr; |
157 } | 176 } |
OLD | NEW |