summaryrefslogtreecommitdiffstats
path: root/cc/trees/channel_impl.h
diff options
context:
space:
mode:
authorkhushalsagar <khushalsagar@chromium.org>2015-09-25 15:44:56 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-25 22:45:38 +0000
commit5d6eb98fd5d6acf448c153e89d09dc506f0e4210 (patch)
treeb49508b32117147fc549c340d905699bdd8b1d81 /cc/trees/channel_impl.h
parente1d87813a4acf3fb824660991ac5b7db86ac5e8f (diff)
downloadchromium_src-5d6eb98fd5d6acf448c153e89d09dc506f0e4210.zip
chromium_src-5d6eb98fd5d6acf448c153e89d09dc506f0e4210.tar.gz
chromium_src-5d6eb98fd5d6acf448c153e89d09dc506f0e4210.tar.bz2
Add basic framework for splitting thread proxy.
ProxyMain and ProxyImpl have been temporarily defined as interfaces to have the implementation in ThreadProxy and incrementally move methods to the different classes. MainThreadOnly and BlockedMainThread are the variables owned by ProxyMain and CompositorThreadOnly are the variables owned by ProxyImpl. All access to the data variables and methods for the 2 sides will be routed through the Channel interfaces with ThreadedChannel providing the implementation for the current case where ProxyMain and ProxyImpl are running on separate threads. BUG=527200 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1357373002 Cr-Commit-Position: refs/heads/master@{#350935}
Diffstat (limited to 'cc/trees/channel_impl.h')
-rw-r--r--cc/trees/channel_impl.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/cc/trees/channel_impl.h b/cc/trees/channel_impl.h
new file mode 100644
index 0000000..dcaf416
--- /dev/null
+++ b/cc/trees/channel_impl.h
@@ -0,0 +1,27 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CC_TREES_CHANNEL_IMPL_H_
+#define CC_TREES_CHANNEL_IMPL_H_
+
+#include "cc/base/cc_export.h"
+
+namespace cc {
+
+// Channel used to send commands to and receive commands from ProxyMain.
+// The ChannelImpl implementation creates and owns ProxyImpl on receiving the
+// InitializeImpl call from ChannelMain.
+// See channel_main.h
+class CC_EXPORT ChannelImpl {
+ public:
+ // Interface for commands sent to ProxyMain
+ virtual void DidCompleteSwapBuffers() = 0;
+
+ protected:
+ virtual ~ChannelImpl() {}
+};
+
+} // namespace cc
+
+#endif // CC_TREES_CHANNEL_IMPL_H_