Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1015)

Side by Side Diff: components/sessions/session_service_commands.cc

Issue 1056793006: [Docking] Persists docked state on Chrome OS (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: [Docking] Makes docked state persistent on Chrome OS (comments) Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/common/extensions/api/windows.json ('k') | ui/base/ui_base_types.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/common/extensions/api/windows.json ('k') | ui/base/ui_base_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698