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

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

Issue 145033006: views: Make View::set_border() take a scoped_ptr<>. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to ToT Created 6 years, 11 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 | Annotate | Revision Log
« 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 <algorithm> 7 #include <algorithm>
8 #include <climits> 8 #include <climits>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 event->SetHandled(); 466 event->SetHandled();
467 } 467 }
468 } 468 }
469 469
470 PublicAccountUserDetails::PublicAccountUserDetails(SystemTrayItem* owner, 470 PublicAccountUserDetails::PublicAccountUserDetails(SystemTrayItem* owner,
471 int used_width) 471 int used_width)
472 : learn_more_(NULL) { 472 : learn_more_(NULL) {
473 const int inner_padding = 473 const int inner_padding =
474 kTrayPopupPaddingHorizontal - kTrayPopupPaddingBetweenItems; 474 kTrayPopupPaddingHorizontal - kTrayPopupPaddingBetweenItems;
475 const bool rtl = base::i18n::IsRTL(); 475 const bool rtl = base::i18n::IsRTL();
476 set_border(views::Border::CreateEmptyBorder( 476 SetBorder(views::Border::CreateEmptyBorder(kUserDetailsVerticalPadding,
477 kUserDetailsVerticalPadding, rtl ? 0 : inner_padding, 477 rtl ? 0 : inner_padding,
478 kUserDetailsVerticalPadding, rtl ? inner_padding : 0)); 478 kUserDetailsVerticalPadding,
479 rtl ? inner_padding : 0));
479 480
480 // Retrieve the user's display name and wrap it with markers. 481 // Retrieve the user's display name and wrap it with markers.
481 // Note that since this is a public account it always has to be the primary 482 // Note that since this is a public account it always has to be the primary
482 // user. 483 // user.
483 base::string16 display_name = 484 base::string16 display_name =
484 Shell::GetInstance()->session_state_delegate()->GetUserDisplayName(0); 485 Shell::GetInstance()->session_state_delegate()->GetUserDisplayName(0);
485 base::RemoveChars(display_name, kDisplayNameMark, &display_name); 486 base::RemoveChars(display_name, kDisplayNameMark, &display_name);
486 display_name = kDisplayNameMark[0] + display_name + kDisplayNameMark[0]; 487 display_name = kDisplayNameMark[0] + display_name + kDisplayNameMark[0];
487 // Retrieve the domain managing the device and wrap it with markers. 488 // Retrieve the domain managing the device and wrap it with markers.
488 base::string16 domain = base::UTF8ToUTF16( 489 base::string16 domain = base::UTF8ToUTF16(
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 void UserCard::OnMouseExited(const ui::MouseEvent& event) { 677 void UserCard::OnMouseExited(const ui::MouseEvent& event) {
677 if (is_active_user_) { 678 if (is_active_user_) {
678 button_hovered_ = false; 679 button_hovered_ = false;
679 background()->SetNativeControlColor(kBackgroundColor); 680 background()->SetNativeControlColor(kBackgroundColor);
680 ShowActive(); 681 ShowActive();
681 } 682 }
682 } 683 }
683 684
684 void UserCard::ShowActive() { 685 void UserCard::ShowActive() {
685 int width = button_hovered_ || show_border_ ? 1 : 0; 686 int width = button_hovered_ || show_border_ ? 1 : 0;
686 set_border(views::Border::CreateSolidSidedBorder(width, width, width, 1, 687 SetBorder(views::Border::CreateSolidSidedBorder(
687 kBorderColor)); 688 width, width, width, 1, kBorderColor));
688 SchedulePaint(); 689 SchedulePaint();
689 } 690 }
690 691
691 UserView::UserView(SystemTrayItem* owner, 692 UserView::UserView(SystemTrayItem* owner,
692 user::LoginStatus login, 693 user::LoginStatus login,
693 MultiProfileIndex index) 694 MultiProfileIndex index)
694 : multiprofile_index_(index), 695 : multiprofile_index_(index),
695 user_card_view_(NULL), 696 user_card_view_(NULL),
696 owner_(owner), 697 owner_(owner),
697 is_user_card_(false), 698 is_user_card_(false),
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 } 826 }
826 827
827 void UserView::AddLogoutButton(user::LoginStatus login) { 828 void UserView::AddLogoutButton(user::LoginStatus login) {
828 const base::string16 title = user::GetLocalizedSignOutStringForStatus(login, 829 const base::string16 title = user::GetLocalizedSignOutStringForStatus(login,
829 true); 830 true);
830 TrayPopupLabelButton* logout_button = new TrayPopupLabelButton(this, title); 831 TrayPopupLabelButton* logout_button = new TrayPopupLabelButton(this, title);
831 logout_button->SetAccessibleName(title); 832 logout_button->SetAccessibleName(title);
832 logout_button_ = logout_button; 833 logout_button_ = logout_button;
833 // In public account mode, the logout button border has a custom color. 834 // In public account mode, the logout button border has a custom color.
834 if (login == user::LOGGED_IN_PUBLIC) { 835 if (login == user::LOGGED_IN_PUBLIC) {
835 TrayPopupLabelButtonBorder* border = new TrayPopupLabelButtonBorder(); 836 scoped_ptr<TrayPopupLabelButtonBorder> border(
837 new TrayPopupLabelButtonBorder());
836 border->SetPainter(false, views::Button::STATE_NORMAL, 838 border->SetPainter(false, views::Button::STATE_NORMAL,
837 views::Painter::CreateImageGridPainter( 839 views::Painter::CreateImageGridPainter(
838 kPublicAccountLogoutButtonBorderImagesNormal)); 840 kPublicAccountLogoutButtonBorderImagesNormal));
839 border->SetPainter(false, views::Button::STATE_HOVERED, 841 border->SetPainter(false, views::Button::STATE_HOVERED,
840 views::Painter::CreateImageGridPainter( 842 views::Painter::CreateImageGridPainter(
841 kPublicAccountLogoutButtonBorderImagesHovered)); 843 kPublicAccountLogoutButtonBorderImagesHovered));
842 border->SetPainter(false, views::Button::STATE_PRESSED, 844 border->SetPainter(false, views::Button::STATE_PRESSED,
843 views::Painter::CreateImageGridPainter( 845 views::Painter::CreateImageGridPainter(
844 kPublicAccountLogoutButtonBorderImagesHovered)); 846 kPublicAccountLogoutButtonBorderImagesHovered));
845 logout_button_->set_border(border); 847 logout_button_->SetBorder(border.PassAs<views::Border>());
846 } 848 }
847 AddChildView(logout_button_); 849 AddChildView(logout_button_);
848 } 850 }
849 851
850 void UserView::AddUserCard(SystemTrayItem* owner, user::LoginStatus login) { 852 void UserView::AddUserCard(SystemTrayItem* owner, user::LoginStatus login) {
851 // Add padding around the panel. 853 // Add padding around the panel.
852 set_border(views::Border::CreateEmptyBorder( 854 SetBorder(views::Border::CreateEmptyBorder(kUserCardVerticalPadding,
853 kUserCardVerticalPadding, kTrayPopupPaddingHorizontal, 855 kTrayPopupPaddingHorizontal,
854 kUserCardVerticalPadding, kTrayPopupPaddingHorizontal)); 856 kUserCardVerticalPadding,
857 kTrayPopupPaddingHorizontal));
855 858
856 if (SupportsMultiProfile() && login != user::LOGGED_IN_RETAIL_MODE) { 859 if (SupportsMultiProfile() && login != user::LOGGED_IN_RETAIL_MODE) {
857 user_card_view_ = new UserCard(this, multiprofile_index_ == 0); 860 user_card_view_ = new UserCard(this, multiprofile_index_ == 0);
858 is_user_card_ = true; 861 is_user_card_ = true;
859 } else { 862 } else {
860 user_card_view_ = new views::View(); 863 user_card_view_ = new views::View();
861 is_user_card_ = false; 864 is_user_card_ = false;
862 } 865 }
863 866
864 user_card_view_->SetLayoutManager(new views::BoxLayout( 867 user_card_view_->SetLayoutManager(new views::BoxLayout(
(...skipping 13 matching lines...) Expand all
878 AddLoggedInPublicModeUserCardContent(owner); 881 AddLoggedInPublicModeUserCardContent(owner);
879 return; 882 return;
880 } 883 }
881 884
882 views::View* icon = CreateIconForUserCard(login); 885 views::View* icon = CreateIconForUserCard(login);
883 user_card_view_->AddChildView(icon); 886 user_card_view_->AddChildView(icon);
884 887
885 // To allow the border to start before the icon, reduce the size before and 888 // To allow the border to start before the icon, reduce the size before and
886 // add an inset to the icon to get the spacing. 889 // add an inset to the icon to get the spacing.
887 if (multiprofile_index_ == 0 && SupportsMultiProfile()) { 890 if (multiprofile_index_ == 0 && SupportsMultiProfile()) {
888 icon->set_border(views::Border::CreateEmptyBorder( 891 icon->SetBorder(views::Border::CreateEmptyBorder(
889 0, kTrayUserTileHoverBorderInset, 0, 0)); 892 0, kTrayUserTileHoverBorderInset, 0, 0));
890 set_border(views::Border::CreateEmptyBorder( 893 SetBorder(views::Border::CreateEmptyBorder(
891 kUserCardVerticalPadding, 894 kUserCardVerticalPadding,
892 kTrayPopupPaddingHorizontal - kTrayUserTileHoverBorderInset, 895 kTrayPopupPaddingHorizontal - kTrayUserTileHoverBorderInset,
893 kUserCardVerticalPadding, 896 kUserCardVerticalPadding,
894 kTrayPopupPaddingHorizontal)); 897 kTrayPopupPaddingHorizontal));
895 } 898 }
896 SessionStateDelegate* delegate = 899 SessionStateDelegate* delegate =
897 Shell::GetInstance()->session_state_delegate(); 900 Shell::GetInstance()->session_state_delegate();
898 views::Label* username = NULL; 901 views::Label* username = NULL;
899 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); 902 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
900 if (!multiprofile_index_) { 903 if (!multiprofile_index_) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 gfx::Size(kUserIconSize, kUserIconSize)); 967 gfx::Size(kUserIconSize, kUserIconSize));
965 } 968 }
966 return icon; 969 return icon;
967 } 970 }
968 971
969 void UserView::AddLoggedInRetailModeUserCardContent() { 972 void UserView::AddLoggedInRetailModeUserCardContent() {
970 views::Label* details = new views::Label; 973 views::Label* details = new views::Label;
971 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); 974 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
972 details->SetText( 975 details->SetText(
973 bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_KIOSK_LABEL)); 976 bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_KIOSK_LABEL));
974 details->set_border(views::Border::CreateEmptyBorder(0, 4, 0, 1)); 977 details->SetBorder(views::Border::CreateEmptyBorder(0, 4, 0, 1));
975 details->SetHorizontalAlignment(gfx::ALIGN_LEFT); 978 details->SetHorizontalAlignment(gfx::ALIGN_LEFT);
976 user_card_view_->AddChildView(details); 979 user_card_view_->AddChildView(details);
977 } 980 }
978 981
979 void UserView::AddLoggedInPublicModeUserCardContent(SystemTrayItem* owner) { 982 void UserView::AddLoggedInPublicModeUserCardContent(SystemTrayItem* owner) {
980 user_card_view_->AddChildView(CreateIconForUserCard(user::LOGGED_IN_PUBLIC)); 983 user_card_view_->AddChildView(CreateIconForUserCard(user::LOGGED_IN_PUBLIC));
981 user_card_view_->AddChildView(new PublicAccountUserDetails( 984 user_card_view_->AddChildView(new PublicAccountUserDetails(
982 owner, GetPreferredSize().width() + kTrayPopupPaddingBetweenItems)); 985 owner, GetPreferredSize().width() + kTrayPopupPaddingBetweenItems));
983 } 986 }
984 987
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 1093
1091 const SessionStateDelegate* delegate = 1094 const SessionStateDelegate* delegate =
1092 Shell::GetInstance()->session_state_delegate(); 1095 Shell::GetInstance()->session_state_delegate();
1093 bool enable = delegate->NumberOfLoggedInUsers() < 1096 bool enable = delegate->NumberOfLoggedInUsers() <
1094 delegate->GetMaximumNumberOfLoggedInUsers(); 1097 delegate->GetMaximumNumberOfLoggedInUsers();
1095 1098
1096 SetLayoutManager(new views::FillLayout()); 1099 SetLayoutManager(new views::FillLayout());
1097 set_background(views::Background::CreateSolidBackground(kBackgroundColor)); 1100 set_background(views::Background::CreateSolidBackground(kBackgroundColor));
1098 1101
1099 // Add padding around the panel. 1102 // Add padding around the panel.
1100 set_border(views::Border::CreateSolidBorder(1, kBorderColor)); 1103 SetBorder(views::Border::CreateSolidBorder(1, kBorderColor));
1101 1104
1102 add_user_ = new UserCard(this, enable); 1105 add_user_ = new UserCard(this, enable);
1103 add_user_->set_border(views::Border::CreateEmptyBorder( 1106 add_user_->SetBorder(views::Border::CreateEmptyBorder(
1104 kUserCardVerticalPadding, 1107 kUserCardVerticalPadding,
1105 kTrayPopupPaddingHorizontal- kTrayUserTileHoverBorderInset, 1108 kTrayPopupPaddingHorizontal - kTrayUserTileHoverBorderInset,
1106 kUserCardVerticalPadding, 1109 kUserCardVerticalPadding,
1107 kTrayPopupPaddingHorizontal- kTrayUserTileHoverBorderInset)); 1110 kTrayPopupPaddingHorizontal - kTrayUserTileHoverBorderInset));
1108 1111
1109 add_user_->SetLayoutManager(new views::BoxLayout( 1112 add_user_->SetLayoutManager(new views::BoxLayout(
1110 views::BoxLayout::kHorizontal, 0, 0 , kTrayPopupPaddingBetweenItems)); 1113 views::BoxLayout::kHorizontal, 0, 0 , kTrayPopupPaddingBetweenItems));
1111 AddChildViewAt(add_user_, 0); 1114 AddChildViewAt(add_user_, 0);
1112 1115
1113 // Add the [+] icon which is also the anchor for messages. 1116 // Add the [+] icon which is also the anchor for messages.
1114 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); 1117 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
1115 RoundedImageView* icon = new RoundedImageView(kProfileRoundedCornerRadius, 1118 RoundedImageView* icon = new RoundedImageView(kProfileRoundedCornerRadius,
1116 true); 1119 true);
1117 anchor_ = icon; 1120 anchor_ = icon;
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1283 if (status == user::LOGGED_IN_LOCALLY_MANAGED) { 1286 if (status == user::LOGGED_IN_LOCALLY_MANAGED) {
1284 label_->SetText( 1287 label_->SetText(
1285 bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_LOCALLY_MANAGED_LABEL)); 1288 bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_LOCALLY_MANAGED_LABEL));
1286 } else if (status == user::LOGGED_IN_GUEST) { 1289 } else if (status == user::LOGGED_IN_GUEST) {
1287 label_->SetText(bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_GUEST_LABEL)); 1290 label_->SetText(bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_GUEST_LABEL));
1288 } 1291 }
1289 1292
1290 if (avatar_ && switches::UseAlternateShelfLayout()) { 1293 if (avatar_ && switches::UseAlternateShelfLayout()) {
1291 int corner_radius = GetTrayItemRadius(); 1294 int corner_radius = GetTrayItemRadius();
1292 avatar_->SetCornerRadii(0, corner_radius, corner_radius, 0); 1295 avatar_->SetCornerRadii(0, corner_radius, corner_radius, 0);
1293 avatar_->set_border(NULL); 1296 avatar_->SetBorder(views::Border::NullBorder());
1294 } 1297 }
1295 UpdateAvatarImage(status); 1298 UpdateAvatarImage(status);
1296 1299
1297 // Update layout after setting label_ and avatar_ with new login status. 1300 // Update layout after setting label_ and avatar_ with new login status.
1298 UpdateLayoutOfItem(); 1301 UpdateLayoutOfItem();
1299 } 1302 }
1300 1303
1301 void TrayUser::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 1304 void TrayUser::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) {
1302 // Inactive users won't have a layout. 1305 // Inactive users won't have a layout.
1303 if (!layout_view_) 1306 if (!layout_view_)
1304 return; 1307 return;
1305 int corner_radius = GetTrayItemRadius(); 1308 int corner_radius = GetTrayItemRadius();
1306 if (alignment == SHELF_ALIGNMENT_BOTTOM || 1309 if (alignment == SHELF_ALIGNMENT_BOTTOM ||
1307 alignment == SHELF_ALIGNMENT_TOP) { 1310 alignment == SHELF_ALIGNMENT_TOP) {
1308 if (avatar_) { 1311 if (avatar_) {
1309 if (switches::UseAlternateShelfLayout()) { 1312 if (switches::UseAlternateShelfLayout()) {
1310 if (multiprofile_index_) { 1313 if (multiprofile_index_) {
1311 avatar_->set_border( 1314 avatar_->SetBorder(
1312 views::Border::CreateEmptyBorder(0, kTrayLabelSpacing, 0, 0)); 1315 views::Border::CreateEmptyBorder(0, kTrayLabelSpacing, 0, 0));
1313 } else { 1316 } else {
1314 avatar_->set_border(NULL); 1317 avatar_->SetBorder(views::Border::NullBorder());
1315 } 1318 }
1316 avatar_->SetCornerRadii(0, corner_radius, corner_radius, 0); 1319 avatar_->SetCornerRadii(0, corner_radius, corner_radius, 0);
1317 } else { 1320 } else {
1318 avatar_->set_border(views::Border::CreateEmptyBorder( 1321 avatar_->SetBorder(views::Border::CreateEmptyBorder(
1319 0, kTrayImageItemHorizontalPaddingBottomAlignment + 2, 1322 0,
1320 0, kTrayImageItemHorizontalPaddingBottomAlignment)); 1323 kTrayImageItemHorizontalPaddingBottomAlignment + 2,
1324 0,
1325 kTrayImageItemHorizontalPaddingBottomAlignment));
1321 } 1326 }
1322 } 1327 }
1323 if (label_) { 1328 if (label_) {
1324 label_->set_border(views::Border::CreateEmptyBorder( 1329 label_->SetBorder(views::Border::CreateEmptyBorder(
1325 0, kTrayLabelItemHorizontalPaddingBottomAlignment, 1330 0,
1326 0, kTrayLabelItemHorizontalPaddingBottomAlignment)); 1331 kTrayLabelItemHorizontalPaddingBottomAlignment,
1332 0,
1333 kTrayLabelItemHorizontalPaddingBottomAlignment));
1327 } 1334 }
1328 layout_view_->SetLayoutManager( 1335 layout_view_->SetLayoutManager(
1329 new views::BoxLayout(views::BoxLayout::kHorizontal, 1336 new views::BoxLayout(views::BoxLayout::kHorizontal,
1330 0, 0, kUserLabelToIconPadding)); 1337 0, 0, kUserLabelToIconPadding));
1331 } else { 1338 } else {
1332 if (avatar_) { 1339 if (avatar_) {
1333 if (switches::UseAlternateShelfLayout()) { 1340 if (switches::UseAlternateShelfLayout()) {
1334 if (multiprofile_index_) { 1341 if (multiprofile_index_) {
1335 avatar_->set_border( 1342 avatar_->SetBorder(
1336 views::Border::CreateEmptyBorder(kTrayLabelSpacing, 0, 0, 0)); 1343 views::Border::CreateEmptyBorder(kTrayLabelSpacing, 0, 0, 0));
1337 } else { 1344 } else {
1338 avatar_->set_border(NULL); 1345 avatar_->SetBorder(views::Border::NullBorder());
1339 } 1346 }
1340 avatar_->SetCornerRadii(0, 0, corner_radius, corner_radius); 1347 avatar_->SetCornerRadii(0, 0, corner_radius, corner_radius);
1341 } else { 1348 } else {
1342 SetTrayImageItemBorder(avatar_, alignment); 1349 SetTrayImageItemBorder(avatar_, alignment);
1343 } 1350 }
1344 } 1351 }
1345 if (label_) { 1352 if (label_) {
1346 label_->set_border(views::Border::CreateEmptyBorder( 1353 label_->SetBorder(views::Border::CreateEmptyBorder(
1347 kTrayLabelItemVerticalPaddingVerticalAlignment, 1354 kTrayLabelItemVerticalPaddingVerticalAlignment,
1348 kTrayLabelItemHorizontalPaddingBottomAlignment, 1355 kTrayLabelItemHorizontalPaddingBottomAlignment,
1349 kTrayLabelItemVerticalPaddingVerticalAlignment, 1356 kTrayLabelItemVerticalPaddingVerticalAlignment,
1350 kTrayLabelItemHorizontalPaddingBottomAlignment)); 1357 kTrayLabelItemHorizontalPaddingBottomAlignment));
1351 } 1358 }
1352 layout_view_->SetLayoutManager( 1359 layout_view_->SetLayoutManager(
1353 new views::BoxLayout(views::BoxLayout::kVertical, 1360 new views::BoxLayout(views::BoxLayout::kVertical,
1354 0, 0, kUserLabelToIconPadding)); 1361 0, 0, kUserLabelToIconPadding));
1355 } 1362 }
1356 } 1363 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 internal::GetRootWindowController( 1425 internal::GetRootWindowController(
1419 system_tray()->GetWidget()->GetNativeWindow()->GetRootWindow()); 1426 system_tray()->GetWidget()->GetNativeWindow()->GetRootWindow());
1420 if (controller && controller->shelf()) { 1427 if (controller && controller->shelf()) {
1421 UpdateAfterShelfAlignmentChange( 1428 UpdateAfterShelfAlignmentChange(
1422 controller->GetShelfLayoutManager()->GetAlignment()); 1429 controller->GetShelfLayoutManager()->GetAlignment());
1423 } 1430 }
1424 } 1431 }
1425 1432
1426 } // namespace internal 1433 } // namespace internal
1427 } // namespace ash 1434 } // 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