| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/sessions/session_service_commands.h" | 5 #include "components/sessions/session_service_commands.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/pickle.h" | 9 #include "base/pickle.h" |
| 10 #include "components/sessions/base_session_service_commands.h" | 10 #include "components/sessions/base_session_service_commands.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 // Persisted versions of ui::WindowShowState that are written to disk and can | 92 // Persisted versions of ui::WindowShowState that are written to disk and can |
| 93 // never change. | 93 // never change. |
| 94 enum PersistedWindowShowState { | 94 enum PersistedWindowShowState { |
| 95 // SHOW_STATE_DEFAULT (0) never persisted. | 95 // SHOW_STATE_DEFAULT (0) never persisted. |
| 96 PERSISTED_SHOW_STATE_NORMAL = 1, | 96 PERSISTED_SHOW_STATE_NORMAL = 1, |
| 97 PERSISTED_SHOW_STATE_MINIMIZED = 2, | 97 PERSISTED_SHOW_STATE_MINIMIZED = 2, |
| 98 PERSISTED_SHOW_STATE_MAXIMIZED = 3, | 98 PERSISTED_SHOW_STATE_MAXIMIZED = 3, |
| 99 // SHOW_STATE_INACTIVE (4) never persisted. | 99 // SHOW_STATE_INACTIVE (4) never persisted. |
| 100 PERSISTED_SHOW_STATE_FULLSCREEN = 5, | 100 PERSISTED_SHOW_STATE_FULLSCREEN = 5, |
| 101 PERSISTED_SHOW_STATE_DETACHED_DEPRECATED = 6, | 101 PERSISTED_SHOW_STATE_DETACHED_DEPRECATED = 6, |
| 102 PERSISTED_SHOW_STATE_END = 6 | 102 PERSISTED_SHOW_STATE_DOCKED = 7, |
| 103 PERSISTED_SHOW_STATE_END = 7 |
| 103 }; | 104 }; |
| 104 | 105 |
| 105 typedef std::map<SessionID::id_type, SessionTab*> IdToSessionTab; | 106 typedef std::map<SessionID::id_type, SessionTab*> IdToSessionTab; |
| 106 typedef std::map<SessionID::id_type, SessionWindow*> IdToSessionWindow; | 107 typedef std::map<SessionID::id_type, SessionWindow*> IdToSessionWindow; |
| 107 | 108 |
| 108 // Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState | 109 // Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState |
| 109 // is changed. | 110 // is changed. |
| 110 static_assert(ui::SHOW_STATE_END == | 111 static_assert(ui::SHOW_STATE_END == |
| 111 static_cast<ui::WindowShowState>(PERSISTED_SHOW_STATE_END), | 112 static_cast<ui::WindowShowState>(PERSISTED_SHOW_STATE_END), |
| 112 "SHOW_STATE_END must equal PERSISTED_SHOW_STATE_END"); | 113 "SHOW_STATE_END must equal PERSISTED_SHOW_STATE_END"); |
| 113 | 114 |
| 114 // Returns the show state to store to disk based |state|. | 115 // Returns the show state to store to disk based |state|. |
| 115 PersistedWindowShowState ShowStateToPersistedShowState( | 116 PersistedWindowShowState ShowStateToPersistedShowState( |
| 116 ui::WindowShowState state) { | 117 ui::WindowShowState state) { |
| 117 switch (state) { | 118 switch (state) { |
| 118 case ui::SHOW_STATE_NORMAL: | 119 case ui::SHOW_STATE_NORMAL: |
| 119 return PERSISTED_SHOW_STATE_NORMAL; | 120 return PERSISTED_SHOW_STATE_NORMAL; |
| 120 case ui::SHOW_STATE_MINIMIZED: | 121 case ui::SHOW_STATE_MINIMIZED: |
| 121 return PERSISTED_SHOW_STATE_MINIMIZED; | 122 return PERSISTED_SHOW_STATE_MINIMIZED; |
| 122 case ui::SHOW_STATE_MAXIMIZED: | 123 case ui::SHOW_STATE_MAXIMIZED: |
| 123 return PERSISTED_SHOW_STATE_MAXIMIZED; | 124 return PERSISTED_SHOW_STATE_MAXIMIZED; |
| 124 case ui::SHOW_STATE_FULLSCREEN: | 125 case ui::SHOW_STATE_FULLSCREEN: |
| 125 return PERSISTED_SHOW_STATE_FULLSCREEN; | 126 return PERSISTED_SHOW_STATE_FULLSCREEN; |
| 127 case ui::SHOW_STATE_DOCKED: |
| 128 return PERSISTED_SHOW_STATE_DOCKED; |
| 126 | 129 |
| 127 case ui::SHOW_STATE_DEFAULT: | 130 case ui::SHOW_STATE_DEFAULT: |
| 128 case ui::SHOW_STATE_INACTIVE: | 131 case ui::SHOW_STATE_INACTIVE: |
| 129 return PERSISTED_SHOW_STATE_NORMAL; | 132 return PERSISTED_SHOW_STATE_NORMAL; |
| 130 | 133 |
| 131 case ui::SHOW_STATE_END: | 134 case ui::SHOW_STATE_END: |
| 132 break; | 135 break; |
| 133 } | 136 } |
| 134 NOTREACHED(); | 137 NOTREACHED(); |
| 135 return PERSISTED_SHOW_STATE_NORMAL; | 138 return PERSISTED_SHOW_STATE_NORMAL; |
| 136 } | 139 } |
| 137 | 140 |
| 138 // Lints show state values when read back from persited disk. | 141 // Lints show state values when read back from persited disk. |
| 139 ui::WindowShowState PersistedShowStateToShowState(int state) { | 142 ui::WindowShowState PersistedShowStateToShowState(int state) { |
| 140 switch (state) { | 143 switch (state) { |
| 141 case PERSISTED_SHOW_STATE_NORMAL: | 144 case PERSISTED_SHOW_STATE_NORMAL: |
| 142 return ui::SHOW_STATE_NORMAL; | 145 return ui::SHOW_STATE_NORMAL; |
| 143 case PERSISTED_SHOW_STATE_MINIMIZED: | 146 case PERSISTED_SHOW_STATE_MINIMIZED: |
| 144 return ui::SHOW_STATE_MINIMIZED; | 147 return ui::SHOW_STATE_MINIMIZED; |
| 145 case PERSISTED_SHOW_STATE_MAXIMIZED: | 148 case PERSISTED_SHOW_STATE_MAXIMIZED: |
| 146 return ui::SHOW_STATE_MAXIMIZED; | 149 return ui::SHOW_STATE_MAXIMIZED; |
| 147 case PERSISTED_SHOW_STATE_FULLSCREEN: | 150 case PERSISTED_SHOW_STATE_FULLSCREEN: |
| 148 return ui::SHOW_STATE_FULLSCREEN; | 151 return ui::SHOW_STATE_FULLSCREEN; |
| 152 case PERSISTED_SHOW_STATE_DOCKED: |
| 153 return ui::SHOW_STATE_DOCKED; |
| 149 case PERSISTED_SHOW_STATE_DETACHED_DEPRECATED: | 154 case PERSISTED_SHOW_STATE_DETACHED_DEPRECATED: |
| 150 return ui::SHOW_STATE_NORMAL; | 155 return ui::SHOW_STATE_NORMAL; |
| 151 } | 156 } |
| 152 NOTREACHED(); | 157 NOTREACHED(); |
| 153 return ui::SHOW_STATE_NORMAL; | 158 return ui::SHOW_STATE_NORMAL; |
| 154 } | 159 } |
| 155 | 160 |
| 156 // Iterates through the vector updating the selected_tab_index of each | 161 // Iterates through the vector updating the selected_tab_index of each |
| 157 // SessionWindow based on the actual tabs that were restored. | 162 // SessionWindow based on the actual tabs that were restored. |
| 158 void UpdateSelectedTabIndex(std::vector<SessionWindow*>* windows) { | 163 void UpdateSelectedTabIndex(std::vector<SessionWindow*>* windows) { |
| (...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 828 AddTabsToWindows(&tabs, &windows); | 833 AddTabsToWindows(&tabs, &windows); |
| 829 SortTabsBasedOnVisualOrderAndPrune(&windows, valid_windows); | 834 SortTabsBasedOnVisualOrderAndPrune(&windows, valid_windows); |
| 830 UpdateSelectedTabIndex(valid_windows); | 835 UpdateSelectedTabIndex(valid_windows); |
| 831 } | 836 } |
| 832 STLDeleteValues(&tabs); | 837 STLDeleteValues(&tabs); |
| 833 // Don't delete contents of windows, that is done by the caller as all | 838 // Don't delete contents of windows, that is done by the caller as all |
| 834 // valid windows are added to valid_windows. | 839 // valid windows are added to valid_windows. |
| 835 } | 840 } |
| 836 | 841 |
| 837 } // namespace sessions | 842 } // namespace sessions |
| OLD | NEW |