summaryrefslogtreecommitdiffstats
path: root/cc/trees/compositor_mode.h
blob: 5a0e9227d83706928b8d25f2926d551bb2116566 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 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_COMPOSITOR_MODE_H_
#define CC_TREES_COMPOSITOR_MODE_H_

namespace cc {

// The LayerTreeHost uses the CompositorMode to determine the current mode of
// operation, which is needed to:
// 1) Safely cast Proxy to SingleThreadProxy to allow operations only supported
// in SingleThreaded mode.
// 2) Make decisions restricted to either browser(SingleThreaded) or renderer
// compositors(Threaded/Remote).
enum class CompositorMode {
  // The main and impl components will be run on the same thread.
  SINGLE_THREADED,

  // The main and impl components be run on different threads.
  THREADED,

  // The main and impl components will be run across the network.
  REMOTE,
};

}  // namespace cc

#endif  // CC_TREES_COMPOSITOR_MODE_H_