blob: 2514c24543316c2ee107e8ab087331f7170ce2d5 [file] [log] [blame]
// Copyright 2023 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_TREES_LAYER_CONTEXT_CLIENT_H_
#define CC_TREES_LAYER_CONTEXT_CLIENT_H_
#include "cc/cc_export.h"
#include "components/viz/common/frame_sinks/begin_frame_args.h"
namespace cc {
// Interface used by LayerContext to push requests to its corresponding
// client-side LayerTreeHost.
class CC_EXPORT LayerContextClient {
public:
virtual ~LayerContextClient() = default;
// Indicates that the compositor will produce a new display frame soon and
// that the client should commit a new layer tree ASAP. `args` correspond to
// the impending display frame that the compositor wants to produce.
virtual void OnRequestCommitForFrame(const viz::BeginFrameArgs& args) = 0;
};
} // namespace cc
#endif // CC_TREES_LAYER_CONTEXT_CLIENT_H_