| Index: ash/metrics/desktop_task_switch_metric_recorder.h
|
| diff --git a/ash/metrics/desktop_task_switch_metric_recorder.h b/ash/metrics/desktop_task_switch_metric_recorder.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1ee075da9917bc7d22c8793b0647a9d8690e42c4
|
| --- /dev/null
|
| +++ b/ash/metrics/desktop_task_switch_metric_recorder.h
|
| @@ -0,0 +1,39 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef ASH_METRICS_DESKTOP_TASK_SWITCH_METRIC_RECORDER_H_
|
| +#define ASH_METRICS_DESKTOP_TASK_SWITCH_METRIC_RECORDER_H_
|
| +
|
| +#include "ash/ash_export.h"
|
| +#include "base/macros.h"
|
| +#include "ui/wm/public/activation_change_observer.h"
|
| +
|
| +namespace ash {
|
| +
|
| +class UserMetricsRecorder;
|
| +
|
| +// Tracks user metrics for task switches triggered by the user clicking or
|
| +// tapping on a window in the 2-dimensional screen space.
|
| +class ASH_EXPORT DesktopTaskSwitchMetricRecorder
|
| + : public aura::client::ActivationChangeObserver {
|
| + public:
|
| + explicit DesktopTaskSwitchMetricRecorder();
|
| + ~DesktopTaskSwitchMetricRecorder() override;
|
| +
|
| + // aura::client::ActivationChangeObserver:
|
| + void OnWindowActivated(
|
| + aura::client::ActivationChangeObserver::ActivationReason reason,
|
| + aura::Window* gained_active,
|
| + aura::Window* lost_active) override;
|
| +
|
| + private:
|
| + // Tracks the last active task window.
|
| + aura::Window* last_active_task_window_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DesktopTaskSwitchMetricRecorder);
|
| +};
|
| +
|
| +} // namespace ash
|
| +
|
| +#endif // ASH_METRICS_DESKTOP_TASK_SWITCH_METRIC_RECORDER_H_
|
|
|