// 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 CompositorProxyClient_h
#define CompositorProxyClient_h

#include "core/CoreExport.h"
#include "core/workers/WorkerClients.h"
#include "wtf/Noncopyable.h"

#include <v8.h>

namespace blink {

class CompositorProxy;
class Event;
class ScriptState;
class WorkerClients;
class WorkerGlobalScope;

class CORE_EXPORT CompositorProxyClient : public Supplement<WorkerClients> {
    WTF_MAKE_NONCOPYABLE(CompositorProxyClient);

public:
    CompositorProxyClient() {}

    static CompositorProxyClient* from(WorkerClients*);
    static const char* supplementName();

    virtual void setGlobalScope(WorkerGlobalScope*) = 0;
    virtual void runAnimationFrameCallbacks() = 0;
};

CORE_EXPORT void provideCompositorProxyClientTo(WorkerClients*, CompositorProxyClient*);

} // namespace blink

#endif // CompositorProxyClient_h
