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 |