| 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/core/session_service_commands.h" | 5 #include "components/sessions/core/session_service_commands.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <string.h> | 8 #include <string.h> |
| 9 | 9 |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 // Persisted versions of ui::WindowShowState that are written to disk and can | 106 // Persisted versions of ui::WindowShowState that are written to disk and can |
| 107 // never change. | 107 // never change. |
| 108 enum PersistedWindowShowState { | 108 enum PersistedWindowShowState { |
| 109 // SHOW_STATE_DEFAULT (0) never persisted. | 109 // SHOW_STATE_DEFAULT (0) never persisted. |
| 110 PERSISTED_SHOW_STATE_NORMAL = 1, | 110 PERSISTED_SHOW_STATE_NORMAL = 1, |
| 111 PERSISTED_SHOW_STATE_MINIMIZED = 2, | 111 PERSISTED_SHOW_STATE_MINIMIZED = 2, |
| 112 PERSISTED_SHOW_STATE_MAXIMIZED = 3, | 112 PERSISTED_SHOW_STATE_MAXIMIZED = 3, |
| 113 // SHOW_STATE_INACTIVE (4) never persisted. | 113 // SHOW_STATE_INACTIVE (4) never persisted. |
| 114 PERSISTED_SHOW_STATE_FULLSCREEN = 5, | 114 PERSISTED_SHOW_STATE_FULLSCREEN = 5, |
| 115 PERSISTED_SHOW_STATE_DETACHED_DEPRECATED = 6, | 115 PERSISTED_SHOW_STATE_DETACHED_DEPRECATED = 6, |
| 116 PERSISTED_SHOW_STATE_DOCKED = 7, | 116 PERSISTED_SHOW_STATE_DOCKED_DEPRECATED = 7, |
| 117 PERSISTED_SHOW_STATE_END = 7 | 117 PERSISTED_SHOW_STATE_END = 7 |
| 118 }; | 118 }; |
| 119 | 119 |
| 120 using IdToSessionTab = | 120 using IdToSessionTab = |
| 121 std::map<SessionID::id_type, std::unique_ptr<SessionTab>>; | 121 std::map<SessionID::id_type, std::unique_ptr<SessionTab>>; |
| 122 using IdToSessionWindow = | 122 using IdToSessionWindow = |
| 123 std::map<SessionID::id_type, std::unique_ptr<SessionWindow>>; | 123 std::map<SessionID::id_type, std::unique_ptr<SessionWindow>>; |
| 124 | 124 |
| 125 // Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState | 125 // Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState |
| 126 // is changed. | 126 // is changed. |
| 127 static_assert(ui::SHOW_STATE_END == | 127 static_assert(ui::SHOW_STATE_END == |
| 128 static_cast<ui::WindowShowState>(PERSISTED_SHOW_STATE_END), | 128 static_cast<ui::WindowShowState>(PERSISTED_SHOW_STATE_END), |
| 129 "SHOW_STATE_END must equal PERSISTED_SHOW_STATE_END"); | 129 "SHOW_STATE_END must equal PERSISTED_SHOW_STATE_END"); |
| 130 | 130 |
| 131 // Returns the show state to store to disk based |state|. | 131 // Returns the show state to store to disk based |state|. |
| 132 PersistedWindowShowState ShowStateToPersistedShowState( | 132 PersistedWindowShowState ShowStateToPersistedShowState( |
| 133 ui::WindowShowState state) { | 133 ui::WindowShowState state) { |
| 134 switch (state) { | 134 switch (state) { |
| 135 case ui::SHOW_STATE_NORMAL: | 135 case ui::SHOW_STATE_NORMAL: |
| 136 return PERSISTED_SHOW_STATE_NORMAL; | 136 return PERSISTED_SHOW_STATE_NORMAL; |
| 137 case ui::SHOW_STATE_MINIMIZED: | 137 case ui::SHOW_STATE_MINIMIZED: |
| 138 return PERSISTED_SHOW_STATE_MINIMIZED; | 138 return PERSISTED_SHOW_STATE_MINIMIZED; |
| 139 case ui::SHOW_STATE_MAXIMIZED: | 139 case ui::SHOW_STATE_MAXIMIZED: |
| 140 return PERSISTED_SHOW_STATE_MAXIMIZED; | 140 return PERSISTED_SHOW_STATE_MAXIMIZED; |
| 141 case ui::SHOW_STATE_FULLSCREEN: | 141 case ui::SHOW_STATE_FULLSCREEN: |
| 142 return PERSISTED_SHOW_STATE_FULLSCREEN; | 142 return PERSISTED_SHOW_STATE_FULLSCREEN; |
| 143 |
| 144 // TODO(afakhry): Remove Docked Windows in M58. |
| 143 case ui::SHOW_STATE_DOCKED: | 145 case ui::SHOW_STATE_DOCKED: |
| 144 return PERSISTED_SHOW_STATE_DOCKED; | 146 return PERSISTED_SHOW_STATE_DOCKED_DEPRECATED; |
| 145 | 147 |
| 146 case ui::SHOW_STATE_DEFAULT: | 148 case ui::SHOW_STATE_DEFAULT: |
| 147 case ui::SHOW_STATE_INACTIVE: | 149 case ui::SHOW_STATE_INACTIVE: |
| 148 return PERSISTED_SHOW_STATE_NORMAL; | 150 return PERSISTED_SHOW_STATE_NORMAL; |
| 149 | 151 |
| 150 case ui::SHOW_STATE_END: | 152 case ui::SHOW_STATE_END: |
| 151 break; | 153 break; |
| 152 } | 154 } |
| 153 NOTREACHED(); | 155 NOTREACHED(); |
| 154 return PERSISTED_SHOW_STATE_NORMAL; | 156 return PERSISTED_SHOW_STATE_NORMAL; |
| 155 } | 157 } |
| 156 | 158 |
| 157 // Lints show state values when read back from persited disk. | 159 // Lints show state values when read back from persited disk. |
| 158 ui::WindowShowState PersistedShowStateToShowState(int state) { | 160 ui::WindowShowState PersistedShowStateToShowState(int state) { |
| 159 switch (state) { | 161 switch (state) { |
| 160 case PERSISTED_SHOW_STATE_NORMAL: | 162 case PERSISTED_SHOW_STATE_NORMAL: |
| 161 return ui::SHOW_STATE_NORMAL; | 163 return ui::SHOW_STATE_NORMAL; |
| 162 case PERSISTED_SHOW_STATE_MINIMIZED: | 164 case PERSISTED_SHOW_STATE_MINIMIZED: |
| 163 return ui::SHOW_STATE_MINIMIZED; | 165 return ui::SHOW_STATE_MINIMIZED; |
| 164 case PERSISTED_SHOW_STATE_MAXIMIZED: | 166 case PERSISTED_SHOW_STATE_MAXIMIZED: |
| 165 return ui::SHOW_STATE_MAXIMIZED; | 167 return ui::SHOW_STATE_MAXIMIZED; |
| 166 case PERSISTED_SHOW_STATE_FULLSCREEN: | 168 case PERSISTED_SHOW_STATE_FULLSCREEN: |
| 167 return ui::SHOW_STATE_FULLSCREEN; | 169 return ui::SHOW_STATE_FULLSCREEN; |
| 168 case PERSISTED_SHOW_STATE_DOCKED: | 170 case PERSISTED_SHOW_STATE_DOCKED_DEPRECATED: |
| 169 return ui::SHOW_STATE_DOCKED; | 171 return ui::SHOW_STATE_DOCKED; |
| 170 case PERSISTED_SHOW_STATE_DETACHED_DEPRECATED: | 172 case PERSISTED_SHOW_STATE_DETACHED_DEPRECATED: |
| 171 return ui::SHOW_STATE_NORMAL; | 173 return ui::SHOW_STATE_NORMAL; |
| 172 } | 174 } |
| 173 NOTREACHED(); | 175 NOTREACHED(); |
| 174 return ui::SHOW_STATE_NORMAL; | 176 return ui::SHOW_STATE_NORMAL; |
| 175 } | 177 } |
| 176 | 178 |
| 177 // Iterates through the vector updating the selected_tab_index of each | 179 // Iterates through the vector updating the selected_tab_index of each |
| 178 // SessionWindow based on the actual tabs that were restored. | 180 // SessionWindow based on the actual tabs that were restored. |
| (...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 893 SortTabsBasedOnVisualOrderAndClear(&windows, valid_windows); | 895 SortTabsBasedOnVisualOrderAndClear(&windows, valid_windows); |
| 894 UpdateSelectedTabIndex(valid_windows); | 896 UpdateSelectedTabIndex(valid_windows); |
| 895 } | 897 } |
| 896 // AddTabsToWindows should have processed all the tabs. | 898 // AddTabsToWindows should have processed all the tabs. |
| 897 DCHECK_EQ(0u, tabs.size()); | 899 DCHECK_EQ(0u, tabs.size()); |
| 898 // SortTabsBasedOnVisualOrderAndClear should have processed all the windows. | 900 // SortTabsBasedOnVisualOrderAndClear should have processed all the windows. |
| 899 DCHECK_EQ(0u, windows.size()); | 901 DCHECK_EQ(0u, windows.size()); |
| 900 } | 902 } |
| 901 | 903 |
| 902 } // namespace sessions | 904 } // namespace sessions |
| OLD | NEW |