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

Unified Diff: cc/trees/proxy.h

Issue 1411663002: cc: Split Proxy to eliminate unnecessary dependencies on the impl side (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update perf tests. Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/occlusion_tracker_unittest.cc ('k') | cc/trees/proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/proxy.h
diff --git a/cc/trees/proxy.h b/cc/trees/proxy.h
index 2750df3e5b16125f7a757afa6d2333bd9a7479c9..8780281384bd3851de2cbb020829302033d41b89 100644
--- a/cc/trees/proxy.h
+++ b/cc/trees/proxy.h
@@ -16,13 +16,7 @@
#include "base/values.h"
#include "cc/base/cc_export.h"
#include "cc/input/top_controls_state.h"
-
-namespace base {
-namespace trace_event {
-class TracedValue;
-}
-class SingleThreadTaskRunner;
-}
+#include "cc/trees/task_runner_provider.h"
namespace gfx {
class Rect;
@@ -30,29 +24,15 @@ class Vector2d;
}
namespace cc {
-class BlockingTaskRunner;
class LayerTreeDebugState;
class OutputSurface;
struct RendererCapabilities;
// Abstract class responsible for proxying commands from the main-thread side of
// the compositor over to the compositor implementation.
-class CC_EXPORT Proxy {
+class CC_EXPORT Proxy : public TaskRunnerProvider {
public:
- base::SingleThreadTaskRunner* MainThreadTaskRunner() const;
- bool HasImplThread() const;
- base::SingleThreadTaskRunner* ImplThreadTaskRunner() const;
-
- // Debug hooks.
- bool IsMainThread() const;
- bool IsImplThread() const;
- bool IsMainThreadBlocked() const;
-#if DCHECK_IS_ON()
- void SetMainThreadBlocked(bool is_main_thread_blocked);
- void SetCurrentThreadIsImplThread(bool is_impl_thread);
-#endif
-
- virtual ~Proxy();
+ ~Proxy() override;
virtual void FinishAllRendering() = 0;
@@ -106,56 +86,14 @@ class CC_EXPORT Proxy {
// Testing hooks
virtual bool MainFrameWillHappenForTesting() = 0;
- BlockingTaskRunner* blocking_main_thread_task_runner() const {
- return blocking_main_thread_task_runner_.get();
- }
-
protected:
Proxy(scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner);
- friend class DebugScopedSetImplThread;
- friend class DebugScopedSetMainThread;
- friend class DebugScopedSetMainThreadBlocked;
private:
- scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
- scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner_;
- scoped_ptr<BlockingTaskRunner> blocking_main_thread_task_runner_;
-
-#if DCHECK_IS_ON()
- const base::PlatformThreadId main_thread_id_;
- bool impl_thread_is_overridden_;
- bool is_main_thread_blocked_;
-#endif
-
DISALLOW_COPY_AND_ASSIGN(Proxy);
};
-#if DCHECK_IS_ON()
-class DebugScopedSetMainThreadBlocked {
- public:
- explicit DebugScopedSetMainThreadBlocked(Proxy* proxy) : proxy_(proxy) {
- DCHECK(!proxy_->IsMainThreadBlocked());
- proxy_->SetMainThreadBlocked(true);
- }
- ~DebugScopedSetMainThreadBlocked() {
- DCHECK(proxy_->IsMainThreadBlocked());
- proxy_->SetMainThreadBlocked(false);
- }
- private:
- Proxy* proxy_;
- DISALLOW_COPY_AND_ASSIGN(DebugScopedSetMainThreadBlocked);
-};
-#else
-class DebugScopedSetMainThreadBlocked {
- public:
- explicit DebugScopedSetMainThreadBlocked(Proxy* proxy) {}
- ~DebugScopedSetMainThreadBlocked() {}
- private:
- DISALLOW_COPY_AND_ASSIGN(DebugScopedSetMainThreadBlocked);
-};
-#endif
-
} // namespace cc
#endif // CC_TREES_PROXY_H_
« no previous file with comments | « cc/trees/occlusion_tracker_unittest.cc ('k') | cc/trees/proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698