1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/notifications/screen_lock_notification_blocker.h"
7 #include "base/time/time.h"
8 #include "chrome/browser/idle.h"
11 const int kUserStatePollingIntervalSeconds = 1;
14 ScreenLockNotificationBlocker::ScreenLockNotificationBlocker(
15 message_center::MessageCenter* message_center)
16 : NotificationBlocker(message_center),
20 ScreenLockNotificationBlocker::~ScreenLockNotificationBlocker() {
23 void ScreenLockNotificationBlocker::CheckState() {
24 bool was_locked = is_locked_;
25 is_locked_ = CheckIdleStateIsLocked();
26 if (is_locked_ != was_locked) {
28 NotificationBlocker::Observer, observers(), OnBlockingStateChanged());
32 timer_.Start(FROM_HERE,
33 base::TimeDelta::FromSeconds(kUserStatePollingIntervalSeconds),
35 &ScreenLockNotificationBlocker::CheckState);
39 bool ScreenLockNotificationBlocker::ShouldShowNotificationAsPopup(
40 const message_center::NotifierId& notifier_id) const {