| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 #ifndef CC_SCHEDULER_SCHEDULER_H_ | 5 #ifndef CC_SCHEDULER_SCHEDULER_H_ |
| 6 #define CC_SCHEDULER_SCHEDULER_H_ | 6 #define CC_SCHEDULER_SCHEDULER_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 void SetNeedsRedraw(); | 88 void SetNeedsRedraw(); |
| 89 | 89 |
| 90 void SetNeedsAnimate(); | 90 void SetNeedsAnimate(); |
| 91 | 91 |
| 92 void SetNeedsPrepareTiles(); | 92 void SetNeedsPrepareTiles(); |
| 93 | 93 |
| 94 void SetMaxSwapsPending(int max); | 94 void SetMaxSwapsPending(int max); |
| 95 void DidSwapBuffers(); | 95 void DidSwapBuffers(); |
| 96 void DidSwapBuffersComplete(); | 96 void DidSwapBuffersComplete(); |
| 97 | 97 |
| 98 void SetImplLatencyTakesPriority(bool impl_latency_takes_priority); | 98 void SetSmoothnessMode(bool smoothness_takes_priority, |
| 99 bool scroll_affects_scroll_handler); |
| 99 | 100 |
| 100 void NotifyReadyToCommit(); | 101 void NotifyReadyToCommit(); |
| 101 void BeginMainFrameAborted(CommitEarlyOutReason reason); | 102 void BeginMainFrameAborted(CommitEarlyOutReason reason); |
| 102 void DidCommit(); | 103 void DidCommit(); |
| 103 | 104 |
| 104 void WillPrepareTiles(); | 105 void WillPrepareTiles(); |
| 105 void DidPrepareTiles(); | 106 void DidPrepareTiles(); |
| 106 void DidLoseOutputSurface(); | 107 void DidLoseOutputSurface(); |
| 107 void DidCreateAndInitializeOutputSurface(); | 108 void DidCreateAndInitializeOutputSurface(); |
| 108 | 109 |
| 109 // Tests do not want to shut down until all possible BeginMainFrames have | 110 // Tests do not want to shut down until all possible BeginMainFrames have |
| 110 // occured to prevent flakiness. | 111 // occured to prevent flakiness. |
| 111 bool MainFrameForTestingWillHappen() const { | 112 bool MainFrameForTestingWillHappen() const { |
| 112 return state_machine_.CommitPending() || | 113 return state_machine_.CommitPending() || |
| 113 state_machine_.CouldSendBeginMainFrame(); | 114 state_machine_.CouldSendBeginMainFrame(); |
| 114 } | 115 } |
| 115 | 116 |
| 116 bool CommitPending() const { return state_machine_.CommitPending(); } | 117 bool CommitPending() const { return state_machine_.CommitPending(); } |
| 117 bool RedrawPending() const { return state_machine_.RedrawPending(); } | 118 bool RedrawPending() const { return state_machine_.RedrawPending(); } |
| 118 bool PrepareTilesPending() const { | 119 bool PrepareTilesPending() const { |
| 119 return state_machine_.PrepareTilesPending(); | 120 return state_machine_.PrepareTilesPending(); |
| 120 } | 121 } |
| 121 bool BeginImplFrameDeadlinePending() const { | 122 bool BeginImplFrameDeadlinePending() const { |
| 122 return !begin_impl_frame_deadline_task_.IsCancelled(); | 123 return !begin_impl_frame_deadline_task_.IsCancelled(); |
| 123 } | 124 } |
| 124 bool ImplLatencyTakesPriority() const { | 125 bool ImplLatencyTakesPriority() const { |
| 125 return state_machine_.impl_latency_takes_priority(); | 126 return state_machine_.ImplLatencyTakesPriority(); |
| 126 } | 127 } |
| 127 | 128 |
| 128 void NotifyBeginMainFrameStarted(); | 129 void NotifyBeginMainFrameStarted(); |
| 129 | 130 |
| 130 base::TimeTicks LastBeginImplFrameTime(); | 131 base::TimeTicks LastBeginImplFrameTime(); |
| 131 | 132 |
| 132 void SetDeferCommits(bool defer_commits); | 133 void SetDeferCommits(bool defer_commits); |
| 133 | 134 |
| 134 scoped_refptr<base::trace_event::ConvertableToTraceFormat> AsValue() const; | 135 scoped_refptr<base::trace_event::ConvertableToTraceFormat> AsValue() const; |
| 135 void AsValueInto(base::trace_event::TracedValue* value) const override; | 136 void AsValueInto(base::trace_event::TracedValue* value) const override; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 | 186 |
| 186 private: | 187 private: |
| 187 void ScheduleBeginImplFrameDeadline(); | 188 void ScheduleBeginImplFrameDeadline(); |
| 188 void ScheduleBeginImplFrameDeadlineIfNeeded(); | 189 void ScheduleBeginImplFrameDeadlineIfNeeded(); |
| 189 void SetupNextBeginFrameIfNeeded(); | 190 void SetupNextBeginFrameIfNeeded(); |
| 190 void PostBeginRetroFrameIfNeeded(); | 191 void PostBeginRetroFrameIfNeeded(); |
| 191 void DrawAndSwapIfPossible(); | 192 void DrawAndSwapIfPossible(); |
| 192 void DrawAndSwapForced(); | 193 void DrawAndSwapForced(); |
| 193 void ProcessScheduledActions(); | 194 void ProcessScheduledActions(); |
| 194 void UpdateCompositorTimingHistoryRecordingEnabled(); | 195 void UpdateCompositorTimingHistoryRecordingEnabled(); |
| 195 bool ShouldRecoverMainLatency(const BeginFrameArgs& args) const; | 196 bool ShouldRecoverMainLatency(const BeginFrameArgs& args, |
| 196 bool ShouldRecoverImplLatency(const BeginFrameArgs& args) const; | 197 bool can_activate_before_deadline) const; |
| 197 bool CanCommitAndActivateBeforeDeadline(const BeginFrameArgs& args) const; | 198 bool ShouldRecoverImplLatency(const BeginFrameArgs& args, |
| 199 bool can_activate_before_deadline) const; |
| 200 bool CanCommitAndActivateBeforeDeadline( |
| 201 const BeginFrameArgs& args, |
| 202 base::TimeDelta bmf_to_activate_estimate) const; |
| 198 void AdvanceCommitStateIfPossible(); | 203 void AdvanceCommitStateIfPossible(); |
| 199 bool IsBeginMainFrameSentOrStarted() const; | 204 bool IsBeginMainFrameSentOrStarted() const; |
| 200 void BeginRetroFrame(); | 205 void BeginRetroFrame(); |
| 201 void BeginImplFrameWithDeadline(const BeginFrameArgs& args); | 206 void BeginImplFrameWithDeadline(const BeginFrameArgs& args); |
| 202 void BeginImplFrameSynchronous(const BeginFrameArgs& args); | 207 void BeginImplFrameSynchronous(const BeginFrameArgs& args); |
| 203 void BeginImplFrame(const BeginFrameArgs& args); | 208 void BeginImplFrame(const BeginFrameArgs& args); |
| 204 void FinishImplFrame(); | 209 void FinishImplFrame(); |
| 205 void OnBeginImplFrameDeadline(); | 210 void OnBeginImplFrameDeadline(); |
| 206 void PollToAdvanceCommitState(); | 211 void PollToAdvanceCommitState(); |
| 207 | 212 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 222 } | 227 } |
| 223 | 228 |
| 224 base::WeakPtrFactory<Scheduler> weak_factory_; | 229 base::WeakPtrFactory<Scheduler> weak_factory_; |
| 225 | 230 |
| 226 DISALLOW_COPY_AND_ASSIGN(Scheduler); | 231 DISALLOW_COPY_AND_ASSIGN(Scheduler); |
| 227 }; | 232 }; |
| 228 | 233 |
| 229 } // namespace cc | 234 } // namespace cc |
| 230 | 235 |
| 231 #endif // CC_SCHEDULER_SCHEDULER_H_ | 236 #endif // CC_SCHEDULER_SCHEDULER_H_ |
| OLD | NEW |