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

#include "core/html/HTMLCanvasElement.h"
#include "modules/ModulesExport.h"
#include "modules/offscreencanvas/OffscreenCanvas.h"
#include "wtf/text/WTFString.h"

namespace blink {

class CanvasContextCreationAttributes;
class HTMLCanvasElement;
class ScriptState;

class MODULES_EXPORT HTMLCanvasElementModule {
    STATIC_ONLY(HTMLCanvasElementModule);
public:
    static void getContext(HTMLCanvasElement&, const String&, const CanvasContextCreationAttributes&, RenderingContext&);
    static OffscreenCanvas* transferControlToOffscreen(HTMLCanvasElement&, ExceptionState&);
};

}

#endif
