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

Side by Side Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.cc

Issue 2331093002: UMA stats for stylus usage (Closed)
Patch Set: Incorporate comments from xiyuan@ and mpearson@ Created 4 years, 3 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/ash/launcher/chrome_launcher_controller_impl.h" 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 #include "extensions/common/url_pattern.h" 93 #include "extensions/common/url_pattern.h"
94 #include "ui/aura/window.h" 94 #include "ui/aura/window.h"
95 #include "ui/aura/window_event_dispatcher.h" 95 #include "ui/aura/window_event_dispatcher.h"
96 #include "ui/base/l10n/l10n_util.h" 96 #include "ui/base/l10n/l10n_util.h"
97 #include "ui/base/resource/resource_bundle.h" 97 #include "ui/base/resource/resource_bundle.h"
98 #include "ui/base/window_open_disposition.h" 98 #include "ui/base/window_open_disposition.h"
99 #include "ui/keyboard/keyboard_util.h" 99 #include "ui/keyboard/keyboard_util.h"
100 #include "ui/resources/grit/ui_resources.h" 100 #include "ui/resources/grit/ui_resources.h"
101 #include "ui/wm/core/window_animations.h" 101 #include "ui/wm/core/window_animations.h"
102 102
103 #if defined(OS_CHROMEOS)
104 #include "chrome/browser/ui/ash/metrics/stylus_metrics_recorder_chromeos.h"
105 #endif
106
103 using extensions::Extension; 107 using extensions::Extension;
104 using extensions::UnloadedExtensionInfo; 108 using extensions::UnloadedExtensionInfo;
105 using extension_misc::kGmailAppId; 109 using extension_misc::kGmailAppId;
106 using content::WebContents; 110 using content::WebContents;
107 111
108 namespace { 112 namespace {
109 113
110 int64_t GetDisplayIDForShelf(ash::WmShelf* shelf) { 114 int64_t GetDisplayIDForShelf(ash::WmShelf* shelf) {
111 display::Display display = 115 display::Display display =
112 shelf->GetWindow()->GetRootWindow()->GetDisplayNearestWindow(); 116 shelf->GetWindow()->GetRootWindow()->GetDisplayNearestWindow();
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 874
871 void ChromeLauncherControllerImpl::OnShelfCreated(ash::WmShelf* shelf) { 875 void ChromeLauncherControllerImpl::OnShelfCreated(ash::WmShelf* shelf) {
872 PrefService* prefs = profile_->GetPrefs(); 876 PrefService* prefs = profile_->GetPrefs();
873 const int64_t display = GetDisplayIDForShelf(shelf); 877 const int64_t display = GetDisplayIDForShelf(shelf);
874 878
875 shelf->SetAutoHideBehavior( 879 shelf->SetAutoHideBehavior(
876 ash::launcher::GetShelfAutoHideBehaviorPref(prefs, display)); 880 ash::launcher::GetShelfAutoHideBehaviorPref(prefs, display));
877 881
878 if (ash::ShelfWidget::ShelfAlignmentAllowed()) 882 if (ash::ShelfWidget::ShelfAlignmentAllowed())
879 shelf->SetAlignment(ash::launcher::GetShelfAlignmentPref(prefs, display)); 883 shelf->SetAlignment(ash::launcher::GetShelfAlignmentPref(prefs, display));
884 #if defined(OS_CHROMEOS)
885 stylus_metrics_recorder_ =
886 base::MakeUnique<chromeos::StylusMetricsRecorder>();
887 #endif
880 } 888 }
881 889
882 void ChromeLauncherControllerImpl::OnShelfDestroyed(ash::WmShelf* shelf) {} 890 void ChromeLauncherControllerImpl::OnShelfDestroyed(ash::WmShelf* shelf) {
891 #if defined(OS_CHROMEOS)
892 // To clean up stylus_metrics_recorder_ properly, a valid shell instance is
893 // required. So explicityly delete it before the shell instance becomes
894 // invalid.
895 stylus_metrics_recorder_.reset();
896 #endif
897 }
883 898
884 void ChromeLauncherControllerImpl::OnShelfAlignmentChanged( 899 void ChromeLauncherControllerImpl::OnShelfAlignmentChanged(
885 ash::WmShelf* shelf) { 900 ash::WmShelf* shelf) {
886 ash::launcher::SetShelfAlignmentPref( 901 ash::launcher::SetShelfAlignmentPref(
887 profile_->GetPrefs(), GetDisplayIDForShelf(shelf), shelf->alignment()); 902 profile_->GetPrefs(), GetDisplayIDForShelf(shelf), shelf->alignment());
888 } 903 }
889 904
890 void ChromeLauncherControllerImpl::OnShelfAutoHideBehaviorChanged( 905 void ChromeLauncherControllerImpl::OnShelfAutoHideBehaviorChanged(
891 ash::WmShelf* shelf) { 906 ash::WmShelf* shelf) {
892 ash::launcher::SetShelfAutoHideBehaviorPref(profile_->GetPrefs(), 907 ash::launcher::SetShelfAutoHideBehaviorPref(profile_->GetPrefs(),
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after
1711 if (index == -1) 1726 if (index == -1)
1712 continue; 1727 continue;
1713 ash::ShelfItem item = model_->items()[index]; 1728 ash::ShelfItem item = model_->items()[index];
1714 item.image = image; 1729 item.image = image;
1715 if (arc_deferred_launcher_) 1730 if (arc_deferred_launcher_)
1716 arc_deferred_launcher_->MaybeApplySpinningEffect(id, &item.image); 1731 arc_deferred_launcher_->MaybeApplySpinningEffect(id, &item.image);
1717 model_->Set(index, item); 1732 model_->Set(index, item);
1718 // It's possible we're waiting on more than one item, so don't break. 1733 // It's possible we're waiting on more than one item, so don't break.
1719 } 1734 }
1720 } 1735 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698