[V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
[WebKit-https.git] / WebCore / bindings / v8 / V8Index.cpp
1 /*
2  * Copyright (C) 2008, 2009 Google 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 are
6  * met:
7  *
8  *     * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *     * Redistributions in binary form must reproduce the above
11  * copyright notice, this list of conditions and the following disclaimer
12  * in the documentation and/or other materials provided with the
13  * distribution.
14  *     * Neither the name of Google Inc. nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30
31 #include "config.h"
32 #include "V8Index.h"
33
34 #include "V8Attr.h"
35 #include "V8BarInfo.h"
36 #include "V8CanvasRenderingContext.h"
37 #include "V8CanvasRenderingContext2D.h"
38 #include "V8CanvasGradient.h"
39 #include "V8CanvasPattern.h"
40 #include "V8CanvasPixelArray.h"
41 #include "V8CDATASection.h"
42 #include "V8CharacterData.h"
43 #include "V8ClientRect.h"
44 #include "V8ClientRectList.h"
45 #include "V8Clipboard.h"
46 #include "V8Comment.h"
47 #include "V8Console.h"
48 #include "V8Counter.h"
49 #include "V8CSSStyleDeclaration.h"
50 #include "V8CSSRule.h"
51 #include "V8CSSStyleRule.h"
52 #include "V8CSSCharsetRule.h"
53 #include "V8CSSImportRule.h"
54 #include "V8CSSMediaRule.h"
55 #include "V8CSSFontFaceRule.h"
56 #include "V8CSSPageRule.h"
57 #include "V8CSSRuleList.h"
58 #include "V8CSSPrimitiveValue.h"
59 #include "V8CSSValue.h"
60 #include "V8CSSValueList.h"
61 #include "V8CSSStyleSheet.h"
62 #include "V8CSSVariablesDeclaration.h"
63 #include "V8CSSVariablesRule.h"
64 #include "V8DataGridColumn.h"
65 #include "V8DataGridColumnList.h"
66 #include "V8Database.h"
67 #include "V8Document.h"
68 #include "V8DocumentFragment.h"
69 #include "V8DocumentType.h"
70 #include "V8Element.h"
71 #include "V8Entity.h"
72 #include "V8EntityReference.h"
73 #include "V8File.h"
74 #include "V8FileList.h"
75 #include "V8History.h"
76 #include "V8HTMLAllCollection.h"
77 #include "V8HTMLCanvasElement.h"
78 #include "V8HTMLCollection.h"
79 #include "V8HTMLDocument.h"
80 #include "V8HTMLElement.h"
81 #include "V8HTMLOptionsCollection.h"
82 #include "V8HTMLAnchorElement.h"
83 #include "V8HTMLAppletElement.h"
84 #include "V8HTMLAreaElement.h"
85 #include "V8HTMLBaseElement.h"
86 #include "V8HTMLBaseFontElement.h"
87 #include "V8HTMLBlockquoteElement.h"
88 #include "V8HTMLBodyElement.h"
89 #include "V8HTMLBRElement.h"
90 #include "V8HTMLButtonElement.h"
91 #include "V8HTMLCanvasElement.h"
92 #include "V8HTMLModElement.h"
93 #include "V8HTMLDataGridCellElement.h"
94 #include "V8HTMLDataGridColElement.h"
95 #include "V8HTMLDataGridElement.h"
96 #include "V8HTMLDataGridRowElement.h"
97 #include "V8HTMLDirectoryElement.h"
98 #include "V8HTMLDivElement.h"
99 #include "V8HTMLDListElement.h"
100 #include "V8HTMLEmbedElement.h"
101 #include "V8HTMLFieldSetElement.h"
102 #include "V8HTMLFormElement.h"
103 #include "V8HTMLFontElement.h"
104 #include "V8HTMLFrameElement.h"
105 #include "V8HTMLFrameSetElement.h"
106 #include "V8HTMLHeadingElement.h"
107 #include "V8HTMLHeadElement.h"
108 #include "V8HTMLHRElement.h"
109 #include "V8HTMLHtmlElement.h"
110 #include "V8HTMLIFrameElement.h"
111 #include "V8HTMLImageElement.h"
112 #include "V8HTMLInputElement.h"
113 #include "V8HTMLIsIndexElement.h"
114 #include "V8HTMLLabelElement.h"
115 #include "V8HTMLLegendElement.h"
116 #include "V8HTMLLIElement.h"
117 #include "V8HTMLLinkElement.h"
118 #include "V8HTMLMapElement.h"
119 #include "V8HTMLMarqueeElement.h"
120 #include "V8HTMLMenuElement.h"
121 #include "V8HTMLMetaElement.h"
122 #include "V8HTMLObjectElement.h"
123 #include "V8HTMLOListElement.h"
124 #include "V8HTMLOptGroupElement.h"
125 #include "V8HTMLOptionElement.h"
126 #include "V8HTMLParagraphElement.h"
127 #include "V8HTMLParamElement.h"
128 #include "V8HTMLPreElement.h"
129 #include "V8HTMLQuoteElement.h"
130 #include "V8HTMLScriptElement.h"
131 #include "V8HTMLSelectElement.h"
132 #include "V8HTMLStyleElement.h"
133 #include "V8HTMLTableCaptionElement.h"
134 #include "V8HTMLTableColElement.h"
135 #include "V8HTMLTableElement.h"
136 #include "V8HTMLTableSectionElement.h"
137 #include "V8HTMLTableCellElement.h"
138 #include "V8HTMLTableRowElement.h"
139 #include "V8HTMLTextAreaElement.h"
140 #include "V8HTMLTitleElement.h"
141 #include "V8HTMLUListElement.h"
142 #include "V8ImageData.h"
143 #include "V8InspectorBackend.h"
144 #include "V8Media.h"
145 #include "V8MediaList.h"
146 #include "V8MessageChannel.h"
147 #include "V8MessageEvent.h"
148 #include "V8MessagePort.h"
149 #include "V8NamedNodeMap.h"
150 #include "V8Node.h"
151 #include "V8NodeList.h"
152 #include "V8NodeFilter.h"
153 #include "V8Notation.h"
154 #include "V8ProcessingInstruction.h"
155 #include "V8ProgressEvent.h"
156 #include "V8StyleSheet.h"
157 #include "V8Text.h"
158 #include "V8TextEvent.h"
159 #include "V8DOMCoreException.h"
160 #include "V8DOMParser.h"
161 #include "V8DOMWindow.h"
162 #include "V8ErrorEvent.h"
163 #include "V8Event.h"
164 #include "V8EventException.h"
165 #include "V8KeyboardEvent.h"
166 #include "V8MouseEvent.h"
167 #include "V8ValidityState.h"
168 #include "V8WebKitAnimationEvent.h"
169 #include "V8WebKitCSSKeyframeRule.h"
170 #include "V8WebKitCSSKeyframesRule.h"
171 #include "V8WebKitCSSMatrix.h"
172 #include "V8WebKitCSSTransformValue.h"
173 #include "V8WebKitPoint.h"
174 #include "V8WebKitTransitionEvent.h"
175 #include "V8WheelEvent.h"
176 #include "V8UIEvent.h"
177 #include "V8MutationEvent.h"
178 #include "V8OverflowEvent.h"
179 #include "V8Location.h"
180 #include "V8Screen.h"
181 #include "V8DOMSelection.h"
182 #include "V8Navigator.h"
183 #include "V8MimeType.h"
184 #include "V8MimeTypeArray.h"
185 #include "V8Plugin.h"
186 #include "V8PluginArray.h"
187 #include "V8Range.h"
188 #include "V8RangeException.h"
189 #include "V8Rect.h"
190 #include "V8SQLError.h"
191 #include "V8SQLResultSet.h"
192 #include "V8SQLResultSetRowList.h"
193 #include "V8SQLTransaction.h"
194 #include "V8NodeIterator.h"
195 #include "V8TextMetrics.h"
196 #include "V8TreeWalker.h"
197 #include "V8StyleSheetList.h"
198 #include "V8DOMImplementation.h"
199 #include "V8XPathResult.h"
200 #include "V8XPathException.h"
201 #include "V8XPathExpression.h"
202 #include "V8XPathNSResolver.h"
203 #include "V8XMLHttpRequest.h"
204 #include "V8XMLHttpRequestException.h"
205 #include "V8XMLHttpRequestProgressEvent.h"
206 #include "V8XMLHttpRequestUpload.h"
207 #include "V8XMLSerializer.h"
208 #include "V8XPathEvaluator.h"
209 #include "V8XSLTProcessor.h"
210 #include "V8RGBColor.h"
211
212 #if ENABLE(OFFLINE_WEB_APPLICATIONS)
213 #include "V8DOMApplicationCache.h"
214 #endif
215
216 #if ENABLE(DOM_STORAGE)
217 #include "V8Storage.h"
218 #include "V8StorageEvent.h"
219 #endif
220
221 #if ENABLE(SVG_ANIMATION)
222 #include "V8SVGAnimateColorElement.h"
223 #include "V8SVGAnimateElement.h"
224 #include "V8SVGAnimateTransformElement.h"
225 #include "V8SVGAnimationElement.h"
226 #include "V8SVGSetElement.h"
227 #endif
228
229 #if ENABLE(SVG_FILTERS)
230 #include "V8SVGComponentTransferFunctionElement.h"
231 #include "V8SVGFEBlendElement.h"
232 #include "V8SVGFEColorMatrixElement.h"
233 #include "V8SVGFEComponentTransferElement.h"
234 #include "V8SVGFECompositeElement.h"
235 #include "V8SVGFEDiffuseLightingElement.h"
236 #include "V8SVGFEDisplacementMapElement.h"
237 #include "V8SVGFEDistantLightElement.h"
238 #include "V8SVGFEFloodElement.h"
239 #include "V8SVGFEFuncAElement.h"
240 #include "V8SVGFEFuncBElement.h"
241 #include "V8SVGFEFuncGElement.h"
242 #include "V8SVGFEFuncRElement.h"
243 #include "V8SVGFEGaussianBlurElement.h"
244 #include "V8SVGFEImageElement.h"
245 #include "V8SVGFEMergeElement.h"
246 #include "V8SVGFEMergeNodeElement.h"
247 #include "V8SVGFEOffsetElement.h"
248 #include "V8SVGFEPointLightElement.h"
249 #include "V8SVGFESpecularLightingElement.h"
250 #include "V8SVGFESpotLightElement.h"
251 #include "V8SVGFETileElement.h"
252 #include "V8SVGFETurbulenceElement.h"
253 #include "V8SVGFilterElement.h"
254 #endif
255
256 #if ENABLE(SVG_FONTS)
257 #include "V8SVGDefinitionSrcElement.h"
258 #include "V8SVGFontFaceElement.h"
259 #include "V8SVGFontFaceFormatElement.h"
260 #include "V8SVGFontFaceNameElement.h"
261 #include "V8SVGFontFaceSrcElement.h"
262 #include "V8SVGFontFaceUriElement.h"
263 #endif
264
265 #if ENABLE(SVG_FOREIGN_OBJECT)
266 #include "V8SVGForeignObjectElement.h"
267 #endif
268
269 #if ENABLE(SVG_USE)
270 #include "V8SVGUseElement.h"
271 #endif
272
273 #if ENABLE(SVG)
274 #include "V8SVGAElement.h"
275 #include "V8SVGAltGlyphElement.h"
276 #include "V8SVGCircleElement.h"
277 #include "V8SVGClipPathElement.h"
278 #include "V8SVGCursorElement.h"
279 #include "V8SVGDefsElement.h"
280 #include "V8SVGDescElement.h"
281 #include "V8SVGElement.h"
282 #include "V8SVGEllipseElement.h"
283 #include "V8SVGException.h"
284 #include "V8SVGGElement.h"
285 #include "V8SVGGlyphElement.h"
286 #include "V8SVGGradientElement.h"
287 #include "V8SVGImageElement.h"
288 #include "V8SVGLinearGradientElement.h"
289 #include "V8SVGLineElement.h"
290 #include "V8SVGMarkerElement.h"
291 #include "V8SVGMaskElement.h"
292 #include "V8SVGMetadataElement.h"
293 #include "V8SVGPathElement.h"
294 #include "V8SVGPatternElement.h"
295 #include "V8SVGPolygonElement.h"
296 #include "V8SVGPolylineElement.h"
297 #include "V8SVGRadialGradientElement.h"
298 #include "V8SVGRectElement.h"
299 #include "V8SVGScriptElement.h"
300 #include "V8SVGStopElement.h"
301 #include "V8SVGStyleElement.h"
302 #include "V8SVGSVGElement.h"
303 #include "V8SVGSwitchElement.h"
304 #include "V8SVGSymbolElement.h"
305 #include "V8SVGTextContentElement.h"
306 #include "V8SVGTextElement.h"
307 #include "V8SVGTextPathElement.h"
308 #include "V8SVGTextPositioningElement.h"
309 #include "V8SVGTitleElement.h"
310 #include "V8SVGTRefElement.h"
311 #include "V8SVGTSpanElement.h"
312 #include "V8SVGViewElement.h"
313 #include "V8SVGAngle.h"
314 #include "V8SVGAnimatedAngle.h"
315 #include "V8SVGAnimatedBoolean.h"
316 #include "V8SVGAnimatedEnumeration.h"
317 #include "V8SVGAnimatedInteger.h"
318 #include "V8SVGAnimatedLength.h"
319 #include "V8SVGAnimatedLengthList.h"
320 #include "V8SVGAnimatedNumber.h"
321 #include "V8SVGAnimatedNumberList.h"
322 #include "V8SVGAnimatedPoints.h"
323 #include "V8SVGAnimatedPreserveAspectRatio.h"
324 #include "V8SVGAnimatedRect.h"
325 #include "V8SVGAnimatedString.h"
326 #include "V8SVGAnimatedTransformList.h"
327 #include "V8SVGColor.h"
328 #include "V8SVGDocument.h"
329 #include "V8SVGElementInstance.h"
330 #include "V8SVGElementInstanceList.h"
331 #include "V8SVGLength.h"
332 #include "V8SVGLengthList.h"
333 #include "V8SVGMatrix.h"
334 #include "V8SVGNumber.h"
335 #include "V8SVGNumberList.h"
336 #include "V8SVGPaint.h"
337 #include "V8SVGPathSeg.h"
338 #include "V8SVGPathSegArcAbs.h"
339 #include "V8SVGPathSegArcRel.h"
340 #include "V8SVGPathSegClosePath.h"
341 #include "V8SVGPathSegCurvetoCubicAbs.h"
342 #include "V8SVGPathSegCurvetoCubicRel.h"
343 #include "V8SVGPathSegCurvetoCubicSmoothAbs.h"
344 #include "V8SVGPathSegCurvetoCubicSmoothRel.h"
345 #include "V8SVGPathSegCurvetoQuadraticAbs.h"
346 #include "V8SVGPathSegCurvetoQuadraticRel.h"
347 #include "V8SVGPathSegCurvetoQuadraticSmoothAbs.h"
348 #include "V8SVGPathSegCurvetoQuadraticSmoothRel.h"
349 #include "V8SVGPathSegLinetoAbs.h"
350 #include "V8SVGPathSegLinetoHorizontalAbs.h"
351 #include "V8SVGPathSegLinetoHorizontalRel.h"
352 #include "V8SVGPathSegLinetoRel.h"
353 #include "V8SVGPathSegLinetoVerticalAbs.h"
354 #include "V8SVGPathSegLinetoVerticalRel.h"
355 #include "V8SVGPathSegList.h"
356 #include "V8SVGPathSegMovetoAbs.h"
357 #include "V8SVGPathSegMovetoRel.h"
358 #include "V8SVGPoint.h"
359 #include "V8SVGPointList.h"
360 #include "V8SVGPreserveAspectRatio.h"
361 #include "V8SVGRect.h"
362 #include "V8SVGRenderingIntent.h"
363 #include "V8SVGStringList.h"
364 #include "V8SVGTransform.h"
365 #include "V8SVGTransformList.h"
366 #include "V8SVGUnitTypes.h"
367 #include "V8SVGURIReference.h"
368 #include "V8SVGZoomEvent.h"
369 #endif
370
371 #if ENABLE(VIDEO)
372 #include "V8HTMLAudioElement.h"
373 #include "V8HTMLMediaElement.h"
374 #include "V8HTMLSourceElement.h"
375 #include "V8HTMLVideoElement.h"
376 #include "V8MediaError.h"
377 #include "V8TimeRanges.h"
378 #endif
379
380 #if ENABLE(WORKERS)
381 #include "V8AbstractWorker.h"
382 #include "V8DedicatedWorkerContext.h"
383 #include "V8Worker.h"
384 #include "V8WorkerContext.h"
385 #include "V8WorkerLocation.h"
386 #include "V8WorkerNavigator.h"
387 #endif
388
389 #if ENABLE(NOTIFICATIONS)
390 #include "V8Notification.h"
391 #include "V8NotificationCenter.h"
392 #endif
393
394 #if ENABLE(SHARED_WORKERS)
395 #include "V8SharedWorker.h"
396 #endif
397
398 namespace WebCore {
399
400 FunctionTemplateFactory V8ClassIndex::GetFactory(V8WrapperType type)
401 {
402     switch (type) {
403 #define MAKE_CASE(type, name)\
404     case V8ClassIndex::type: return V8##name::GetTemplate;
405     WRAPPER_TYPES(MAKE_CASE)
406 #undef MAKE_CASE
407     default: return NULL;
408     }
409 }
410
411
412 #define MAKE_CACHE(type, name)\
413     static v8::Persistent<v8::FunctionTemplate> name##_cache_;
414     ALL_WRAPPER_TYPES(MAKE_CACHE)
415 #undef MAKE_CACHE
416
417
418 v8::Persistent<v8::FunctionTemplate>* V8ClassIndex::GetCache(V8WrapperType type)
419 {
420     switch (type) {
421 #define MAKE_CASE(type, name)\
422     case V8ClassIndex::type: return &name##_cache_;
423     ALL_WRAPPER_TYPES(MAKE_CASE)
424 #undef MAKE_CASE
425     default:
426         ASSERT(false);
427         return NULL;
428   }
429 }
430
431 }  // namespace WebCore