Chromium Code Reviews| Index: ash/drag_drop/drag_drop_controller.cc |
| diff --git a/ash/drag_drop/drag_drop_controller.cc b/ash/drag_drop/drag_drop_controller.cc |
| index 695c7737865c0919e3f86337ba8d7f80e870aa1b..7b8f2cd36dea2201b033334b661828fece8ef0d4 100644 |
| --- a/ash/drag_drop/drag_drop_controller.cc |
| +++ b/ash/drag_drop/drag_drop_controller.cc |
| @@ -9,6 +9,7 @@ |
| #include "ash/shell.h" |
| #include "base/bind.h" |
| #include "base/message_loop/message_loop.h" |
| +#include "base/metrics/histogram_macros.h" |
| #include "base/run_loop.h" |
| #include "ui/aura/client/capture_client.h" |
| #include "ui/aura/env.h" |
| @@ -159,6 +160,9 @@ int DragDropController::StartDragAndDrop( |
| provider->GetDragImage().size().IsEmpty()) |
| return 0; |
| + UMA_HISTOGRAM_ENUMERATION("DragDrop.Start", source, |
| + ui::DragDropTypes::DRAG_EVENT_SOURCE_COUNT); |
| + |
| current_drag_event_source_ = source; |
| DragDropTracker* tracker = |
| new DragDropTracker(root_window, drag_drop_window_delegate_.get()); |
| @@ -310,10 +314,15 @@ void DragDropController::Drop(aura::Window* target, |
| *drag_data_, event.location(), event.root_location(), drag_operation_); |
| e.set_flags(event.flags()); |
| drag_operation_ = delegate->OnPerformDrop(e); |
| - if (drag_operation_ == 0) |
| + if (drag_operation_ == 0) { |
| + UMA_HISTOGRAM_ENUMERATION("DragDrop.Cancel", current_drag_event_source_, |
| + ui::DragDropTypes::DRAG_EVENT_SOURCE_COUNT); |
| StartCanceledAnimation(kCancelAnimationDuration); |
| - else |
| + } else { |
| + UMA_HISTOGRAM_ENUMERATION("DragDrop.Drop", current_drag_event_source_, |
| + ui::DragDropTypes::DRAG_EVENT_SOURCE_COUNT); |
| drag_image_.reset(); |
| + } |
| } else { |
| drag_image_.reset(); |
| } |
| @@ -324,6 +333,8 @@ void DragDropController::Drop(aura::Window* target, |
| } |
| void DragDropController::DragCancel() { |
| + UMA_HISTOGRAM_ENUMERATION("DragDrop.Cancel", current_drag_event_source_, |
|
mfomitchev
2015/01/14 17:03:41
There is at least one case where DoDragCancel is c
caelyn
2015/01/21 16:29:53
Done.
mfomitchev
2015/01/21 18:54:36
Doesn't look like you've moved it. However look at
caelyn
2015/01/21 21:06:41
Oops. I confused this with another thing and hit d
|
| + ui::DragDropTypes::DRAG_EVENT_SOURCE_COUNT); |
| DoDragCancel(kCancelAnimationDuration); |
| } |
| @@ -482,9 +493,9 @@ void DragDropController::AnimationEnded(const gfx::Animation* animation) { |
| drag_image_.reset(); |
| if (pending_long_tap_) { |
| // If not in a nested message loop, we can forward the long tap right now. |
| - if (!should_block_during_drag_drop_) |
| + if (!should_block_during_drag_drop_) { |
| ForwardPendingLongTap(); |
| - else { |
| + } else { |
| // See comment about this in OnGestureEvent(). |
| base::MessageLoopForUI::current()->PostTask( |
| FROM_HERE, |