blob: 9eefab1b2883a9d23f042d1c3fb632a8b60f1b8d [file] [log] [blame]
// Copyright 2016 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 CanvasSurfaceLayerBridgeClientImpl_h
#define CanvasSurfaceLayerBridgeClientImpl_h
#include "platform/graphics/CanvasSurfaceLayerBridgeClient.h"
#include "public/platform/modules/offscreencanvas/offscreen_canvas_surface.mojom-blink.h"
#include "wtf/RefPtr.h"
namespace blink {
class PLATFORM_EXPORT CanvasSurfaceLayerBridgeClientImpl final : public CanvasSurfaceLayerBridgeClient {
public:
explicit CanvasSurfaceLayerBridgeClientImpl();
~CanvasSurfaceLayerBridgeClientImpl() override;
bool syncGetSurfaceId(cc::SurfaceId*) override;
void asyncRequestSurfaceCreation(const cc::SurfaceId&) override;
void asyncRequire(cc::SurfaceId, cc::SurfaceSequence) override;
void asyncSatisfy(cc::SurfaceSequence) override;
private:
mojom::blink::OffscreenCanvasSurfacePtr m_service;
};
} // namespace blink
#endif // CanvasSurfaceLayerBridgeClientImpl_h