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

Side by Side Diff: ash/system/user/tray_user.cc

Issue 1907363004: (Merge to M-51) Revise the shelf alignment locking mechanism. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 8 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 | « ash/system/tray/tray_utils.cc ('k') | ash/system/web_notification/web_notification_tray.cc » ('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 (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 "ash/system/user/tray_user.h" 5 #include "ash/system/user/tray_user.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/session/session_state_delegate.h" 9 #include "ash/session/session_state_delegate.h"
10 #include "ash/shelf/shelf_layout_manager.h" 10 #include "ash/shelf/shelf_layout_manager.h"
11 #include "ash/shelf/shelf_util.h"
11 #include "ash/shell_delegate.h" 12 #include "ash/shell_delegate.h"
12 #include "ash/system/tray/system_tray.h" 13 #include "ash/system/tray/system_tray.h"
13 #include "ash/system/tray/system_tray_delegate.h" 14 #include "ash/system/tray/system_tray_delegate.h"
14 #include "ash/system/tray/system_tray_notifier.h" 15 #include "ash/system/tray/system_tray_notifier.h"
15 #include "ash/system/tray/tray_constants.h" 16 #include "ash/system/tray/tray_constants.h"
16 #include "ash/system/tray/tray_item_view.h" 17 #include "ash/system/tray/tray_item_view.h"
17 #include "ash/system/tray/tray_utils.h" 18 #include "ash/system/tray/tray_utils.h"
18 #include "ash/system/user/rounded_image_view.h" 19 #include "ash/system/user/rounded_image_view.h"
19 #include "ash/system/user/user_view.h" 20 #include "ash/system/user/user_view.h"
20 #include "base/logging.h" 21 #include "base/logging.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 UpdateAvatarImage(status); 185 UpdateAvatarImage(status);
185 186
186 // Update layout after setting label_ and avatar_ with new login status. 187 // Update layout after setting label_ and avatar_ with new login status.
187 UpdateLayoutOfItem(); 188 UpdateLayoutOfItem();
188 } 189 }
189 190
190 void TrayUser::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 191 void TrayUser::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) {
191 // Inactive users won't have a layout. 192 // Inactive users won't have a layout.
192 if (!layout_view_) 193 if (!layout_view_)
193 return; 194 return;
194 if (alignment == SHELF_ALIGNMENT_BOTTOM) { 195 if (IsHorizontalAlignment(alignment)) {
195 if (avatar_) { 196 if (avatar_) {
196 avatar_->SetBorder(views::Border::NullBorder()); 197 avatar_->SetBorder(views::Border::NullBorder());
197 avatar_->SetCornerRadii( 198 avatar_->SetCornerRadii(
198 0, kTrayAvatarCornerRadius, kTrayAvatarCornerRadius, 0); 199 0, kTrayAvatarCornerRadius, kTrayAvatarCornerRadius, 0);
199 } 200 }
200 if (label_) { 201 if (label_) {
201 // If label_ hasn't figured out its size yet, do that first. 202 // If label_ hasn't figured out its size yet, do that first.
202 if (label_->GetContentsBounds().height() == 0) 203 if (label_->GetContentsBounds().height() == 0)
203 label_->SizeToPreferredSize(); 204 label_->SizeToPreferredSize();
204 int height = label_->GetContentsBounds().height(); 205 int height = label_->GetContentsBounds().height();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 // Unit tests might come here with no images for some users. 269 // Unit tests might come here with no images for some users.
269 if (avatar_->size().IsEmpty()) 270 if (avatar_->size().IsEmpty())
270 avatar_->SetSize(gfx::Size(kTrayAvatarSize, kTrayAvatarSize)); 271 avatar_->SetSize(gfx::Size(kTrayAvatarSize, kTrayAvatarSize));
271 } 272 }
272 273
273 void TrayUser::UpdateLayoutOfItem() { 274 void TrayUser::UpdateLayoutOfItem() {
274 UpdateAfterShelfAlignmentChange(system_tray()->shelf_alignment()); 275 UpdateAfterShelfAlignmentChange(system_tray()->shelf_alignment());
275 } 276 }
276 277
277 } // namespace ash 278 } // namespace ash
OLDNEW
« no previous file with comments | « ash/system/tray/tray_utils.cc ('k') | ash/system/web_notification/web_notification_tray.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698