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/sessions/session_service.h" | 5 #include "chrome/browser/sessions/session_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 bool pinned_state; | 133 bool pinned_state; |
134 }; | 134 }; |
135 | 135 |
136 // Returns the show state to store to disk based |state|. | 136 // Returns the show state to store to disk based |state|. |
137 ui::WindowShowState AdjustShowState(ui::WindowShowState state) { | 137 ui::WindowShowState AdjustShowState(ui::WindowShowState state) { |
138 switch (state) { | 138 switch (state) { |
139 case ui::SHOW_STATE_NORMAL: | 139 case ui::SHOW_STATE_NORMAL: |
140 case ui::SHOW_STATE_MINIMIZED: | 140 case ui::SHOW_STATE_MINIMIZED: |
141 case ui::SHOW_STATE_MAXIMIZED: | 141 case ui::SHOW_STATE_MAXIMIZED: |
142 case ui::SHOW_STATE_FULLSCREEN: | 142 case ui::SHOW_STATE_FULLSCREEN: |
| 143 case ui::SHOW_STATE_DETACHED: |
143 return state; | 144 return state; |
144 | 145 |
145 case ui::SHOW_STATE_DEFAULT: | 146 case ui::SHOW_STATE_DEFAULT: |
146 case ui::SHOW_STATE_INACTIVE: | 147 case ui::SHOW_STATE_INACTIVE: |
147 case ui::SHOW_STATE_END: | 148 case ui::SHOW_STATE_END: |
148 return ui::SHOW_STATE_NORMAL; | 149 return ui::SHOW_STATE_NORMAL; |
149 } | 150 } |
150 return ui::SHOW_STATE_NORMAL; | 151 return ui::SHOW_STATE_NORMAL; |
151 } | 152 } |
152 | 153 |
(...skipping 1188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1341 } | 1342 } |
1342 | 1343 |
1343 void SessionService::BuildCommandsForBrowser( | 1344 void SessionService::BuildCommandsForBrowser( |
1344 Browser* browser, | 1345 Browser* browser, |
1345 std::vector<SessionCommand*>* commands, | 1346 std::vector<SessionCommand*>* commands, |
1346 IdToRange* tab_to_available_range, | 1347 IdToRange* tab_to_available_range, |
1347 std::set<SessionID::id_type>* windows_to_track) { | 1348 std::set<SessionID::id_type>* windows_to_track) { |
1348 DCHECK(browser && commands); | 1349 DCHECK(browser && commands); |
1349 DCHECK(browser->session_id().id()); | 1350 DCHECK(browser->session_id().id()); |
1350 | 1351 |
1351 ui::WindowShowState show_state = ui::SHOW_STATE_NORMAL; | |
1352 if (browser->window()->IsMaximized()) | |
1353 show_state = ui::SHOW_STATE_MAXIMIZED; | |
1354 else if (browser->window()->IsMinimized()) | |
1355 show_state = ui::SHOW_STATE_MINIMIZED; | |
1356 | |
1357 commands->push_back( | 1352 commands->push_back( |
1358 CreateSetWindowBoundsCommand(browser->session_id(), | 1353 CreateSetWindowBoundsCommand(browser->session_id(), |
1359 browser->window()->GetRestoredBounds(), | 1354 browser->window()->GetRestoredBounds(), |
1360 show_state)); | 1355 browser->window()->GetRestoredState())); |
1361 | 1356 |
1362 commands->push_back(CreateSetWindowTypeCommand( | 1357 commands->push_back(CreateSetWindowTypeCommand( |
1363 browser->session_id(), WindowTypeForBrowserType(browser->type()))); | 1358 browser->session_id(), WindowTypeForBrowserType(browser->type()))); |
1364 | 1359 |
1365 if (!browser->app_name().empty()) { | 1360 if (!browser->app_name().empty()) { |
1366 commands->push_back(CreateSetWindowAppNameCommand( | 1361 commands->push_back(CreateSetWindowAppNameCommand( |
1367 kCommandSetWindowAppName, | 1362 kCommandSetWindowAppName, |
1368 browser->session_id().id(), | 1363 browser->session_id().id(), |
1369 browser->app_name())); | 1364 browser->app_name())); |
1370 } | 1365 } |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1761 contents->GetController().GetDefaultSessionStorageNamespace(); | 1756 contents->GetController().GetDefaultSessionStorageNamespace(); |
1762 session_storage_namespace->SetShouldPersist(false); | 1757 session_storage_namespace->SetShouldPersist(false); |
1763 SessionTabHelper* session_tab_helper = | 1758 SessionTabHelper* session_tab_helper = |
1764 SessionTabHelper::FromWebContents(contents); | 1759 SessionTabHelper::FromWebContents(contents); |
1765 TabClosed(session_tab_helper->window_id(), | 1760 TabClosed(session_tab_helper->window_id(), |
1766 session_tab_helper->session_id(), | 1761 session_tab_helper->session_id(), |
1767 contents->GetClosedByUserGesture()); | 1762 contents->GetClosedByUserGesture()); |
1768 RecordSessionUpdateHistogramData(content::NOTIFICATION_WEB_CONTENTS_DESTROYED, | 1763 RecordSessionUpdateHistogramData(content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
1769 &last_updated_tab_closed_time_); | 1764 &last_updated_tab_closed_time_); |
1770 } | 1765 } |
OLD | NEW |