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/ui/ash/chrome_launcher_prefs.h" | 5 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 } | 125 } |
126 | 126 |
127 const char* AlignmentToPref(ShelfAlignment alignment) { | 127 const char* AlignmentToPref(ShelfAlignment alignment) { |
128 switch (alignment) { | 128 switch (alignment) { |
129 case SHELF_ALIGNMENT_BOTTOM: | 129 case SHELF_ALIGNMENT_BOTTOM: |
130 return kShelfAlignmentBottom; | 130 return kShelfAlignmentBottom; |
131 case SHELF_ALIGNMENT_LEFT: | 131 case SHELF_ALIGNMENT_LEFT: |
132 return kShelfAlignmentLeft; | 132 return kShelfAlignmentLeft; |
133 case SHELF_ALIGNMENT_RIGHT: | 133 case SHELF_ALIGNMENT_RIGHT: |
134 return kShelfAlignmentRight; | 134 return kShelfAlignmentRight; |
| 135 case SHELF_ALIGNMENT_BOTTOM_LOCKED: |
| 136 // This should not be a valid preference option for now. We only want to |
| 137 // lock the shelf during login or when adding a user. |
| 138 return nullptr; |
135 } | 139 } |
136 NOTREACHED(); | 140 NOTREACHED(); |
137 return nullptr; | 141 return nullptr; |
138 } | 142 } |
139 | 143 |
140 ShelfAutoHideBehavior AutoHideBehaviorFromPref(const std::string& value) { | 144 ShelfAutoHideBehavior AutoHideBehaviorFromPref(const std::string& value) { |
141 // Note: To maintain sync compatibility with old images of chrome/chromeos | 145 // Note: To maintain sync compatibility with old images of chrome/chromeos |
142 // the set of values that may be encountered includes the now-extinct | 146 // the set of values that may be encountered includes the now-extinct |
143 // "Default" as well as "Never" and "Always", "Default" should now | 147 // "Default" as well as "Never" and "Always", "Default" should now |
144 // be treated as "Never" (http://crbug.com/146773). | 148 // be treated as "Never" (http://crbug.com/146773). |
145 if (value == kShelfAutoHideBehaviorAlways) | 149 if (value == kShelfAutoHideBehaviorAlways) |
146 return SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS; | 150 return SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS; |
147 return SHELF_AUTO_HIDE_BEHAVIOR_NEVER; | 151 return SHELF_AUTO_HIDE_BEHAVIOR_NEVER; |
148 } | 152 } |
149 | 153 |
150 const char* AutoHideBehaviorToPref(ShelfAutoHideBehavior behavior) { | 154 const char* AutoHideBehaviorToPref(ShelfAutoHideBehavior behavior) { |
151 switch (behavior) { | 155 switch (behavior) { |
152 case SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS: | 156 case SHELF_AUTO_HIDE_BEHAVIOR_ALWAYS: |
153 return kShelfAutoHideBehaviorAlways; | 157 return kShelfAutoHideBehaviorAlways; |
154 case SHELF_AUTO_HIDE_BEHAVIOR_NEVER: | 158 case SHELF_AUTO_HIDE_BEHAVIOR_NEVER: |
155 return kShelfAutoHideBehaviorNever; | 159 return kShelfAutoHideBehaviorNever; |
156 case SHELF_AUTO_HIDE_ALWAYS_HIDDEN: | 160 case SHELF_AUTO_HIDE_ALWAYS_HIDDEN: |
157 // This one should not be a valid preference option for now. We only want | 161 // This should not be a valid preference option for now. We only want to |
158 // to completely hide it when we run in app mode - or while we temporarily | 162 // completely hide it when we run in app mode - or while we temporarily |
159 // hide the shelf as part of an animation (e.g. the multi user change). | 163 // hide the shelf as part of an animation (e.g. the multi user change). |
160 return nullptr; | 164 return nullptr; |
161 } | 165 } |
162 NOTREACHED(); | 166 NOTREACHED(); |
163 return nullptr; | 167 return nullptr; |
164 } | 168 } |
165 | 169 |
166 } // namespace | 170 } // namespace |
167 | 171 |
168 const char kPinnedAppsPrefAppIDPath[] = "id"; | 172 const char kPinnedAppsPrefAppIDPath[] = "id"; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 return AlignmentFromPref(GetPerDisplayPref( | 249 return AlignmentFromPref(GetPerDisplayPref( |
246 prefs, display_id, prefs::kShelfAlignmentLocal, prefs::kShelfAlignment)); | 250 prefs, display_id, prefs::kShelfAlignmentLocal, prefs::kShelfAlignment)); |
247 } | 251 } |
248 | 252 |
249 void SetShelfAlignmentPref(PrefService* prefs, | 253 void SetShelfAlignmentPref(PrefService* prefs, |
250 int64_t display_id, | 254 int64_t display_id, |
251 ShelfAlignment alignment) { | 255 ShelfAlignment alignment) { |
252 DCHECK_GE(display_id, 0); | 256 DCHECK_GE(display_id, 0); |
253 | 257 |
254 const char* value = AlignmentToPref(alignment); | 258 const char* value = AlignmentToPref(alignment); |
| 259 if (!value) |
| 260 return; |
| 261 |
255 SetPerDisplayPref(prefs, display_id, prefs::kShelfAlignment, value); | 262 SetPerDisplayPref(prefs, display_id, prefs::kShelfAlignment, value); |
256 if (display_id == gfx::Screen::GetScreen()->GetPrimaryDisplay().id()) { | 263 if (display_id == gfx::Screen::GetScreen()->GetPrimaryDisplay().id()) { |
257 // See comment in |kShelfAlignment| as to why we consider two prefs. | 264 // See comment in |kShelfAlignment| as to why we consider two prefs. |
258 prefs->SetString(prefs::kShelfAlignmentLocal, value); | 265 prefs->SetString(prefs::kShelfAlignmentLocal, value); |
259 prefs->SetString(prefs::kShelfAlignment, value); | 266 prefs->SetString(prefs::kShelfAlignment, value); |
260 } | 267 } |
261 } | 268 } |
262 | 269 |
263 } // namespace ash | 270 } // namespace ash |
OLD | NEW |