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

Side by Side Diff: chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc

Issue 355233002: Fix build when ENABLE_MANAGED_USERS is not defined (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Include missing browsertest .js file in chrome_tests.gypi Created 6 years, 2 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/views/frame/opaque_browser_frame_view_layout.h" 5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "chrome/browser/profiles/profiles_state.h" 8 #include "chrome/browser/profiles/profiles_state.h"
9 #include "chrome/browser/ui/views/profiles/avatar_label.h"
10 #include "chrome/browser/ui/views/profiles/avatar_menu_button.h" 9 #include "chrome/browser/ui/views/profiles/avatar_menu_button.h"
11 #include "chrome/browser/ui/views/tabs/tab_strip.h" 10 #include "chrome/browser/ui/views/tabs/tab_strip.h"
12 #include "chrome/common/chrome_switches.h" 11 #include "chrome/common/chrome_switches.h"
13 #include "components/signin/core/common/profile_management_switches.h" 12 #include "components/signin/core/common/profile_management_switches.h"
14 #include "ui/gfx/font.h" 13 #include "ui/gfx/font.h"
15 #include "ui/views/controls/button/image_button.h" 14 #include "ui/views/controls/button/image_button.h"
16 #include "ui/views/controls/label.h" 15 #include "ui/views/controls/label.h"
17 16
17 #if defined(ENABLE_MANAGED_USERS)
18 #include "chrome/browser/ui/views/profiles/supervised_user_avatar_label.h"
19 #endif
20
18 namespace { 21 namespace {
19 22
20 // Besides the frame border, there's another 9 px of empty space atop the 23 // Besides the frame border, there's another 9 px of empty space atop the
21 // window in restored mode, to use to drag the window around. 24 // window in restored mode, to use to drag the window around.
22 const int kNonClientRestoredExtraThickness = 9; 25 const int kNonClientRestoredExtraThickness = 9;
23 26
24 // The titlebar never shrinks too short to show the caption button plus some 27 // The titlebar never shrinks too short to show the caption button plus some
25 // padding below it. 28 // padding below it.
26 const int kCaptionButtonHeightWithPadding = 19; 29 const int kCaptionButtonHeightWithPadding = 19;
27 30
(...skipping 17 matching lines...) Expand all
45 // way the tabstrip draws its bottom edge, will appear like a 1 px gap to the 48 // way the tabstrip draws its bottom edge, will appear like a 1 px gap to the
46 // user). 49 // user).
47 const int kAvatarBottomSpacing = 2; 50 const int kAvatarBottomSpacing = 2;
48 51
49 // Space between the frame border and the edge of the avatar. 52 // Space between the frame border and the edge of the avatar.
50 const int kAvatarOuterSpacing = 2; 53 const int kAvatarOuterSpacing = 2;
51 54
52 // Space between the edge of the avatar and the tabstrip. 55 // Space between the edge of the avatar and the tabstrip.
53 const int kAvatarInnerSpacing = 4; 56 const int kAvatarInnerSpacing = 4;
54 57
58 #if defined(ENABLE_MANAGED_USERS)
55 // Space between the trailing edge of the avatar label and the tabstrip. 59 // Space between the trailing edge of the avatar label and the tabstrip.
56 const int kAvatarLabelInnerSpacing = 10; 60 const int kSupervisedUserAvatarLabelInnerSpacing = 10;
61 #endif
57 62
58 // How far the new avatar button is from the closest caption button. 63 // How far the new avatar button is from the closest caption button.
59 const int kNewAvatarButtonOffset = 5; 64 const int kNewAvatarButtonOffset = 5;
60 65
61 // When the title bar is in its normal two row mode (usually the case for 66 // When the title bar is in its normal two row mode (usually the case for
62 // restored windows), the New Tab button isn't at the same height as the caption 67 // restored windows), the New Tab button isn't at the same height as the caption
63 // buttons, but the space will look cluttered if it actually slides under them, 68 // buttons, but the space will look cluttered if it actually slides under them,
64 // so we stop it when the gap between the two is down to 5 px. 69 // so we stop it when the gap between the two is down to 5 px.
65 const int kNewTabCaptionNormalSpacing = 5; 70 const int kNewTabCaptionNormalSpacing = 5;
66 71
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 has_leading_buttons_(false), 113 has_leading_buttons_(false),
109 has_trailing_buttons_(false), 114 has_trailing_buttons_(false),
110 extra_caption_y_(kExtraCaption), 115 extra_caption_y_(kExtraCaption),
111 window_caption_spacing_(kCaptionButtonSpacing), 116 window_caption_spacing_(kCaptionButtonSpacing),
112 minimize_button_(NULL), 117 minimize_button_(NULL),
113 maximize_button_(NULL), 118 maximize_button_(NULL),
114 restore_button_(NULL), 119 restore_button_(NULL),
115 close_button_(NULL), 120 close_button_(NULL),
116 window_icon_(NULL), 121 window_icon_(NULL),
117 window_title_(NULL), 122 window_title_(NULL),
118 avatar_label_(NULL), 123 #if defined(ENABLE_MANAGED_USERS)
124 supervised_user_avatar_label_(NULL),
125 #endif
119 avatar_button_(NULL), 126 avatar_button_(NULL),
120 new_avatar_button_(NULL) { 127 new_avatar_button_(NULL) {
121 trailing_buttons_.push_back(views::FRAME_BUTTON_MINIMIZE); 128 trailing_buttons_.push_back(views::FRAME_BUTTON_MINIMIZE);
122 trailing_buttons_.push_back(views::FRAME_BUTTON_MAXIMIZE); 129 trailing_buttons_.push_back(views::FRAME_BUTTON_MAXIMIZE);
123 trailing_buttons_.push_back(views::FRAME_BUTTON_CLOSE); 130 trailing_buttons_.push_back(views::FRAME_BUTTON_CLOSE);
124 } 131 }
125 132
126 OpaqueBrowserFrameViewLayout::~OpaqueBrowserFrameViewLayout() {} 133 OpaqueBrowserFrameViewLayout::~OpaqueBrowserFrameViewLayout() {}
127 134
128 void OpaqueBrowserFrameViewLayout::SetButtonOrdering( 135 void OpaqueBrowserFrameViewLayout::SetButtonOrdering(
(...skipping 10 matching lines...) Expand all
139 available_width -= leading_button_start_; 146 available_width -= leading_button_start_;
140 147
141 const int caption_spacing = NewTabCaptionSpacing(); 148 const int caption_spacing = NewTabCaptionSpacing();
142 const int tabstrip_width = available_width - caption_spacing; 149 const int tabstrip_width = available_width - caption_spacing;
143 gfx::Rect bounds(leading_button_start_, GetTabStripInsetsTop(false), 150 gfx::Rect bounds(leading_button_start_, GetTabStripInsetsTop(false),
144 std::max(0, tabstrip_width), 151 std::max(0, tabstrip_width),
145 tabstrip_preferred_size.height()); 152 tabstrip_preferred_size.height());
146 153
147 int leading_tabstrip_indent = kTabStripIndent; 154 int leading_tabstrip_indent = kTabStripIndent;
148 if (delegate_->ShouldShowAvatar() && !ShouldAvatarBeOnRight()) { 155 if (delegate_->ShouldShowAvatar() && !ShouldAvatarBeOnRight()) {
149 if (avatar_label_ && avatar_label_->bounds().width()) 156 #if defined(ENABLE_MANAGED_USERS)
150 leading_tabstrip_indent += kAvatarLabelInnerSpacing; 157 if (supervised_user_avatar_label_ &&
158 supervised_user_avatar_label_->bounds().width())
159 leading_tabstrip_indent += kSupervisedUserAvatarLabelInnerSpacing;
151 else 160 else
152 leading_tabstrip_indent += kAvatarInnerSpacing; 161 leading_tabstrip_indent += kAvatarInnerSpacing;
162 #else
163 leading_tabstrip_indent += kAvatarInnerSpacing;
164 #endif
153 } 165 }
154 bounds.Inset(leading_tabstrip_indent, 0, 0, 0); 166 bounds.Inset(leading_tabstrip_indent, 0, 0, 0);
155 return bounds; 167 return bounds;
156 } 168 }
157 169
158 gfx::Size OpaqueBrowserFrameViewLayout::GetMinimumSize( 170 gfx::Size OpaqueBrowserFrameViewLayout::GetMinimumSize(
159 int available_width) const { 171 int available_width) const {
160 gfx::Size min_size = delegate_->GetBrowserViewMinimumSize(); 172 gfx::Size min_size = delegate_->GetBrowserViewMinimumSize();
161 int border_thickness = NonClientBorderThickness(); 173 int border_thickness = NonClientBorderThickness();
162 min_size.Enlarge(2 * border_thickness, 174 min_size.Enlarge(2 * border_thickness,
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 avatar_bounds_.SetRect( 437 avatar_bounds_.SetRect(
426 avatar_x, 438 avatar_x,
427 avatar_y, 439 avatar_y,
428 incognito_icon.width(), 440 incognito_icon.width(),
429 delegate_->ShouldShowAvatar() ? (avatar_bottom - avatar_y) : 0); 441 delegate_->ShouldShowAvatar() ? (avatar_bottom - avatar_y) : 0);
430 if (avatar_button_) { 442 if (avatar_button_) {
431 avatar_button_->set_button_on_right(avatar_on_right); 443 avatar_button_->set_button_on_right(avatar_on_right);
432 avatar_button_->SetBoundsRect(avatar_bounds_); 444 avatar_button_->SetBoundsRect(avatar_bounds_);
433 445
434 int edge_offset; 446 int edge_offset;
435 if (avatar_label_) { 447 #if defined(ENABLE_MANAGED_USERS)
436 avatar_label_->SetLabelOnRight(avatar_on_right); 448 if (supervised_user_avatar_label_) {
449 supervised_user_avatar_label_->SetLabelOnRight(avatar_on_right);
437 // Space between the bottom of the avatar and the bottom of the avatar 450 // Space between the bottom of the avatar and the bottom of the avatar
438 // label. 451 // label.
439 const int kAvatarLabelBottomSpacing = 3; 452 const int kSupervisedUserAvatarLabelBottomSpacing = 3;
440 gfx::Size label_size = avatar_label_->GetPreferredSize(); 453 gfx::Size label_size = supervised_user_avatar_label_->GetPreferredSize();
441 // The outside edge of the avatar label should be just outside that of the 454 // The outside edge of the avatar label should be just outside that of the
442 // avatar menu button. 455 // avatar menu button.
443 int avatar_label_x = avatar_on_right ? 456 int avatar_label_x = avatar_on_right ?
444 (host->width() - trailing_button_start_ - label_size.width()) : 457 (host->width() - trailing_button_start_ - label_size.width()) :
445 leading_button_start_; 458 leading_button_start_;
446 gfx::Rect label_bounds( 459 gfx::Rect label_bounds(
447 avatar_label_x, 460 avatar_label_x,
448 avatar_bottom - kAvatarLabelBottomSpacing - label_size.height(), 461 avatar_bottom - kSupervisedUserAvatarLabelBottomSpacing -
462 label_size.height(),
449 label_size.width(), 463 label_size.width(),
450 delegate_->ShouldShowAvatar() ? label_size.height() : 0); 464 delegate_->ShouldShowAvatar() ? label_size.height() : 0);
451 avatar_label_->SetBoundsRect(label_bounds); 465 supervised_user_avatar_label_->SetBoundsRect(label_bounds);
452 edge_offset = label_size.width(); 466 edge_offset = label_size.width();
453 } else { 467 } else {
454 edge_offset = kAvatarOuterSpacing + incognito_icon.width(); 468 edge_offset = kAvatarOuterSpacing + incognito_icon.width();
455 } 469 }
470 #else
471 edge_offset = kAvatarOuterSpacing + incognito_icon.width();
472 #endif
456 if (avatar_on_right) 473 if (avatar_on_right)
457 trailing_button_start_ += edge_offset; 474 trailing_button_start_ += edge_offset;
458 else 475 else
459 leading_button_start_ += edge_offset; 476 leading_button_start_ += edge_offset;
460 477
461 // We just add the avatar button size to the minimum size because clicking 478 // We just add the avatar button size to the minimum size because clicking
462 // the avatar label does the same thing as clicking the avatar button. 479 // the avatar label does the same thing as clicking the avatar button.
463 minimum_size_for_buttons_ += kAvatarOuterSpacing + incognito_icon.width(); 480 minimum_size_for_buttons_ += kAvatarOuterSpacing + incognito_icon.width();
464 } 481 }
465 } 482 }
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 case VIEW_ID_WINDOW_ICON: 640 case VIEW_ID_WINDOW_ICON:
624 window_icon_ = view; 641 window_icon_ = view;
625 break; 642 break;
626 case VIEW_ID_WINDOW_TITLE: 643 case VIEW_ID_WINDOW_TITLE:
627 if (view) { 644 if (view) {
628 DCHECK_EQ(std::string(views::Label::kViewClassName), 645 DCHECK_EQ(std::string(views::Label::kViewClassName),
629 view->GetClassName()); 646 view->GetClassName());
630 } 647 }
631 window_title_ = static_cast<views::Label*>(view); 648 window_title_ = static_cast<views::Label*>(view);
632 break; 649 break;
633 case VIEW_ID_AVATAR_LABEL: 650 #if defined(ENABLE_MANAGED_USERS)
634 avatar_label_ = static_cast<AvatarLabel*>(view); 651 case VIEW_ID_SUPERVISED_USER_AVATAR_LABEL:
652 supervised_user_avatar_label_ =
653 static_cast<SupervisedUserAvatarLabel*>(view);
635 break; 654 break;
655 #endif
636 case VIEW_ID_AVATAR_BUTTON: 656 case VIEW_ID_AVATAR_BUTTON:
637 if (view) { 657 if (view) {
638 DCHECK_EQ(std::string(AvatarMenuButton::kViewClassName), 658 DCHECK_EQ(std::string(AvatarMenuButton::kViewClassName),
639 view->GetClassName()); 659 view->GetClassName());
640 } 660 }
641 avatar_button_ = static_cast<AvatarMenuButton*>(view); 661 avatar_button_ = static_cast<AvatarMenuButton*>(view);
642 break; 662 break;
643 case VIEW_ID_NEW_AVATAR_BUTTON: 663 case VIEW_ID_NEW_AVATAR_BUTTON:
644 new_avatar_button_ = view; 664 new_avatar_button_ = view;
645 break; 665 break;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 708
689 void OpaqueBrowserFrameViewLayout::ViewAdded(views::View* host, 709 void OpaqueBrowserFrameViewLayout::ViewAdded(views::View* host,
690 views::View* view) { 710 views::View* view) {
691 SetView(view->id(), view); 711 SetView(view->id(), view);
692 } 712 }
693 713
694 void OpaqueBrowserFrameViewLayout::ViewRemoved(views::View* host, 714 void OpaqueBrowserFrameViewLayout::ViewRemoved(views::View* host,
695 views::View* view) { 715 views::View* view) {
696 SetView(view->id(), NULL); 716 SetView(view->id(), NULL);
697 } 717 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698