// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_LAYERS_SURFACE_LAYER_H_ #define CC_LAYERS_SURFACE_LAYER_H_ #include <memory> #include "cc/cc_export.h" #include "cc/layers/deadline_policy.h" #include "cc/layers/layer.h" #include "components/viz/common/surfaces/surface_info.h" #include "components/viz/common/surfaces/surface_range.h" #include "third_party/skia/include/core/SkColor.h" #include "ui/gfx/geometry/size.h" namespace base { class WaitableEvent; } namespace cc { // If given true, we should submit frames, as we are unoccluded on screen. // If given false, we should not submit compositor frames. // The second parameter is only used in tests to ensure that the // UpdateSubmissionStateCB is called synchronously relative to the calling // thread. That is, the calling thread will block on the given waitable event // when calling the callback. It is the responsibility of the callback to signal // the event once the state has been updated. If blocking is not required, then // the second parameter will be nullptr. UpdateSubmissionStateCB; // A layer that renders a surface referencing the output of another compositor // instance or client. class CC_EXPORT SurfaceLayer : public Layer { … }; } // namespace cc #endif // CC_LAYERS_SURFACE_LAYER_H_