CSS Painting API should allow image values in inputProperties
[WebKit-https.git] / Source / WebCore / bindings / js / CallTracerTypes.h
1 /*
2  * Copyright (C) 2017 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #pragma once
27
28 #include "CanvasGradient.h"
29 #include "CanvasPattern.h"
30 #include "CanvasRenderingContext2D.h"
31 #include "DOMMatrix2DInit.h"
32 #include "Element.h"
33 #include "HTMLCanvasElement.h"
34 #include "HTMLImageElement.h"
35 #include "HTMLVideoElement.h"
36 #include "ImageBitmap.h"
37 #include "ImageData.h"
38 #include "Path2D.h"
39 #include "TypedOMCSSImageValue.h"
40 #include <JavaScriptCore/ArrayBuffer.h>
41 #include <JavaScriptCore/ArrayBufferView.h>
42 #include <JavaScriptCore/Float32Array.h>
43 #include <JavaScriptCore/Int32Array.h>
44 #include <wtf/RefPtr.h>
45 #include <wtf/Variant.h>
46 #include <wtf/Vector.h>
47 #include <wtf/text/WTFString.h>
48
49 #if ENABLE(WEBGL)
50 #include "WebGLBuffer.h"
51 #include "WebGLFramebuffer.h"
52 #include "WebGLProgram.h"
53 #include "WebGLRenderbuffer.h"
54 #include "WebGLShader.h"
55 #include "WebGLTexture.h"
56 #include "WebGLUniformLocation.h"
57 #endif
58
59 namespace WebCore {
60
61 typedef Variant<
62     CanvasDirection,
63     CanvasFillRule,
64     CanvasLineCap,
65     CanvasLineJoin,
66     CanvasTextAlign,
67     CanvasTextBaseline,
68     DOMMatrix2DInit,
69     Element*,
70     HTMLImageElement*,
71     ImageBitmap*,
72     ImageData*,
73     ImageSmoothingQuality,
74     Path2D*,
75 #if ENABLE(WEBGL)
76     WebGLBuffer*,
77     WebGLFramebuffer*,
78     WebGLProgram*,
79     WebGLRenderbuffer*,
80     WebGLShader*,
81     WebGLTexture*,
82     WebGLUniformLocation*,
83 #endif
84     RefPtr<ArrayBuffer>,
85     RefPtr<ArrayBufferView>,
86     RefPtr<CanvasGradient>,
87     RefPtr<CanvasPattern>,
88     RefPtr<Float32Array>,
89     RefPtr<HTMLCanvasElement>,
90     RefPtr<HTMLImageElement>,
91 #if ENABLE(VIDEO)
92     RefPtr<HTMLVideoElement>,
93 #endif
94     RefPtr<ImageBitmap>,
95 #if ENABLE(CSS_PAINTING_API)
96     RefPtr<TypedOMCSSImageValue>,
97 #endif
98     RefPtr<ImageData>,
99     RefPtr<Int32Array>,
100     Vector<float>,
101     Vector<int>,
102     String,
103     double,
104     float,
105     int64_t,
106     uint32_t,
107     int32_t,
108     uint8_t,
109     bool
110 > RecordCanvasActionVariant;
111
112 } // namespace WebCore