Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(764)

Side by Side Diff: cc/trees/thread_proxy.h

Issue 307023002: cc: Use delayed unique notifier for renewing tree priority. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/trees/thread_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_TREES_THREAD_PROXY_H_ 5 #ifndef CC_TREES_THREAD_PROXY_H_
6 #define CC_TREES_THREAD_PROXY_H_ 6 #define CC_TREES_THREAD_PROXY_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "cc/animation/animation_events.h" 13 #include "cc/animation/animation_events.h"
14 #include "cc/base/completion_event.h" 14 #include "cc/base/completion_event.h"
15 #include "cc/base/delayed_unique_notifier.h"
15 #include "cc/resources/resource_update_controller.h" 16 #include "cc/resources/resource_update_controller.h"
16 #include "cc/scheduler/scheduler.h" 17 #include "cc/scheduler/scheduler.h"
17 #include "cc/trees/layer_tree_host_impl.h" 18 #include "cc/trees/layer_tree_host_impl.h"
18 #include "cc/trees/proxy.h" 19 #include "cc/trees/proxy.h"
19 #include "cc/trees/proxy_timing_history.h" 20 #include "cc/trees/proxy_timing_history.h"
20 21
21 namespace base { 22 namespace base {
22 class SingleThreadTaskRunner; 23 class SingleThreadTaskRunner;
23 } 24 }
24 25
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 bool input_throttled_until_commit; 128 bool input_throttled_until_commit;
128 129
129 // Set when we freeze animations to avoid checkerboarding. 130 // Set when we freeze animations to avoid checkerboarding.
130 bool animations_frozen_until_next_draw; 131 bool animations_frozen_until_next_draw;
131 base::TimeTicks animation_time; 132 base::TimeTicks animation_time;
132 133
133 // Whether a commit has been completed since the last time animations were 134 // Whether a commit has been completed since the last time animations were
134 // ticked. If this happens, we need to animate again. 135 // ticked. If this happens, we need to animate again.
135 bool did_commit_after_animating; 136 bool did_commit_after_animating;
136 137
137 base::TimeTicks smoothness_takes_priority_expiration_time; 138 DelayedUniqueNotifier smoothness_priority_expiration_notifier;
138 bool renew_tree_priority_pending;
139 139
140 ProxyTimingHistory timing_history; 140 ProxyTimingHistory timing_history;
141 141
142 scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl; 142 scoped_ptr<LayerTreeHostImpl> layer_tree_host_impl;
143 base::WeakPtrFactory<ThreadProxy> weak_factory; 143 base::WeakPtrFactory<ThreadProxy> weak_factory;
144 }; 144 };
145 145
146 const MainThreadOnly& main() const; 146 const MainThreadOnly& main() const;
147 const MainThreadOrBlockedMainThread& blocked_main() const; 147 const MainThreadOrBlockedMainThread& blocked_main() const;
148 const CompositorThreadOnly& impl() const; 148 const CompositorThreadOnly& impl() const;
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 RendererCapabilities* capabilities); 268 RendererCapabilities* capabilities);
269 void FinishGLOnImplThread(CompletionEvent* completion); 269 void FinishGLOnImplThread(CompletionEvent* completion);
270 void LayerTreeHostClosedOnImplThread(CompletionEvent* completion); 270 void LayerTreeHostClosedOnImplThread(CompletionEvent* completion);
271 DrawResult DrawSwapInternal(bool forced_draw); 271 DrawResult DrawSwapInternal(bool forced_draw);
272 void ForceSerializeOnSwapBuffersOnImplThread(CompletionEvent* completion); 272 void ForceSerializeOnSwapBuffersOnImplThread(CompletionEvent* completion);
273 void CheckOutputSurfaceStatusOnImplThread(); 273 void CheckOutputSurfaceStatusOnImplThread();
274 void CommitPendingOnImplThreadForTesting(CommitPendingRequest* request); 274 void CommitPendingOnImplThreadForTesting(CommitPendingRequest* request);
275 void SchedulerAsValueOnImplThreadForTesting(SchedulerStateRequest* request); 275 void SchedulerAsValueOnImplThreadForTesting(SchedulerStateRequest* request);
276 void AsValueOnImplThread(CompletionEvent* completion, 276 void AsValueOnImplThread(CompletionEvent* completion,
277 base::DictionaryValue* state) const; 277 base::DictionaryValue* state) const;
278 void RenewTreePriorityOnImplThread();
279 void SetSwapUsedIncompleteTileOnImplThread(bool used_incomplete_tile); 278 void SetSwapUsedIncompleteTileOnImplThread(bool used_incomplete_tile);
280 void MainThreadHasStoppedFlingingOnImplThread(); 279 void MainThreadHasStoppedFlingingOnImplThread();
281 void SetInputThrottledUntilCommitOnImplThread(bool is_throttled); 280 void SetInputThrottledUntilCommitOnImplThread(bool is_throttled);
282 void SetDebugStateOnImplThread(const LayerTreeDebugState& debug_state); 281 void SetDebugStateOnImplThread(const LayerTreeDebugState& debug_state);
283 282
284 LayerTreeHost* layer_tree_host(); 283 LayerTreeHost* layer_tree_host();
285 const LayerTreeHost* layer_tree_host() const; 284 const LayerTreeHost* layer_tree_host() const;
286 285
287 // Use accessors instead of this variable directly. 286 // Use accessors instead of this variable directly.
288 MainThreadOnly main_thread_only_vars_unsafe_; 287 MainThreadOnly main_thread_only_vars_unsafe_;
289 MainThreadOnly& main(); 288 MainThreadOnly& main();
290 289
291 // Use accessors instead of this variable directly. 290 // Use accessors instead of this variable directly.
292 MainThreadOrBlockedMainThread main_thread_or_blocked_vars_unsafe_; 291 MainThreadOrBlockedMainThread main_thread_or_blocked_vars_unsafe_;
293 MainThreadOrBlockedMainThread& blocked_main(); 292 MainThreadOrBlockedMainThread& blocked_main();
294 293
295 // Use accessors instead of this variable directly. 294 // Use accessors instead of this variable directly.
296 CompositorThreadOnly compositor_thread_vars_unsafe_; 295 CompositorThreadOnly compositor_thread_vars_unsafe_;
297 CompositorThreadOnly& impl(); 296 CompositorThreadOnly& impl();
298 297
299 base::WeakPtr<ThreadProxy> main_thread_weak_ptr_; 298 base::WeakPtr<ThreadProxy> main_thread_weak_ptr_;
300 base::WeakPtr<ThreadProxy> impl_thread_weak_ptr_; 299 base::WeakPtr<ThreadProxy> impl_thread_weak_ptr_;
301 300
302 DISALLOW_COPY_AND_ASSIGN(ThreadProxy); 301 DISALLOW_COPY_AND_ASSIGN(ThreadProxy);
303 }; 302 };
304 303
305 } // namespace cc 304 } // namespace cc
306 305
307 #endif // CC_TREES_THREAD_PROXY_H_ 306 #endif // CC_TREES_THREAD_PROXY_H_
OLDNEW
« no previous file with comments | « no previous file | cc/trees/thread_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698