| 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 "ash/system/tray/system_tray.h" | 5 #include "ash/system/tray/system_tray.h" |
| 6 | 6 |
| 7 #include "ash/common/ash_switches.h" | 7 #include "ash/common/ash_switches.h" |
| 8 #include "ash/common/login_status.h" | 8 #include "ash/common/login_status.h" |
| 9 #include "ash/common/session/session_state_delegate.h" | 9 #include "ash/common/session/session_state_delegate.h" |
| 10 #include "ash/common/shelf/wm_shelf.h" | 10 #include "ash/common/shelf/wm_shelf.h" |
| (...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 740 // turn off the active tinting of the shelf. | 740 // turn off the active tinting of the shelf. |
| 741 if (full_system_tray_menu_) { | 741 if (full_system_tray_menu_) { |
| 742 SetDrawBackgroundAsActive(false); | 742 SetDrawBackgroundAsActive(false); |
| 743 full_system_tray_menu_ = false; | 743 full_system_tray_menu_ = false; |
| 744 } | 744 } |
| 745 } | 745 } |
| 746 | 746 |
| 747 void SystemTray::RecordSystemMenuMetrics() { | 747 void SystemTray::RecordSystemMenuMetrics() { |
| 748 DCHECK(system_bubble_); | 748 DCHECK(system_bubble_); |
| 749 | 749 |
| 750 system_bubble_->bubble()->RecordVisibleRowMetrics(); |
| 751 |
| 750 TrayBubbleView* bubble_view = system_bubble_->bubble_view(); | 752 TrayBubbleView* bubble_view = system_bubble_->bubble_view(); |
| 751 int num_rows = 0; | 753 int num_rows = 0; |
| 752 for (int i = 0; i < bubble_view->child_count(); i++) { | 754 for (int i = 0; i < bubble_view->child_count(); i++) { |
| 753 // Certain menu rows are attached by default but can set themselves as | 755 // Certain menu rows are attached by default but can set themselves as |
| 754 // invisible (IME is one such example). Count only user-visible rows. | 756 // invisible (IME is one such example). Count only user-visible rows. |
| 755 if (bubble_view->child_at(i)->visible()) | 757 if (bubble_view->child_at(i)->visible()) |
| 756 num_rows++; | 758 num_rows++; |
| 757 } | 759 } |
| 758 UMA_HISTOGRAM_COUNTS_100("Ash.SystemMenu.Rows", num_rows); | 760 UMA_HISTOGRAM_COUNTS_100("Ash.SystemMenu.Rows", num_rows); |
| 759 | 761 |
| 760 int work_area_height = | 762 int work_area_height = |
| 761 display::Screen::GetScreen() | 763 display::Screen::GetScreen() |
| 762 ->GetDisplayNearestWindow(bubble_view->GetWidget()->GetNativeView()) | 764 ->GetDisplayNearestWindow(bubble_view->GetWidget()->GetNativeView()) |
| 763 .work_area() | 765 .work_area() |
| 764 .height(); | 766 .height(); |
| 765 if (work_area_height > 0) { | 767 if (work_area_height > 0) { |
| 766 UMA_HISTOGRAM_CUSTOM_COUNTS( | 768 UMA_HISTOGRAM_CUSTOM_COUNTS( |
| 767 "Ash.SystemMenu.PercentageOfWorkAreaHeightCoveredByMenu", | 769 "Ash.SystemMenu.PercentageOfWorkAreaHeightCoveredByMenu", |
| 768 100 * bubble_view->height() / work_area_height, 1, 300, 100); | 770 100 * bubble_view->height() / work_area_height, 1, 300, 100); |
| 769 } | 771 } |
| 770 } | 772 } |
| 771 | 773 |
| 772 } // namespace ash | 774 } // namespace ash |
| OLD | NEW |