2 * Copyright (C) 2008 Apple Inc. All Rights Reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
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.
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
28 #include "HTMLElementFactory.cpp"
29 #include "HTMLEntityTable.cpp"
30 #include "JSAbstractWorker.cpp"
31 #include "JSArrayBuffer.cpp"
32 #include "JSArrayBufferView.cpp"
34 #include "JSBarInfo.cpp"
35 #include "JSBeforeLoadEvent.cpp"
37 #include "JSBlobBuilder.cpp"
38 #include "JSCanvasGradient.cpp"
39 #include "JSCanvasPattern.cpp"
40 #include "JSCanvasRenderingContext.cpp"
41 #include "JSCanvasRenderingContext2D.cpp"
43 #include "JSWebGLRenderingContext.cpp"
45 #include "JSCDATASection.cpp"
46 #include "JSCharacterData.cpp"
47 #include "JSClientRect.cpp"
48 #include "JSClientRectList.cpp"
49 #include "JSClipboard.cpp"
50 #include "JSComment.cpp"
51 #include "JSCompositionEvent.cpp"
52 #include "JSConsole.cpp"
53 #include "JSCoordinates.cpp"
54 #include "JSCounter.cpp"
55 #include "JSCrypto.cpp"
56 #include "JSCSSCharsetRule.cpp"
57 #include "JSCSSFontFaceRule.cpp"
58 #include "JSCSSImportRule.cpp"
59 #include "JSCSSMediaRule.cpp"
60 #include "JSCSSPageRule.cpp"
61 #include "JSCSSPrimitiveValue.cpp"
62 #include "JSCSSRule.cpp"
63 #include "JSCSSRuleList.cpp"
64 #include "JSCSSStyleDeclaration.cpp"
65 #include "JSCSSStyleRule.cpp"
66 #include "JSCSSStyleSheet.cpp"
67 #include "JSCSSValue.cpp"
68 #include "JSCSSValueList.cpp"
69 #include "JSCustomEvent.cpp"
70 #include "JSDatabase.cpp"
71 #include "JSDatabaseCallback.cpp"
72 #include "JSDatabaseSync.cpp"
73 #include "JSDataGridColumn.cpp"
74 #include "JSDataGridColumnList.cpp"
75 #include "JSDataView.cpp"
76 #include "JSDedicatedWorkerContext.cpp"
77 #include "JSDeviceOrientationEvent.cpp"
78 #include "JSDirectoryEntry.cpp"
79 #include "JSDirectoryEntrySync.cpp"
80 #include "JSDirectoryReader.cpp"
81 #include "JSDirectoryReaderSync.cpp"
82 #include "JSDocument.cpp"
83 #include "JSDocumentFragment.cpp"
84 #include "JSDocumentType.cpp"
85 #include "JSDOMApplicationCache.cpp"
86 #include "JSDOMCoreException.cpp"
87 #include "JSDOMFileSystem.cpp"
88 #include "JSDOMFileSystemSync.cpp"
89 #include "JSDOMFormData.cpp"
90 #include "JSDOMImplementation.cpp"
91 #include "JSDOMMimeType.cpp"
92 #include "JSDOMMimeTypeArray.cpp"
93 #include "JSDOMParser.cpp"
94 #include "JSDOMPlugin.cpp"
95 #include "JSDOMPluginArray.cpp"
96 #include "JSDOMSelection.cpp"
97 #include "JSDOMSettableTokenList.cpp"
98 #include "JSDOMStringList.cpp"
99 #include "JSDOMStringMap.cpp"
100 #include "JSDOMTokenList.cpp"
101 #include "JSDOMURL.cpp"
102 #include "JSDOMWindow.cpp"
103 #include "JSElement.cpp"
104 #include "JSEntity.cpp"
105 #include "JSEntityReference.cpp"
106 #include "JSEntriesCallback.cpp"
107 #include "JSEntry.cpp"
108 #include "JSEntryArray.cpp"
109 #include "JSEntryArraySync.cpp"
110 #include "JSEntrySync.cpp"
111 #include "JSEntryCallback.cpp"
112 #include "JSErrorCallback.cpp"
113 #include "JSErrorEvent.cpp"
114 #include "JSEvent.cpp"
115 #include "JSEventException.cpp"
116 #include "JSEventSource.cpp"
117 #include "JSFile.cpp"
118 #include "JSFileCallback.cpp"
119 #include "JSFileEntry.cpp"
120 #include "JSFileEntrySync.cpp"
121 #include "JSFileError.cpp"
122 #include "JSFileException.cpp"
123 #include "JSFileList.cpp"
124 #include "JSFileReader.cpp"
125 #include "JSFileReaderSync.cpp"
126 #include "JSFileSystemCallback.cpp"
127 #include "JSFileWriter.cpp"
128 #include "JSFileWriterCallback.cpp"
129 #include "JSFileWriterSync.cpp"
130 #include "JSFlags.cpp"
131 #include "JSFloat32Array.cpp"
132 #include "JSGeolocation.cpp"
133 #include "JSGeoposition.cpp"
134 #include "JSHashChangeEvent.cpp"
135 #include "JSHistory.cpp"
136 #include "JSHTMLAllCollection.cpp"
137 #include "JSHTMLAnchorElement.cpp"
138 #include "JSHTMLAppletElement.cpp"
139 #include "JSHTMLAreaElement.cpp"
140 #include "JSHTMLAudioElement.cpp"
141 #include "JSHTMLBaseElement.cpp"
142 #include "JSHTMLBaseFontElement.cpp"
143 #include "JSHTMLBlockquoteElement.cpp"
144 #include "JSHTMLBodyElement.cpp"
145 #include "JSHTMLBRElement.cpp"
146 #include "JSHTMLButtonElement.cpp"
147 #include "JSHTMLCanvasElement.cpp"
148 #include "JSHTMLCollection.cpp"
149 #include "JSHTMLDataGridElement.cpp"
150 #include "JSHTMLDataGridCellElement.cpp"
151 #include "JSHTMLDataGridColElement.cpp"
152 #include "JSHTMLDataGridRowElement.cpp"
153 #include "JSHTMLDataListElement.cpp"
154 #include "JSHTMLDetailsElement.cpp"
155 #include "JSHTMLDirectoryElement.cpp"
156 #include "JSHTMLDivElement.cpp"
157 #include "JSHTMLDListElement.cpp"
158 #include "JSHTMLDocument.cpp"
159 #include "JSHTMLElement.cpp"
160 #include "JSHTMLElementWrapperFactory.cpp"
161 #include "JSHTMLEmbedElement.cpp"
162 #include "JSHTMLFieldSetElement.cpp"
163 #include "JSHTMLFontElement.cpp"
164 #include "JSHTMLFormElement.cpp"
165 #include "JSHTMLFrameElement.cpp"
166 #include "JSHTMLFrameSetElement.cpp"
167 #include "JSHTMLHeadElement.cpp"
168 #include "JSHTMLHeadingElement.cpp"
169 #include "JSHTMLHRElement.cpp"
170 #include "JSHTMLHtmlElement.cpp"
171 #include "JSHTMLIFrameElement.cpp"
172 #include "JSHTMLImageElement.cpp"
173 #include "JSHTMLInputElement.cpp"
174 #include "JSHTMLIsIndexElement.cpp"
175 #include "JSHTMLKeygenElement.cpp"
176 #include "JSHTMLLabelElement.cpp"
177 #include "JSHTMLLegendElement.cpp"
178 #include "JSHTMLLIElement.cpp"
179 #include "JSHTMLLinkElement.cpp"
180 #include "JSHTMLMapElement.cpp"
181 #include "JSHTMLMarqueeElement.cpp"
182 #include "JSHTMLMediaElement.cpp"
183 #include "JSHTMLMenuElement.cpp"
184 #include "JSHTMLMetaElement.cpp"
185 #include "JSHTMLMeterElement.cpp"
186 #include "JSHTMLModElement.cpp"
187 #include "JSHTMLObjectElement.cpp"
188 #include "JSHTMLOListElement.cpp"
189 #include "JSHTMLOptGroupElement.cpp"
190 #include "JSHTMLOptionElement.cpp"
191 #include "JSHTMLOptionsCollection.cpp"
192 #include "JSHTMLOutputElement.cpp"
193 #include "JSHTMLParagraphElement.cpp"
194 #include "JSHTMLParamElement.cpp"
195 #include "JSHTMLPreElement.cpp"
196 #include "JSHTMLProgressElement.cpp"
197 #include "JSHTMLQuoteElement.cpp"
198 #include "JSHTMLScriptElement.cpp"
199 #include "JSHTMLSelectElement.cpp"
200 #include "JSHTMLSourceElement.cpp"
201 #include "JSHTMLStyleElement.cpp"
202 #include "JSHTMLTableCaptionElement.cpp"
203 #include "JSHTMLTableCellElement.cpp"
204 #include "JSHTMLTableColElement.cpp"
205 #include "JSHTMLTableElement.cpp"
206 #include "JSHTMLTableRowElement.cpp"
207 #include "JSHTMLTableSectionElement.cpp"
208 #include "JSHTMLTextAreaElement.cpp"
209 #include "JSHTMLTitleElement.cpp"
210 #include "JSHTMLUListElement.cpp"
211 #include "JSHTMLVideoElement.cpp"
212 #include "JSIDBAny.cpp"
213 #include "JSIDBCursor.cpp"
214 #include "JSIDBDatabase.cpp"
215 #include "JSIDBDatabaseError.cpp"
216 #include "JSIDBDatabaseException.cpp"
217 #include "JSIDBErrorEvent.cpp"
218 #include "JSIDBEvent.cpp"
219 #include "JSIDBFactory.cpp"
220 #include "JSIDBIndex.cpp"
221 #include "JSIDBKey.cpp"
222 #include "JSIDBKeyRange.cpp"
223 #include "JSIDBObjectStore.cpp"
224 #include "JSIDBRequest.cpp"
225 #include "JSIDBSuccessEvent.cpp"
226 #include "JSIDBTransaction.cpp"
227 #include "JSImageData.cpp"
228 #include "JSInjectedScriptHost.cpp"
229 #include "JSInspectorFrontendHost.cpp"
230 #include "JSInt16Array.cpp"
231 #include "JSInt32Array.cpp"
232 #include "JSInt8Array.cpp"
233 #include "JSJavaScriptCallFrame.cpp"
234 #include "JSKeyboardEvent.cpp"
235 #include "JSLocation.cpp"
236 #include "JSMediaError.cpp"
237 #include "JSMediaList.cpp"
238 #include "JSMediaQueryList.cpp"
239 #include "JSMemoryInfo.cpp"
240 #include "JSMessageChannel.cpp"
241 #include "JSMessageEvent.cpp"
242 #include "JSMessagePort.cpp"
243 #include "JSMetadata.cpp"
244 #include "JSMetadataCallback.cpp"
245 #include "JSMouseEvent.cpp"
246 #include "JSMutationEvent.cpp"
247 #include "JSNamedNodeMap.cpp"
248 #include "JSNavigator.cpp"
249 #include "JSNode.cpp"
250 #include "JSNodeFilter.cpp"
251 #include "JSNodeIterator.cpp"
252 #include "JSNodeList.cpp"
253 #include "JSNotation.cpp"
254 #include "JSNotificationCenter.cpp"
255 #include "JSNotification.cpp"
256 #include "JSOverflowEvent.cpp"
257 #include "JSPageTransitionEvent.cpp"
258 #include "JSPerformance.cpp"
259 #include "JSPerformanceNavigation.cpp"
260 #include "JSPerformanceTiming.cpp"
261 #include "JSPopStateEvent.cpp"
262 #include "JSPositionError.cpp"
263 #include "JSProcessingInstruction.cpp"
264 #include "JSProgressEvent.cpp"
265 #include "JSRange.cpp"
266 #include "JSRangeException.cpp"
267 #include "JSRect.cpp"
268 #include "JSRGBColor.cpp"
269 #include "JSScreen.cpp"
270 #include "JSScriptProfile.cpp"
271 #include "JSScriptProfileNode.cpp"
272 #include "JSSharedWorker.cpp"
273 #include "JSSharedWorkerContext.cpp"
274 #include "JSSQLError.cpp"
275 #include "JSSQLException.cpp"
276 #include "JSSQLResultSet.cpp"
277 #include "JSSQLResultSetRowList.cpp"
278 #include "JSSQLStatementCallback.cpp"
279 #include "JSSQLStatementErrorCallback.cpp"
280 #include "JSSQLTransaction.cpp"
281 #include "JSSQLTransactionCallback.cpp"
282 #include "JSSQLTransactionErrorCallback.cpp"
283 #include "JSSQLTransactionSync.cpp"
284 #include "JSSQLTransactionSyncCallback.cpp"
285 #include "JSStorage.cpp"
286 #include "JSStorageEvent.cpp"
287 #include "JSStyleMedia.cpp"
288 #include "JSStyleSheet.cpp"
289 #include "JSStyleSheetList.cpp"
290 #include "JSSVGAElement.cpp"
291 #include "JSSVGAltGlyphElement.cpp"
292 #include "JSSVGAngle.cpp"
293 #include "JSSVGAnimateColorElement.cpp"
294 #include "JSSVGAnimatedAngle.cpp"
295 #include "JSSVGAnimatedBoolean.cpp"
296 #include "JSSVGAnimatedEnumeration.cpp"
297 #include "JSSVGAnimatedInteger.cpp"
298 #include "JSSVGAnimatedLength.cpp"
299 #include "JSSVGAnimatedLengthList.cpp"
300 #include "JSSVGAnimatedNumber.cpp"
301 #include "JSSVGAnimatedNumberList.cpp"
302 #include "JSSVGAnimatedPreserveAspectRatio.cpp"
303 #include "JSSVGAnimatedRect.cpp"
304 #include "JSSVGAnimatedString.cpp"
305 #include "JSSVGAnimatedTransformList.cpp"
306 #include "JSSVGAnimateElement.cpp"
307 #include "JSSVGAnimateTransformElement.cpp"
308 #include "JSSVGAnimationElement.cpp"
309 #include "JSSVGCircleElement.cpp"
310 #include "JSSVGClipPathElement.cpp"
311 #include "JSSVGColor.cpp"
312 #include "JSSVGComponentTransferFunctionElement.cpp"
313 #include "JSSVGCursorElement.cpp"
314 #include "JSSVGDefsElement.cpp"
315 #include "JSSVGDescElement.cpp"
316 #include "JSSVGDocument.cpp"
317 #include "JSSVGElement.cpp"
318 #include "JSSVGElementInstance.cpp"
319 #include "JSSVGElementInstanceList.cpp"
320 #include "JSSVGEllipseElement.cpp"
321 #include "JSSVGException.cpp"
322 #include "JSSVGFEBlendElement.cpp"
323 #include "JSSVGFEColorMatrixElement.cpp"
324 #include "JSSVGFEComponentTransferElement.cpp"
325 #include "JSSVGFECompositeElement.cpp"
326 #include "JSSVGFEConvolveMatrixElement.cpp"
327 #include "JSSVGFEDiffuseLightingElement.cpp"
328 #include "JSSVGFEDisplacementMapElement.cpp"
329 #include "JSSVGFEDistantLightElement.cpp"
330 #include "JSSVGFEFloodElement.cpp"
331 #include "JSSVGFEFuncAElement.cpp"
332 #include "JSSVGFEFuncBElement.cpp"
333 #include "JSSVGFEFuncGElement.cpp"
334 #include "JSSVGFEFuncRElement.cpp"
335 #include "JSSVGFEGaussianBlurElement.cpp"
336 #include "JSSVGFEImageElement.cpp"
337 #include "JSSVGFEMergeElement.cpp"
338 #include "JSSVGFEMergeNodeElement.cpp"
339 #include "JSSVGFEMorphologyElement.cpp"
340 #include "JSSVGFEOffsetElement.cpp"
341 #include "JSSVGFEPointLightElement.cpp"
342 #include "JSSVGFESpecularLightingElement.cpp"
343 #include "JSSVGFESpotLightElement.cpp"
344 #include "JSSVGFETileElement.cpp"
345 #include "JSSVGFETurbulenceElement.cpp"
346 #include "JSSVGFilterElement.cpp"
347 #include "JSSVGFontElement.cpp"
348 #include "JSSVGFontFaceElement.cpp"
349 #include "JSSVGFontFaceFormatElement.cpp"
350 #include "JSSVGFontFaceNameElement.cpp"
351 #include "JSSVGFontFaceSrcElement.cpp"
352 #include "JSSVGFontFaceUriElement.cpp"
353 #include "JSSVGForeignObjectElement.cpp"
354 #include "JSSVGGElement.cpp"
355 #include "JSSVGGlyphElement.cpp"
356 #include "JSSVGGradientElement.cpp"
357 #include "JSSVGHKernElement.cpp"
358 #include "JSSVGImageElement.cpp"
359 #include "JSSVGLength.cpp"
360 #include "JSSVGLengthList.cpp"
361 #include "JSSVGLinearGradientElement.cpp"
362 #include "JSSVGLineElement.cpp"
363 #include "JSSVGMarkerElement.cpp"
364 #include "JSSVGMaskElement.cpp"
365 #include "JSSVGMatrix.cpp"
366 #include "JSSVGMetadataElement.cpp"
367 #include "JSSVGMissingGlyphElement.cpp"
368 #include "JSSVGNumber.cpp"
369 #include "JSSVGNumberList.cpp"
370 #include "JSSVGPaint.cpp"
371 #include "JSSVGPathElement.cpp"
372 #include "JSSVGPathSeg.cpp"
373 #include "JSSVGPathSegArcAbs.cpp"
374 #include "JSSVGPathSegArcRel.cpp"
375 #include "JSSVGPathSegClosePath.cpp"
376 #include "JSSVGPathSegCurvetoCubicAbs.cpp"
377 #include "JSSVGPathSegCurvetoCubicRel.cpp"
378 #include "JSSVGPathSegCurvetoCubicSmoothAbs.cpp"
379 #include "JSSVGPathSegCurvetoCubicSmoothRel.cpp"
380 #include "JSSVGPathSegCurvetoQuadraticAbs.cpp"
381 #include "JSSVGPathSegCurvetoQuadraticRel.cpp"
382 #include "JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp"
383 #include "JSSVGPathSegCurvetoQuadraticSmoothRel.cpp"
384 #include "JSSVGPathSegLinetoAbs.cpp"
385 #include "JSSVGPathSegLinetoHorizontalAbs.cpp"
386 #include "JSSVGPathSegLinetoHorizontalRel.cpp"
387 #include "JSSVGPathSegLinetoRel.cpp"
388 #include "JSSVGPathSegLinetoVerticalAbs.cpp"
389 #include "JSSVGPathSegLinetoVerticalRel.cpp"
390 #include "JSSVGPathSegList.cpp"
391 #include "JSSVGPathSegMovetoAbs.cpp"
392 #include "JSSVGPathSegMovetoRel.cpp"
393 #include "JSSVGPatternElement.cpp"
394 #include "JSSVGPoint.cpp"
395 #include "JSSVGPointList.cpp"
396 #include "JSSVGPolygonElement.cpp"
397 #include "JSSVGPolylineElement.cpp"
398 #include "JSSVGPreserveAspectRatio.cpp"
399 #include "JSSVGRadialGradientElement.cpp"
400 #include "JSSVGRect.cpp"
401 #include "JSSVGRectElement.cpp"
402 #include "JSSVGRenderingIntent.cpp"
403 #include "JSSVGScriptElement.cpp"
404 #include "JSSVGSetElement.cpp"
405 #include "JSSVGStopElement.cpp"
406 #include "JSSVGStringList.cpp"
407 #include "JSSVGStyleElement.cpp"
408 #include "JSSVGSVGElement.cpp"
409 #include "JSSVGSwitchElement.cpp"
410 #include "JSSVGSymbolElement.cpp"
411 #include "JSSVGTextContentElement.cpp"
412 #include "JSSVGTextElement.cpp"
413 #include "JSSVGTextPathElement.cpp"
414 #include "JSSVGTextPositioningElement.cpp"
415 #include "JSSVGTitleElement.cpp"
416 #include "JSSVGTransform.cpp"
417 #include "JSSVGTransformList.cpp"
418 #include "JSSVGTRefElement.cpp"
419 #include "JSSVGTSpanElement.cpp"
420 #include "JSSVGUnitTypes.cpp"
421 #include "JSSVGUseElement.cpp"
422 #include "JSSVGViewElement.cpp"
423 #include "JSSVGVKernElement.cpp"
424 #include "JSSVGZoomEvent.cpp"
425 #include "JSText.cpp"
426 #include "JSTextEvent.cpp"
427 #include "JSTextMetrics.cpp"
428 #include "JSTimeRanges.cpp"
429 #include "JSTouch.cpp"
430 #include "JSTouchEvent.cpp"
431 #include "JSTouchList.cpp"
432 #include "JSTreeWalker.cpp"
433 #include "JSUint16Array.cpp"
434 #include "JSUint32Array.cpp"
435 #include "JSUint8Array.cpp"
436 #include "JSUIEvent.cpp"
437 #include "JSValidityState.cpp"
438 #include "JSWebKitAnimationEvent.cpp"
439 #include "JSWebKitCSSKeyframeRule.cpp"
440 #include "JSWebKitCSSKeyframesRule.cpp"
441 #include "JSWebKitCSSTransformValue.cpp"
442 #include "JSWebKitCSSMatrix.cpp"
443 #include "JSWebKitPoint.cpp"
444 #include "JSWebKitTransitionEvent.cpp"
445 #include "JSWebSocket.cpp"
446 #include "JSWheelEvent.cpp"
447 #include "JSWorker.cpp"
448 #include "JSWorkerContext.cpp"
449 #include "JSWorkerLocation.cpp"
450 #include "JSWorkerNavigator.cpp"
451 #include "JSXMLHttpRequest.cpp"
452 #include "JSXMLHttpRequestException.cpp"
453 #include "JSXMLHttpRequestProgressEvent.cpp"
454 #include "JSXMLHttpRequestUpload.cpp"
455 #include "JSXMLSerializer.cpp"
456 #include "JSXPathEvaluator.cpp"
457 #include "JSXPathException.cpp"
458 #include "JSXPathExpression.cpp"
459 #include "JSXPathNSResolver.cpp"
460 #include "JSXPathResult.cpp"
461 #include "JSXSLTProcessor.cpp"
462 #include "WMLElementFactory.cpp"
463 #include "WMLNames.cpp"
464 #include "UserAgentStyleSheetsData.cpp"
466 // On MSVC, including StaticConstructors.h causes all global objects not to be
467 // automatically initialized by the C runtime. This is useful in some specific
468 // cases (e.g., the *Names.cpp files), but can be dangerous in others. We don't
469 // want StaticConstructors.h to "pollute" all the source files we #include here
470 // accidentally, so we'll throw an error whenever any file includes it.
471 #ifdef StaticConstructors_h
472 #error Do not include any file in DerivedSources.cpp that includes StaticConstructors.h