Index: content/browser/media/capture/cursor_renderer_aura.cc |
diff --git a/content/browser/media/capture/cursor_renderer_aura.cc b/content/browser/media/capture/cursor_renderer_aura.cc |
index f2ce8aee50a37e7ca030d8c564f3b5fa78ad180c..84e9b31dfc6d52d26e4a84a71dbed186e18ad446 100644 |
--- a/content/browser/media/capture/cursor_renderer_aura.cc |
+++ b/content/browser/media/capture/cursor_renderer_aura.cc |
@@ -23,6 +23,10 @@ namespace content { |
namespace { |
+// The time period within which a triggered UI event is considered |
+// currently active. |
+const int kTimePeriodUiEventMicros = 100000; // 100 ms |
+ |
inline int clip_byte(int x) { |
return std::max(0, std::min(x, 255)); |
} |
@@ -53,6 +57,11 @@ base::WeakPtr<CursorRenderer> CursorRendererAura::GetWeakPtr() { |
return weak_factory_.GetWeakPtr(); |
} |
+bool CursorRendererAura::ui_event_detected() const { |
+ return (tick_clock_->NowTicks() - last_time_ui_event_detected_) < |
+ base::TimeDelta::FromMicroseconds(kTimePeriodUiEventMicros); |
+} |
+ |
void CursorRendererAura::Clear() { |
last_cursor_ = ui::Cursor(); |
window_size_when_cursor_last_updated_ = gfx::Size(); |
@@ -184,6 +193,11 @@ void CursorRendererAura::RenderOnVideoFrame( |
scaled_cursor_bitmap_.unlockPixels(); |
} |
+void CursorRendererAura::OnEvent(ui::Event* event) { |
+ last_time_ui_event_detected_ = tick_clock_->NowTicks(); |
+ ui::EventHandler::OnEvent(event); |
+} |
+ |
void CursorRendererAura::OnMouseEvent(ui::MouseEvent* event) { |
switch (event->type()) { |
case ui::ET_MOUSE_MOVED: |