naiveproxy/services/ui/public/interfaces/user_activity_monitor.mojom
2018-01-29 00:30:36 +08:00

32 lines
1.0 KiB
Plaintext

// Copyright 2016 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.
module ui.mojom;
interface UserActivityObserver {
OnUserActivity();
};
interface UserIdleObserver {
enum IdleState {
ACTIVE,
IDLE,
};
OnUserIdleStateChanged(IdleState new_state);
};
interface UserActivityMonitor {
// Notifies the observer of user activity at most once every
// |delay_between_notify_secs| seconds.
AddUserActivityObserver(uint32 delay_between_notify_secs,
UserActivityObserver observer);
// Notifies the observer when user is idle for more than
// |idle_time_in_minutes| minutes. When the observer is first added, if the
// user has already been idle for |idle_time_in_minutes|, then
// OnUserIdleStateChanged(IDLE) is called on the observer, otherwise
// OnUserIdleStateChanged(ACTIVE) is called.
AddUserIdleObserver(uint32 idle_time_in_minutes, UserIdleObserver observer);
};