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

Unified Diff: ui/views/touchui/touch_selection_controller_impl.cc

Issue 895903003: Adding UMA logging to touch text selection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed duration's min to 500ms instead of 1000ms Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/touchui/touch_selection_controller_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/touchui/touch_selection_controller_impl.cc
diff --git a/ui/views/touchui/touch_selection_controller_impl.cc b/ui/views/touchui/touch_selection_controller_impl.cc
index 3ed8c0b388a13f595a20c1c04366ca391c2f899e..ffb5366e50c7cd75b90b57c96e8ea41629934457 100644
--- a/ui/views/touchui/touch_selection_controller_impl.cc
+++ b/ui/views/touchui/touch_selection_controller_impl.cc
@@ -4,6 +4,7 @@
#include "ui/views/touchui/touch_selection_controller_impl.h"
+#include "base/metrics/histogram_macros.h"
#include "base/time/time.h"
#include "ui/aura/client/cursor_client.h"
#include "ui/aura/env.h"
@@ -415,7 +416,9 @@ TouchSelectionControllerImpl::TouchSelectionControllerImpl(
client_view->GetNativeView(),
true)),
context_menu_(nullptr),
+ command_executed_(false),
dragging_handle_(nullptr) {
+ selection_start_time_ = base::TimeTicks::Now();
aura::Window* client_window = client_view_->GetNativeView();
client_window->AddObserver(this);
client_widget_ = Widget::GetTopLevelWidgetForNativeView(client_window);
@@ -425,6 +428,8 @@ TouchSelectionControllerImpl::TouchSelectionControllerImpl(
}
TouchSelectionControllerImpl::~TouchSelectionControllerImpl() {
+ UMA_HISTOGRAM_BOOLEAN("Event.TouchSelection.EndedWithAction",
+ command_executed_);
HideContextMenu();
aura::Env::GetInstance()->RemovePreTargetHandler(this);
if (client_widget_)
@@ -594,6 +599,15 @@ bool TouchSelectionControllerImpl::IsCommandIdEnabled(int command_id) const {
void TouchSelectionControllerImpl::ExecuteCommand(int command_id,
int event_flags) {
+ command_executed_ = true;
+ base::TimeDelta duration = base::TimeTicks::Now() - selection_start_time_;
+ // Note that we only log the duration stats for the 'successful' selections,
+ // i.e. selections ending with the execution of a command.
+ UMA_HISTOGRAM_CUSTOM_TIMES("Event.TouchSelection.Duration",
+ duration,
+ base::TimeDelta::FromMilliseconds(500),
+ base::TimeDelta::FromSeconds(60),
+ 60);
HideContextMenu();
client_view_->ExecuteCommand(command_id, event_flags);
}
« no previous file with comments | « ui/views/touchui/touch_selection_controller_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698