| OLD | NEW | 
|     1 // Copyright 2014 The Chromium Authors. All rights reserved. |     1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "platform/scheduler/renderer/renderer_scheduler_impl.h" |     5 #include "platform/scheduler/renderer/renderer_scheduler_impl.h" | 
|     6  |     6  | 
|     7 #include "base/bind.h" |     7 #include "base/bind.h" | 
|     8 #include "base/debug/stack_trace.h" |     8 #include "base/debug/stack_trace.h" | 
|     9 #include "base/logging.h" |     9 #include "base/logging.h" | 
|    10 #include "base/memory/ptr_util.h" |    10 #include "base/memory/ptr_util.h" | 
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   594  |   594  | 
|   595 bool RendererSchedulerImpl::PolicyNeedsUpdateForTesting() { |   595 bool RendererSchedulerImpl::PolicyNeedsUpdateForTesting() { | 
|   596   return policy_may_need_update_.IsSet(); |   596   return policy_may_need_update_.IsSet(); | 
|   597 } |   597 } | 
|   598  |   598  | 
|   599 // static |   599 // static | 
|   600 bool RendererSchedulerImpl::ShouldPrioritizeInputEvent( |   600 bool RendererSchedulerImpl::ShouldPrioritizeInputEvent( | 
|   601     const blink::WebInputEvent& web_input_event) { |   601     const blink::WebInputEvent& web_input_event) { | 
|   602   // We regard MouseMove events with the left mouse button down as a signal |   602   // We regard MouseMove events with the left mouse button down as a signal | 
|   603   // that the user is doing something requiring a smooth frame rate. |   603   // that the user is doing something requiring a smooth frame rate. | 
|   604   if ((web_input_event.type == blink::WebInputEvent::MouseDown || |   604   if ((web_input_event.type() == blink::WebInputEvent::MouseDown || | 
|   605        web_input_event.type == blink::WebInputEvent::MouseMove) && |   605        web_input_event.type() == blink::WebInputEvent::MouseMove) && | 
|   606       (web_input_event.modifiers & blink::WebInputEvent::LeftButtonDown)) { |   606       (web_input_event.modifiers() & blink::WebInputEvent::LeftButtonDown)) { | 
|   607     return true; |   607     return true; | 
|   608   } |   608   } | 
|   609   // Ignore all other mouse events because they probably don't signal user |   609   // Ignore all other mouse events because they probably don't signal user | 
|   610   // interaction needing a smooth framerate. NOTE isMouseEventType returns false |   610   // interaction needing a smooth framerate. NOTE isMouseEventType returns false | 
|   611   // for mouse wheel events, hence we regard them as user input. |   611   // for mouse wheel events, hence we regard them as user input. | 
|   612   // Ignore keyboard events because it doesn't really make sense to enter |   612   // Ignore keyboard events because it doesn't really make sense to enter | 
|   613   // compositor priority for them. |   613   // compositor priority for them. | 
|   614   if (blink::WebInputEvent::isMouseEventType(web_input_event.type) || |   614   if (blink::WebInputEvent::isMouseEventType(web_input_event.type()) || | 
|   615       blink::WebInputEvent::isKeyboardEventType(web_input_event.type)) { |   615       blink::WebInputEvent::isKeyboardEventType(web_input_event.type())) { | 
|   616     return false; |   616     return false; | 
|   617   } |   617   } | 
|   618   return true; |   618   return true; | 
|   619 } |   619 } | 
|   620  |   620  | 
|   621 void RendererSchedulerImpl::DidHandleInputEventOnCompositorThread( |   621 void RendererSchedulerImpl::DidHandleInputEventOnCompositorThread( | 
|   622     const blink::WebInputEvent& web_input_event, |   622     const blink::WebInputEvent& web_input_event, | 
|   623     InputEventState event_state) { |   623     InputEventState event_state) { | 
|   624   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), |   624   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), | 
|   625                "RendererSchedulerImpl::DidHandleInputEventOnCompositorThread"); |   625                "RendererSchedulerImpl::DidHandleInputEventOnCompositorThread"); | 
|   626   if (!ShouldPrioritizeInputEvent(web_input_event)) |   626   if (!ShouldPrioritizeInputEvent(web_input_event)) | 
|   627     return; |   627     return; | 
|   628  |   628  | 
|   629   UpdateForInputEventOnCompositorThread(web_input_event.type, event_state); |   629   UpdateForInputEventOnCompositorThread(web_input_event.type(), event_state); | 
|   630 } |   630 } | 
|   631  |   631  | 
|   632 void RendererSchedulerImpl::DidAnimateForInputOnCompositorThread() { |   632 void RendererSchedulerImpl::DidAnimateForInputOnCompositorThread() { | 
|   633   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), |   633   TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), | 
|   634                "RendererSchedulerImpl::DidAnimateForInputOnCompositorThread"); |   634                "RendererSchedulerImpl::DidAnimateForInputOnCompositorThread"); | 
|   635   base::AutoLock lock(any_thread_lock_); |   635   base::AutoLock lock(any_thread_lock_); | 
|   636   AnyThread().fling_compositor_escalation_deadline = |   636   AnyThread().fling_compositor_escalation_deadline = | 
|   637       helper_.scheduler_tqm_delegate()->NowTicks() + |   637       helper_.scheduler_tqm_delegate()->NowTicks() + | 
|   638       base::TimeDelta::FromMilliseconds(kFlingEscalationLimitMillis); |   638       base::TimeDelta::FromMilliseconds(kFlingEscalationLimitMillis); | 
|   639 } |   639 } | 
| (...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1871     case TimeDomainType::VIRTUAL: |  1871     case TimeDomainType::VIRTUAL: | 
|  1872       return "virtual"; |  1872       return "virtual"; | 
|  1873     default: |  1873     default: | 
|  1874       NOTREACHED(); |  1874       NOTREACHED(); | 
|  1875       return nullptr; |  1875       return nullptr; | 
|  1876   } |  1876   } | 
|  1877 } |  1877 } | 
|  1878  |  1878  | 
|  1879 }  // namespace scheduler |  1879 }  // namespace scheduler | 
|  1880 }  // namespace blink |  1880 }  // namespace blink | 
| OLD | NEW |