blob: bccf8f8ad76af2ee157bdfde9acea1b31dfeae22 [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 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