1 // Copyright (c) 2011 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. 4 5 #ifndef CONTENT_RENDERER_IDLE_USER_DETECTOR_H_ 6 #define CONTENT_RENDERER_IDLE_USER_DETECTOR_H_ 7 8 #include "base/basictypes.h" 9 #include "content/public/renderer/render_view_observer.h" 10 11 namespace blink { 12 class WebInputEvent; 13 } 14 15 namespace ui { 16 struct LatencyInfo; 17 } 18 19 namespace content { 20 21 // Class which observes user input events and postpones 22 // idle notifications if the user is active. 23 class IdleUserDetector : public RenderViewObserver { 24 public: 25 IdleUserDetector(RenderView* render_view); 26 virtual ~IdleUserDetector(); 27 28 private: 29 // RenderViewObserver implementation: 30 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 31 32 void OnHandleInputEvent(const blink::WebInputEvent* event, 33 const ui::LatencyInfo& latency_info, 34 bool is_keyboard_shortcut); 35 36 DISALLOW_COPY_AND_ASSIGN(IdleUserDetector); 37 }; 38 39 } // namespace content 40 41 #endif // CONTENT_RENDERER_IDLE_USER_DETECTOR_H_ 42