summaryrefslogtreecommitdiff
path: root/chromium/content/browser/idle/idle_manager_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/idle/idle_manager_impl.cc')
-rw-r--r--chromium/content/browser/idle/idle_manager_impl.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/chromium/content/browser/idle/idle_manager_impl.cc b/chromium/content/browser/idle/idle_manager_impl.cc
index cdb167b0713..20d52571e3f 100644
--- a/chromium/content/browser/idle/idle_manager_impl.cc
+++ b/chromium/content/browser/idle/idle_manager_impl.cc
@@ -86,6 +86,18 @@ void IdleManagerImpl::CreateService(
receivers_.Add(this, std::move(receiver), origin);
}
+void IdleManagerImpl::SetIdleOverride(
+ blink::mojom::UserIdleState user_state,
+ blink::mojom::ScreenIdleState screen_state) {
+ state_override_ = IdleState::New(user_state, screen_state);
+ UpdateIdleState();
+}
+
+void IdleManagerImpl::ClearIdleOverride() {
+ state_override_ = nullptr;
+ UpdateIdleState();
+}
+
void IdleManagerImpl::AddMonitor(
base::TimeDelta threshold,
mojo::PendingRemote<blink::mojom::IdleMonitor> monitor_remote,
@@ -167,6 +179,9 @@ void IdleManagerImpl::StopPolling() {
blink::mojom::IdleStatePtr IdleManagerImpl::CheckIdleState(
base::TimeDelta threshold) {
+ if (state_override_) {
+ return state_override_->Clone();
+ }
base::TimeDelta idle_time = idle_time_provider_->CalculateIdleTime();
bool locked = idle_time_provider_->CheckIdleStateIsLocked();