7750c603e7c7ab709b4f0ea58ac8e679f05d41d4
[WebKit.git] / Source / WebCore / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.10)
2
3 include(WebKitCommon)
4 include(target/TargetWTF)
5 include(target/TargetJavaScriptCore)
6 include(WebCoreMacros.cmake)
7 include(Headers.cmake)
8
9 set_property(DIRECTORY . PROPERTY FOLDER "WebCore")
10
11 add_subdirectory(PAL/pal)
12
13 if (PAL_LIBRARY_TYPE MATCHES STATIC)
14     add_definitions(-DSTATICALLY_LINKED_WITH_PAL=1)
15 endif ()
16
17 list(APPEND WebCore_UNIFIED_SOURCE_LIST_FILES
18     "Sources.txt"
19 )
20
21 set(WebCore_PRIVATE_INCLUDE_DIRECTORIES
22     "${CMAKE_BINARY_DIR}"
23     "${WebCore_DERIVED_SOURCES_DIR}"
24     "${WEBCORE_DIR}"
25     "${WEBCORE_DIR}/Modules/airplay"
26     "${WEBCORE_DIR}/Modules/applepay"
27     "${WEBCORE_DIR}/Modules/applepay/paymentrequest"
28     "${WEBCORE_DIR}/Modules/applicationmanifest"
29     "${WEBCORE_DIR}/Modules/async-clipboard"
30     "${WEBCORE_DIR}/Modules/beacon"
31     "${WEBCORE_DIR}/Modules/cache"
32     "${WEBCORE_DIR}/Modules/credentialmanagement"
33     "${WEBCORE_DIR}/Modules/encryptedmedia"
34     "${WEBCORE_DIR}/Modules/encryptedmedia/legacy"
35     "${WEBCORE_DIR}/Modules/entriesapi"
36     "${WEBCORE_DIR}/Modules/fetch"
37     "${WEBCORE_DIR}/Modules/geolocation"
38     "${WEBCORE_DIR}/Modules/highlight"
39     "${WEBCORE_DIR}/Modules/indexeddb"
40     "${WEBCORE_DIR}/Modules/indexeddb/client"
41     "${WEBCORE_DIR}/Modules/indexeddb/server"
42     "${WEBCORE_DIR}/Modules/indexeddb/shared"
43     "${WEBCORE_DIR}/Modules/mediacapabilities"
44     "${WEBCORE_DIR}/Modules/mediacontrols"
45     "${WEBCORE_DIR}/Modules/mediarecorder"
46     "${WEBCORE_DIR}/Modules/mediasession"
47     "${WEBCORE_DIR}/Modules/mediasource"
48     "${WEBCORE_DIR}/Modules/mediastream"
49     "${WEBCORE_DIR}/Modules/mediastream/libwebrtc"
50     "${WEBCORE_DIR}/Modules/navigatorcontentutils"
51     "${WEBCORE_DIR}/Modules/notifications"
52     "${WEBCORE_DIR}/Modules/paymentrequest"
53     "${WEBCORE_DIR}/Modules/plugins"
54     "${WEBCORE_DIR}/Modules/quota"
55     "${WEBCORE_DIR}/Modules/speech"
56     "${WEBCORE_DIR}/Modules/streams"
57     "${WEBCORE_DIR}/Modules/webaudio"
58     "${WEBCORE_DIR}/Modules/webauthn"
59     "${WEBCORE_DIR}/Modules/webauthn/cbor"
60     "${WEBCORE_DIR}/Modules/webauthn/fido"
61     "${WEBCORE_DIR}/Modules/webdatabase"
62     "${WEBCORE_DIR}/Modules/webdriver"
63     "${WEBCORE_DIR}/Modules/webgpu"
64     "${WEBCORE_DIR}/Modules/webgpu/WHLSL"
65     "${WEBCORE_DIR}/Modules/webgpu/WHLSL/AST"
66     "${WEBCORE_DIR}/Modules/websockets"
67     "${WEBCORE_DIR}/Modules/webxr"
68     "${WEBCORE_DIR}/accessibility"
69     "${WEBCORE_DIR}/accessibility/isolatedtree"
70     "${WEBCORE_DIR}/animation"
71     "${WEBCORE_DIR}/bindings"
72     "${WEBCORE_DIR}/bindings/js"
73     "${WEBCORE_DIR}/bridge"
74     "${WEBCORE_DIR}/bridge/c"
75     "${WEBCORE_DIR}/bridge/jsc"
76     "${WEBCORE_DIR}/contentextensions"
77     "${WEBCORE_DIR}/crypto"
78     "${WEBCORE_DIR}/crypto/algorithms"
79     "${WEBCORE_DIR}/crypto/keys"
80     "${WEBCORE_DIR}/crypto/parameters"
81     "${WEBCORE_DIR}/css"
82     "${WEBCORE_DIR}/css/parser"
83     "${WEBCORE_DIR}/css/typedom"
84     "${WEBCORE_DIR}/cssjit"
85     "${WEBCORE_DIR}/dom"
86     "${WEBCORE_DIR}/dom/messageports"
87     "${WEBCORE_DIR}/domjit"
88     "${WEBCORE_DIR}/editing"
89     "${WEBCORE_DIR}/fileapi"
90     "${WEBCORE_DIR}/history"
91     "${WEBCORE_DIR}/html"
92     "${WEBCORE_DIR}/html/canvas"
93     "${WEBCORE_DIR}/html/forms"
94     "${WEBCORE_DIR}/html/parser"
95     "${WEBCORE_DIR}/html/shadow"
96     "${WEBCORE_DIR}/html/track"
97     "${WEBCORE_DIR}/inspector"
98     "${WEBCORE_DIR}/inspector/agents"
99     "${WEBCORE_DIR}/inspector/agents/page"
100     "${WEBCORE_DIR}/inspector/agents/worker"
101     "${WEBCORE_DIR}/layout"
102     "${WEBCORE_DIR}/layout/blockformatting"
103     "${WEBCORE_DIR}/layout/displaytree"
104     "${WEBCORE_DIR}/layout/floats"
105     "${WEBCORE_DIR}/layout/inlineformatting"
106     "${WEBCORE_DIR}/layout/inlineformatting/text"
107     "${WEBCORE_DIR}/layout/integration"
108     "${WEBCORE_DIR}/layout/invalidation"
109     "${WEBCORE_DIR}/layout/layouttree"
110     "${WEBCORE_DIR}/layout/tableformatting"
111     "${WEBCORE_DIR}/loader"
112     "${WEBCORE_DIR}/loader/appcache"
113     "${WEBCORE_DIR}/loader/archive"
114     "${WEBCORE_DIR}/loader/archive/mhtml"
115     "${WEBCORE_DIR}/loader/cache"
116     "${WEBCORE_DIR}/loader/icon"
117     "${WEBCORE_DIR}/mathml"
118     "${WEBCORE_DIR}/page"
119     "${WEBCORE_DIR}/page/animation"
120     "${WEBCORE_DIR}/page/csp"
121     "${WEBCORE_DIR}/page/scrolling"
122     "${WEBCORE_DIR}/platform"
123     "${WEBCORE_DIR}/platform/animation"
124     "${WEBCORE_DIR}/platform/audio"
125     "${WEBCORE_DIR}/platform/encryptedmedia"
126     "${WEBCORE_DIR}/platform/gamepad"
127     "${WEBCORE_DIR}/platform/graphics"
128     "${WEBCORE_DIR}/platform/graphics/cpu/arm"
129     "${WEBCORE_DIR}/platform/graphics/cpu/arm/filters"
130     "${WEBCORE_DIR}/platform/graphics/displaylists"
131     "${WEBCORE_DIR}/platform/graphics/filters"
132     "${WEBCORE_DIR}/platform/graphics/iso"
133     "${WEBCORE_DIR}/platform/graphics/opentype"
134     "${WEBCORE_DIR}/platform/graphics/transforms"
135     "${WEBCORE_DIR}/platform/mediacapabilities"
136     "${WEBCORE_DIR}/platform/mediarecorder"
137     "${WEBCORE_DIR}/platform/mediasession"
138     "${WEBCORE_DIR}/platform/mediastream"
139     "${WEBCORE_DIR}/platform/mediastream/libwebrtc"
140     "${WEBCORE_DIR}/platform/mock"
141     "${WEBCORE_DIR}/platform/mock/mediasource"
142     "${WEBCORE_DIR}/platform/network"
143     "${WEBCORE_DIR}/platform/sql"
144     "${WEBCORE_DIR}/platform/text"
145     "${WEBCORE_DIR}/platform/xr"
146     "${WEBCORE_DIR}/plugins"
147     "${WEBCORE_DIR}/rendering"
148     "${WEBCORE_DIR}/rendering/line"
149     "${WEBCORE_DIR}/rendering/mathml"
150     "${WEBCORE_DIR}/rendering/shapes"
151     "${WEBCORE_DIR}/rendering/style"
152     "${WEBCORE_DIR}/rendering/svg"
153     "${WEBCORE_DIR}/rendering/updating"
154     "${WEBCORE_DIR}/replay"
155     "${WEBCORE_DIR}/storage"
156     "${WEBCORE_DIR}/style"
157     "${WEBCORE_DIR}/svg"
158     "${WEBCORE_DIR}/svg/animation"
159     "${WEBCORE_DIR}/svg/graphics"
160     "${WEBCORE_DIR}/svg/graphics/filters"
161     "${WEBCORE_DIR}/svg/properties"
162     "${WEBCORE_DIR}/websockets"
163     "${WEBCORE_DIR}/workers"
164     "${WEBCORE_DIR}/workers/service"
165     "${WEBCORE_DIR}/workers/service/context"
166     "${WEBCORE_DIR}/workers/service/server"
167     "${WEBCORE_DIR}/worklets"
168     "${WEBCORE_DIR}/xml"
169     "${WEBCORE_DIR}/xml/parser"
170 )
171
172 set(WebCore_IDL_INCLUDES
173     css
174     dom
175     fileapi
176     html
177     inspector
178     page
179     plugins
180     storage
181     svg
182     workers
183     xml
184
185     Modules/airplay
186     Modules/cache
187     Modules/credentialmanagement
188     Modules/encryptedmedia/legacy
189     Modules/entriesapi
190     Modules/fetch
191     Modules/geolocation
192     Modules/highlight
193     Modules/indexeddb
194     Modules/mediacapabilities
195     Modules/mediarecorder
196     Modules/mediasession
197     Modules/mediastream
198     Modules/notifications
199     Modules/paymentrequest
200     Modules/quota
201     Modules/speech
202     Modules/streams
203     Modules/webaudio
204     Modules/webdatabase
205     Modules/webgpu
206     Modules/websockets
207
208     bindings/js
209
210     css/typedom
211
212     html/canvas
213     html/shadow
214     html/track
215
216     loader/appcache
217 )
218
219 set(WebCore_NON_SVG_IDL_FILES
220     Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl
221
222     Modules/async-clipboard/Clipboard.idl
223     Modules/async-clipboard/ClipboardItem.idl
224     Modules/async-clipboard/NavigatorClipboard.idl
225
226     Modules/beacon/NavigatorBeacon.idl
227
228     Modules/cache/CacheQueryOptions.idl
229     Modules/cache/DOMCache.idl
230     Modules/cache/DOMCacheStorage.idl
231     Modules/cache/DOMWindowCaches.idl
232     Modules/cache/WorkerGlobalScopeCaches.idl
233
234     Modules/credentialmanagement/BasicCredential.idl
235     Modules/credentialmanagement/CredentialCreationOptions.idl
236     Modules/credentialmanagement/CredentialRequestOptions.idl
237     Modules/credentialmanagement/CredentialsContainer.idl
238     Modules/credentialmanagement/NavigatorCredentials.idl
239
240     Modules/entriesapi/DOMFileSystem.idl
241     Modules/entriesapi/ErrorCallback.idl
242     Modules/entriesapi/FileCallback.idl
243     Modules/entriesapi/FileSystemDirectoryEntry.idl
244     Modules/entriesapi/FileSystemDirectoryReader.idl
245     Modules/entriesapi/FileSystemEntriesCallback.idl
246     Modules/entriesapi/FileSystemEntry.idl
247     Modules/entriesapi/FileSystemEntryCallback.idl
248     Modules/entriesapi/FileSystemFileEntry.idl
249     Modules/entriesapi/HTMLInputElementEntriesAPI.idl
250
251     Modules/fetch/DOMWindowFetch.idl
252     Modules/fetch/FetchBody.idl
253     Modules/fetch/FetchHeaders.idl
254     Modules/fetch/FetchReferrerPolicy.idl
255     Modules/fetch/FetchRequest.idl
256     Modules/fetch/FetchRequestCache.idl
257     Modules/fetch/FetchRequestCredentials.idl
258     Modules/fetch/FetchRequestInit.idl
259     Modules/fetch/FetchRequestMode.idl
260     Modules/fetch/FetchRequestRedirect.idl
261     Modules/fetch/FetchResponse.idl
262     Modules/fetch/WorkerGlobalScopeFetch.idl
263
264     Modules/geolocation/Geolocation.idl
265     Modules/geolocation/GeolocationCoordinates.idl
266     Modules/geolocation/GeolocationPosition.idl
267     Modules/geolocation/GeolocationPositionError.idl
268     Modules/geolocation/NavigatorGeolocation.idl
269     Modules/geolocation/PositionCallback.idl
270     Modules/geolocation/PositionErrorCallback.idl
271     Modules/geolocation/PositionOptions.idl
272
273     Modules/highlight/HighlightMap.idl
274     Modules/highlight/HighlightRangeGroup.idl
275
276     Modules/indexeddb/DOMWindowIndexedDatabase.idl
277     Modules/indexeddb/IDBCursor.idl
278     Modules/indexeddb/IDBCursorDirection.idl
279     Modules/indexeddb/IDBCursorWithValue.idl
280     Modules/indexeddb/IDBDatabase.idl
281     Modules/indexeddb/IDBFactory.idl
282     Modules/indexeddb/IDBIndex.idl
283     Modules/indexeddb/IDBKeyRange.idl
284     Modules/indexeddb/IDBObjectStore.idl
285     Modules/indexeddb/IDBOpenDBRequest.idl
286     Modules/indexeddb/IDBRequest.idl
287     Modules/indexeddb/IDBTransaction.idl
288     Modules/indexeddb/IDBTransactionMode.idl
289     Modules/indexeddb/IDBVersionChangeEvent.idl
290     Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl
291
292     Modules/mediacapabilities/AudioConfiguration.idl
293     Modules/mediacapabilities/ColorGamut.idl
294     Modules/mediacapabilities/HdrMetadataType.idl
295     Modules/mediacapabilities/MediaCapabilities.idl
296     Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl
297     Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl
298     Modules/mediacapabilities/MediaCapabilitiesInfo.idl
299     Modules/mediacapabilities/MediaConfiguration.idl
300     Modules/mediacapabilities/MediaDecodingConfiguration.idl
301     Modules/mediacapabilities/MediaDecodingType.idl
302     Modules/mediacapabilities/MediaEncodingConfiguration.idl
303     Modules/mediacapabilities/MediaEncodingType.idl
304     Modules/mediacapabilities/NavigatorMediaCapabilities.idl
305     Modules/mediacapabilities/TransferFunction.idl
306     Modules/mediacapabilities/VideoConfiguration.idl
307
308     Modules/mediacontrols/MediaControlsHost.idl
309
310     Modules/mediarecorder/BlobEvent.idl
311     Modules/mediarecorder/MediaRecorder.idl
312     Modules/mediarecorder/MediaRecorderErrorEvent.idl
313
314     Modules/mediasession/HTMLMediaElementMediaSession.idl
315     Modules/mediasession/MediaRemoteControls.idl
316     Modules/mediasession/MediaSession.idl
317
318     Modules/mediasource/DOMURLMediaSource.idl
319     Modules/mediasource/MediaSource.idl
320     Modules/mediasource/SourceBuffer.idl
321     Modules/mediasource/SourceBufferList.idl
322     Modules/mediasource/VideoPlaybackQuality.idl
323
324     Modules/mediastream/CanvasCaptureMediaStreamTrack.idl
325     Modules/mediastream/DoubleRange.idl
326     Modules/mediastream/LongRange.idl
327     Modules/mediastream/MediaDeviceInfo.idl
328     Modules/mediastream/MediaDevices.idl
329     Modules/mediastream/MediaStream.idl
330     Modules/mediastream/MediaStreamTrack.idl
331     Modules/mediastream/MediaStreamTrackEvent.idl
332     Modules/mediastream/MediaTrackConstraints.idl
333     Modules/mediastream/MediaTrackSupportedConstraints.idl
334     Modules/mediastream/NavigatorMediaDevices.idl
335     Modules/mediastream/OverconstrainedError.idl
336     Modules/mediastream/OverconstrainedErrorEvent.idl
337     Modules/mediastream/RTCAnswerOptions.idl
338     Modules/mediastream/RTCCertificate.idl
339     Modules/mediastream/RTCConfiguration.idl
340     Modules/mediastream/RTCDTMFSender.idl
341     Modules/mediastream/RTCDTMFToneChangeEvent.idl
342     Modules/mediastream/RTCDataChannel.idl
343     Modules/mediastream/RTCDataChannelEvent.idl
344     Modules/mediastream/RTCDegradationPreference.idl
345     Modules/mediastream/RTCDtxStatus.idl
346     Modules/mediastream/RTCIceCandidate.idl
347     Modules/mediastream/RTCIceConnectionState.idl
348     Modules/mediastream/RTCIceGatheringState.idl
349     Modules/mediastream/RTCIceServer.idl
350     Modules/mediastream/RTCIceTransport.idl
351     Modules/mediastream/RTCIceTransportState.idl
352     Modules/mediastream/RTCOfferAnswerOptions.idl
353     Modules/mediastream/RTCOfferOptions.idl
354     Modules/mediastream/RTCPeerConnection.idl
355     Modules/mediastream/RTCPeerConnectionIceEvent.idl
356     Modules/mediastream/RTCPeerConnectionState.idl
357     Modules/mediastream/RTCPriorityType.idl
358     Modules/mediastream/RTCRtpCapabilities.idl
359     Modules/mediastream/RTCRtpCodecCapability.idl
360     Modules/mediastream/RTCRtpCodecParameters.idl
361     Modules/mediastream/RTCRtpContributingSource.idl
362     Modules/mediastream/RTCRtpEncodingParameters.idl
363     Modules/mediastream/RTCRtpFecParameters.idl
364     Modules/mediastream/RTCRtpHeaderExtensionParameters.idl
365     Modules/mediastream/RTCRtpParameters.idl
366     Modules/mediastream/RTCRtpReceiver.idl
367     Modules/mediastream/RTCRtpRtxParameters.idl
368     Modules/mediastream/RTCRtpSendParameters.idl
369     Modules/mediastream/RTCRtpSender.idl
370     Modules/mediastream/RTCRtpSynchronizationSource.idl
371     Modules/mediastream/RTCRtpTransceiver.idl
372     Modules/mediastream/RTCRtpTransceiverDirection.idl
373     Modules/mediastream/RTCSessionDescription.idl
374     Modules/mediastream/RTCSignalingState.idl
375     Modules/mediastream/RTCStatsReport.idl
376     Modules/mediastream/RTCTrackEvent.idl
377
378     Modules/notifications/Notification.idl
379     Modules/notifications/NotificationPermission.idl
380     Modules/notifications/NotificationPermissionCallback.idl
381
382     Modules/paymentrequest/AddressErrors.idl
383     Modules/paymentrequest/MerchantValidationEvent.idl
384     Modules/paymentrequest/PayerErrorFields.idl
385     Modules/paymentrequest/PaymentAddress.idl
386     Modules/paymentrequest/PaymentComplete.idl
387     Modules/paymentrequest/PaymentCurrencyAmount.idl
388     Modules/paymentrequest/PaymentDetailsBase.idl
389     Modules/paymentrequest/PaymentDetailsInit.idl
390     Modules/paymentrequest/PaymentDetailsModifier.idl
391     Modules/paymentrequest/PaymentDetailsUpdate.idl
392     Modules/paymentrequest/PaymentItem.idl
393     Modules/paymentrequest/PaymentMethodChangeEvent.idl
394     Modules/paymentrequest/PaymentMethodData.idl
395     Modules/paymentrequest/PaymentOptions.idl
396     Modules/paymentrequest/PaymentRequest.idl
397     Modules/paymentrequest/PaymentRequestUpdateEvent.idl
398     Modules/paymentrequest/PaymentRequestUpdateEventInit.idl
399     Modules/paymentrequest/PaymentResponse.idl
400     Modules/paymentrequest/PaymentShippingOption.idl
401     Modules/paymentrequest/PaymentShippingType.idl
402     Modules/paymentrequest/PaymentValidationErrors.idl
403
404     Modules/pictureinpicture/DocumentPictureInPicture.idl
405     Modules/pictureinpicture/EnterPictureInPictureEvent.idl
406     Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl
407     Modules/pictureinpicture/PictureInPictureWindow.idl
408
409     Modules/speech/DOMWindowSpeechSynthesis.idl
410     Modules/speech/SpeechSynthesis.idl
411     Modules/speech/SpeechSynthesisEvent.idl
412     Modules/speech/SpeechSynthesisUtterance.idl
413     Modules/speech/SpeechSynthesisVoice.idl
414
415     Modules/streams/ByteLengthQueuingStrategy.idl
416     Modules/streams/CountQueuingStrategy.idl
417     Modules/streams/ReadableByteStreamController.idl
418     Modules/streams/ReadableStream.idl
419     Modules/streams/ReadableStreamBYOBReader.idl
420     Modules/streams/ReadableStreamBYOBRequest.idl
421     Modules/streams/ReadableStreamDefaultController.idl
422     Modules/streams/ReadableStreamDefaultReader.idl
423     Modules/streams/ReadableStreamSink.idl
424     Modules/streams/ReadableStreamSource.idl
425     Modules/streams/WritableStream.idl
426
427     Modules/webaudio/AnalyserNode.idl
428     Modules/webaudio/AudioBuffer.idl
429     Modules/webaudio/AudioBufferCallback.idl
430     Modules/webaudio/AudioBufferSourceNode.idl
431     Modules/webaudio/AudioContext.idl
432     Modules/webaudio/AudioDestinationNode.idl
433     Modules/webaudio/AudioListener.idl
434     Modules/webaudio/AudioNode.idl
435     Modules/webaudio/AudioParam.idl
436     Modules/webaudio/AudioProcessingEvent.idl
437     Modules/webaudio/BiquadFilterNode.idl
438     Modules/webaudio/ChannelMergerNode.idl
439     Modules/webaudio/ChannelSplitterNode.idl
440     Modules/webaudio/ConvolverNode.idl
441     Modules/webaudio/DelayNode.idl
442     Modules/webaudio/DynamicsCompressorNode.idl
443     Modules/webaudio/GainNode.idl
444     Modules/webaudio/MediaElementAudioSourceNode.idl
445     Modules/webaudio/MediaStreamAudioDestinationNode.idl
446     Modules/webaudio/MediaStreamAudioSourceNode.idl
447     Modules/webaudio/OfflineAudioCompletionEvent.idl
448     Modules/webaudio/OfflineAudioContext.idl
449     Modules/webaudio/OscillatorNode.idl
450     Modules/webaudio/PannerNode.idl
451     Modules/webaudio/PeriodicWave.idl
452     Modules/webaudio/ScriptProcessorNode.idl
453     Modules/webaudio/WaveShaperNode.idl
454
455     Modules/webauthn/AttestationConveyancePreference.idl
456     Modules/webauthn/AuthenticationExtensionsClientInputs.idl
457     Modules/webauthn/AuthenticationExtensionsClientOutputs.idl
458     Modules/webauthn/AuthenticatorAssertionResponse.idl
459     Modules/webauthn/AuthenticatorAttestationResponse.idl
460     Modules/webauthn/AuthenticatorResponse.idl
461     Modules/webauthn/AuthenticatorTransport.idl
462     Modules/webauthn/PublicKeyCredential.idl
463     Modules/webauthn/PublicKeyCredentialCreationOptions.idl
464     Modules/webauthn/PublicKeyCredentialDescriptor.idl
465     Modules/webauthn/PublicKeyCredentialRequestOptions.idl
466     Modules/webauthn/PublicKeyCredentialType.idl
467     Modules/webauthn/UserVerificationRequirement.idl
468
469     Modules/webdatabase/DOMWindowWebDatabase.idl
470     Modules/webdatabase/Database.idl
471     Modules/webdatabase/DatabaseCallback.idl
472     Modules/webdatabase/SQLError.idl
473     Modules/webdatabase/SQLResultSet.idl
474     Modules/webdatabase/SQLResultSetRowList.idl
475     Modules/webdatabase/SQLStatementCallback.idl
476     Modules/webdatabase/SQLStatementErrorCallback.idl
477     Modules/webdatabase/SQLTransaction.idl
478     Modules/webdatabase/SQLTransactionCallback.idl
479     Modules/webdatabase/SQLTransactionErrorCallback.idl
480
481     Modules/webdriver/NavigatorWebDriver.idl
482
483     Modules/webgpu/GPUBindGroupLayoutBinding.idl
484     Modules/webgpu/GPUBindGroupLayoutDescriptor.idl
485     Modules/webgpu/GPUBlendDescriptor.idl
486     Modules/webgpu/GPUBufferDescriptor.idl
487     Modules/webgpu/GPUBufferUsage.idl
488     Modules/webgpu/GPUCanvasContext.idl
489     Modules/webgpu/GPUColor.idl
490     Modules/webgpu/GPUColorStateDescriptor.idl
491     Modules/webgpu/GPUColorWrite.idl
492     Modules/webgpu/GPUCompareFunction.idl
493     Modules/webgpu/GPUDepthStencilStateDescriptor.idl
494     Modules/webgpu/GPUErrorFilter.idl
495     Modules/webgpu/GPUExtent3D.idl
496     Modules/webgpu/GPULoadOp.idl
497     Modules/webgpu/GPUOrigin3D.idl
498     Modules/webgpu/GPUOutOfMemoryError.idl
499     Modules/webgpu/GPURequestAdapterOptions.idl
500     Modules/webgpu/GPUSamplerDescriptor.idl
501     Modules/webgpu/GPUShaderStage.idl
502     Modules/webgpu/GPUStoreOp.idl
503     Modules/webgpu/GPUTextureDescriptor.idl
504     Modules/webgpu/GPUTextureFormat.idl
505     Modules/webgpu/GPUTextureUsage.idl
506     Modules/webgpu/GPUUncapturedErrorEvent.idl
507     Modules/webgpu/GPUValidationError.idl
508     Modules/webgpu/GPUVertexAttributeDescriptor.idl
509     Modules/webgpu/GPUVertexBufferDescriptor.idl
510     Modules/webgpu/GPUVertexInputDescriptor.idl
511     Modules/webgpu/NavigatorGPU.idl
512     Modules/webgpu/WebGPU.idl
513     Modules/webgpu/WebGPUAdapter.idl
514     Modules/webgpu/WebGPUBindGroup.idl
515     Modules/webgpu/WebGPUBindGroupBinding.idl
516     Modules/webgpu/WebGPUBindGroupDescriptor.idl
517     Modules/webgpu/WebGPUBindGroupLayout.idl
518     Modules/webgpu/WebGPUBuffer.idl
519     Modules/webgpu/WebGPUBufferBinding.idl
520     Modules/webgpu/WebGPUCommandBuffer.idl
521     Modules/webgpu/WebGPUCommandEncoder.idl
522     Modules/webgpu/WebGPUComputePassEncoder.idl
523     Modules/webgpu/WebGPUComputePipeline.idl
524     Modules/webgpu/WebGPUComputePipelineDescriptor.idl
525     Modules/webgpu/WebGPUDevice.idl
526     Modules/webgpu/WebGPUDeviceErrorScopes.idl
527     Modules/webgpu/WebGPUDeviceEventHandler.idl
528     Modules/webgpu/WebGPUPipelineDescriptorBase.idl
529     Modules/webgpu/WebGPUPipelineLayout.idl
530     Modules/webgpu/WebGPUPipelineLayoutDescriptor.idl
531     Modules/webgpu/WebGPUProgrammableStageDescriptor.idl
532     Modules/webgpu/WebGPUProgrammablePassEncoder.idl
533     Modules/webgpu/WebGPUQueue.idl
534     Modules/webgpu/WebGPURenderPassDescriptor.idl
535     Modules/webgpu/WebGPURenderPassEncoder.idl
536     Modules/webgpu/WebGPURenderPipeline.idl
537     Modules/webgpu/WebGPURenderPipelineDescriptor.idl
538     Modules/webgpu/WebGPUSampler.idl
539     Modules/webgpu/WebGPUShaderModule.idl
540     Modules/webgpu/WebGPUShaderModuleDescriptor.idl
541     Modules/webgpu/WebGPUSwapChain.idl
542     Modules/webgpu/WebGPUTexture.idl
543     Modules/webgpu/WebGPUTextureView.idl
544     Modules/webgpu/WorkerNavigatorGPU.idl
545
546     Modules/websockets/CloseEvent.idl
547     Modules/websockets/WebSocket.idl
548
549     accessibility/AccessibilityRole.idl
550     accessibility/AriaAttributes.idl
551
552     animation/Animatable.idl
553     animation/AnimationEffect.idl
554     animation/EffectTiming.idl
555     animation/AnimationPlaybackEvent.idl
556     animation/AnimationPlaybackEventInit.idl
557     animation/AnimationTimeline.idl
558     animation/CSSAnimation.idl
559     animation/CSSTransition.idl
560     animation/CompositeOperation.idl
561     animation/CompositeOperationOrAuto.idl
562     animation/ComputedEffectTiming.idl
563     animation/DocumentTimeline.idl
564     animation/DocumentTimelineOptions.idl
565     animation/FillMode.idl
566     animation/GetAnimationsOptions.idl
567     animation/IterationCompositeOperation.idl
568     animation/KeyframeAnimationOptions.idl
569     animation/KeyframeEffect.idl
570     animation/KeyframeEffectOptions.idl
571     animation/OptionalEffectTiming.idl
572     animation/PlaybackDirection.idl
573     animation/WebAnimation.idl
574
575     crypto/CryptoAlgorithmParameters.idl
576     crypto/CryptoKey.idl
577     crypto/CryptoKeyPair.idl
578     crypto/CryptoKeyUsage.idl
579     crypto/JsonWebKey.idl
580     crypto/RsaOtherPrimesInfo.idl
581     crypto/SubtleCrypto.idl
582
583     crypto/keys/CryptoAesKeyAlgorithm.idl
584     crypto/keys/CryptoEcKeyAlgorithm.idl
585     crypto/keys/CryptoHmacKeyAlgorithm.idl
586     crypto/keys/CryptoKeyAlgorithm.idl
587     crypto/keys/CryptoRsaHashedKeyAlgorithm.idl
588     crypto/keys/CryptoRsaKeyAlgorithm.idl
589
590     crypto/parameters/AesCbcCfbParams.idl
591     crypto/parameters/AesCtrParams.idl
592     crypto/parameters/AesGcmParams.idl
593     crypto/parameters/AesKeyParams.idl
594     crypto/parameters/EcKeyParams.idl
595     crypto/parameters/EcdhKeyDeriveParams.idl
596     crypto/parameters/EcdsaParams.idl
597     crypto/parameters/HkdfParams.idl
598     crypto/parameters/HmacKeyParams.idl
599     crypto/parameters/Pbkdf2Params.idl
600     crypto/parameters/RsaHashedImportParams.idl
601     crypto/parameters/RsaHashedKeyGenParams.idl
602     crypto/parameters/RsaKeyGenParams.idl
603     crypto/parameters/RsaOaepParams.idl
604     crypto/parameters/RsaPssParams.idl
605
606     css/CSSFontFaceRule.idl
607     css/CSSImportRule.idl
608     css/CSSKeyframeRule.idl
609     css/CSSKeyframesRule.idl
610     css/CSSMediaRule.idl
611     css/CSSNamespaceRule.idl
612     css/CSSPaintCallback.idl
613     css/CSSPaintSize.idl
614     css/CSSPageRule.idl
615     css/CSSRule.idl
616     css/CSSRuleList.idl
617     css/CSSStyleDeclaration.idl
618     css/CSSStyleRule.idl
619     css/CSSStyleSheet.idl
620     css/CSSSupportsRule.idl
621     css/CSSUnknownRule.idl
622     css/DOMCSSCustomPropertyDescriptor.idl
623     css/DOMCSSNamespace.idl
624     css/DOMCSSPaintWorklet.idl
625     css/DOMCSSRegisterCustomProperty.idl
626     css/DOMMatrix.idl
627     css/DOMMatrix2DInit.idl
628     css/DOMMatrixInit.idl
629     css/DOMMatrixReadOnly.idl
630     css/DeprecatedCSSOMCounter.idl
631     css/DeprecatedCSSOMPrimitiveValue.idl
632     css/DeprecatedCSSOMRGBColor.idl
633     css/DeprecatedCSSOMRect.idl
634     css/DeprecatedCSSOMValue.idl
635     css/DeprecatedCSSOMValueList.idl
636     css/ElementCSSInlineStyle.idl
637     css/FontFace.idl
638     css/FontFaceSet.idl
639     css/MediaList.idl
640     css/MediaQueryList.idl
641     css/MediaQueryListEvent.idl
642     css/StyleMedia.idl
643     css/StyleSheet.idl
644     css/StyleSheetList.idl
645
646     css/typedom/StylePropertyMap.idl
647     css/typedom/StylePropertyMapReadOnly.idl
648     css/typedom/TypedOMCSSImageValue.idl
649     css/typedom/TypedOMCSSNumericValue.idl
650     css/typedom/TypedOMCSSStyleValue.idl
651     css/typedom/TypedOMCSSUnitValue.idl
652     css/typedom/TypedOMCSSUnparsedValue.idl
653
654     css/WebKitCSSMatrix.idl
655
656     dom/AbortController.idl
657     dom/AbortSignal.idl
658     dom/AnimationEvent.idl
659     dom/Attr.idl
660     dom/BeforeLoadEvent.idl
661     dom/BeforeUnloadEvent.idl
662     dom/CDATASection.idl
663     dom/CharacterData.idl
664     dom/ChildNode.idl
665     dom/ClipboardEvent.idl
666     dom/Comment.idl
667     dom/CompositionEvent.idl
668     dom/CustomElementRegistry.idl
669     dom/CustomEvent.idl
670     dom/DOMException.idl
671     dom/DOMImplementation.idl
672     dom/DOMPoint.idl
673     dom/DOMPointInit.idl
674     dom/DOMPointReadOnly.idl
675     dom/DOMQuad.idl
676     dom/DOMQuadInit.idl
677     dom/DOMRect.idl
678     dom/DOMRectInit.idl
679     dom/DOMRectList.idl
680     dom/DOMRectReadOnly.idl
681     dom/DOMStringList.idl
682     dom/DOMStringMap.idl
683     dom/DataTransfer.idl
684     dom/DataTransferItem.idl
685     dom/DataTransferItemList.idl
686     dom/DeviceMotionEvent.idl
687     dom/DeviceOrientationEvent.idl
688     dom/DeviceOrientationOrMotionEvent.idl
689     dom/DeviceOrientationOrMotionPermissionState.idl
690     dom/Document.idl
691     dom/DocumentAndElementEventHandlers.idl
692     dom/DocumentFragment.idl
693     dom/DocumentFullscreen.idl
694     dom/DocumentOrShadowRoot.idl
695     dom/DocumentTouch.idl
696     dom/DocumentType.idl
697     dom/DragEvent.idl
698     dom/Element.idl
699     dom/ErrorEvent.idl
700     dom/Event.idl
701     dom/EventInit.idl
702     dom/EventModifierInit.idl
703     dom/EventTarget.idl
704     dom/FocusEvent.idl
705     dom/GlobalEventHandlers.idl
706     dom/HashChangeEvent.idl
707     dom/IdleDeadline.idl
708     dom/IdleRequestCallback.idl
709     dom/IdleRequestOptions.idl
710     dom/InputEvent.idl
711     dom/KeyboardEvent.idl
712     dom/MessageChannel.idl
713     dom/MessageEvent.idl
714     dom/MessagePort.idl
715     dom/MouseEvent.idl
716     dom/MouseEventInit.idl
717     dom/MutationCallback.idl
718     dom/MutationEvent.idl
719     dom/MutationObserver.idl
720     dom/MutationRecord.idl
721     dom/NamedNodeMap.idl
722     dom/NavigatorMaxTouchPoints.idl
723     dom/Node.idl
724     dom/NodeFilter.idl
725     dom/NodeIterator.idl
726     dom/NodeList.idl
727     dom/NonDocumentTypeChildNode.idl
728     dom/NonElementParentNode.idl
729     dom/OverflowEvent.idl
730     dom/PageTransitionEvent.idl
731     dom/ParentNode.idl
732     dom/PointerEvent.idl
733     dom/PopStateEvent.idl
734     dom/ProcessingInstruction.idl
735     dom/ProgressEvent.idl
736     dom/PromiseRejectionEvent.idl
737     dom/Range.idl
738     dom/RequestAnimationFrameCallback.idl
739     dom/SecurityPolicyViolationEvent.idl
740     dom/ShadowRoot.idl
741     dom/ShadowRootMode.idl
742     dom/Slotable.idl
743     dom/StaticRange.idl
744     dom/StringCallback.idl
745     dom/Text.idl
746     dom/TextDecoder.idl
747     dom/TextEncoder.idl
748     dom/TextEvent.idl
749     dom/Touch.idl
750     dom/TouchEvent.idl
751     dom/TouchList.idl
752     dom/TransitionEvent.idl
753     dom/TreeWalker.idl
754     dom/UIEvent.idl
755     dom/UIEventInit.idl
756     dom/VisibilityState.idl
757     dom/WebKitAnimationEvent.idl
758     dom/WebKitTransitionEvent.idl
759     dom/WheelEvent.idl
760     dom/XMLDocument.idl
761
762     fileapi/Blob.idl
763     fileapi/BlobCallback.idl
764     fileapi/BlobLineEndings.idl
765     fileapi/BlobPropertyBag.idl
766     fileapi/File.idl
767     fileapi/FileError.idl
768     fileapi/FileList.idl
769     fileapi/FileReader.idl
770     fileapi/FileReaderSync.idl
771
772     html/DOMFormData.idl
773     html/DOMTokenList.idl
774     html/DOMURL.idl
775     html/HTMLAllCollection.idl
776     html/HTMLAnchorElement.idl
777     html/HTMLAppletElement.idl
778     html/HTMLAreaElement.idl
779     html/HTMLAttachmentElement.idl
780     html/HTMLAudioElement.idl
781     html/HTMLBRElement.idl
782     html/HTMLBaseElement.idl
783     html/HTMLBodyElement.idl
784     html/HTMLButtonElement.idl
785     html/HTMLCanvasElement.idl
786     html/HTMLCollection.idl
787     html/HTMLDListElement.idl
788     html/HTMLDataElement.idl
789     html/HTMLDataListElement.idl
790     html/HTMLDetailsElement.idl
791     html/HTMLDialogElement.idl
792     html/HTMLDirectoryElement.idl
793     html/HTMLDivElement.idl
794     html/HTMLDocument.idl
795     html/HTMLElement.idl
796     html/HTMLEmbedElement.idl
797     html/HTMLFieldSetElement.idl
798     html/HTMLFontElement.idl
799     html/HTMLFormControlsCollection.idl
800     html/HTMLFormElement.idl
801     html/HTMLFrameElement.idl
802     html/HTMLFrameSetElement.idl
803     html/HTMLHRElement.idl
804     html/HTMLHeadElement.idl
805     html/HTMLHeadingElement.idl
806     html/HTMLHtmlElement.idl
807     html/HTMLHyperlinkElementUtils.idl
808     html/HTMLIFrameElement.idl
809     html/HTMLImageElement.idl
810     html/HTMLInputElement.idl
811     html/HTMLKeygenElement.idl
812     html/HTMLLIElement.idl
813     html/HTMLLabelElement.idl
814     html/HTMLLegendElement.idl
815     html/HTMLLinkElement.idl
816     html/HTMLMapElement.idl
817     html/HTMLMarqueeElement.idl
818     html/HTMLMediaElement.idl
819     html/HTMLMenuElement.idl
820     html/HTMLMenuItemElement.idl
821     html/HTMLMetaElement.idl
822     html/HTMLMeterElement.idl
823     html/HTMLModElement.idl
824     html/HTMLOListElement.idl
825     html/HTMLObjectElement.idl
826     html/HTMLOptGroupElement.idl
827     html/HTMLOptionElement.idl
828     html/HTMLOptionsCollection.idl
829     html/HTMLOrForeignElement.idl
830     html/HTMLOutputElement.idl
831     html/HTMLParagraphElement.idl
832     html/HTMLParamElement.idl
833     html/HTMLPictureElement.idl
834     html/HTMLPreElement.idl
835     html/HTMLProgressElement.idl
836     html/HTMLQuoteElement.idl
837     html/HTMLScriptElement.idl
838     html/HTMLSelectElement.idl
839     html/HTMLSlotElement.idl
840     html/HTMLSourceElement.idl
841     html/HTMLSpanElement.idl
842     html/HTMLStyleElement.idl
843     html/HTMLTableCaptionElement.idl
844     html/HTMLTableCellElement.idl
845     html/HTMLTableColElement.idl
846     html/HTMLTableElement.idl
847     html/HTMLTableRowElement.idl
848     html/HTMLTableSectionElement.idl
849     html/HTMLTemplateElement.idl
850     html/HTMLTextAreaElement.idl
851     html/HTMLTimeElement.idl
852     html/HTMLTitleElement.idl
853     html/HTMLTrackElement.idl
854     html/HTMLUListElement.idl
855     html/HTMLUnknownElement.idl
856     html/HTMLVideoElement.idl
857     html/ImageBitmap.idl
858     html/ImageBitmapOptions.idl
859     html/ImageData.idl
860     html/MediaController.idl
861     html/MediaError.idl
862     html/OffscreenCanvas.idl
863     html/RadioNodeList.idl
864     html/TextMetrics.idl
865     html/TimeRanges.idl
866     html/URLSearchParams.idl
867     html/ValidityState.idl
868     html/VoidCallback.idl
869
870     html/canvas/CanvasCompositing.idl
871     html/canvas/CanvasDirection.idl
872     html/canvas/CanvasDrawImage.idl
873     html/canvas/CanvasDrawPath.idl
874     html/canvas/CanvasFillRule.idl
875     html/canvas/CanvasFillStrokeStyles.idl
876     html/canvas/CanvasFilters.idl
877     html/canvas/CanvasGradient.idl
878     html/canvas/CanvasImageData.idl
879     html/canvas/CanvasImageSmoothing.idl
880     html/canvas/CanvasLineCap.idl
881     html/canvas/CanvasLineJoin.idl
882     html/canvas/CanvasPath.idl
883     html/canvas/CanvasPathDrawingStyles.idl
884     html/canvas/CanvasPattern.idl
885     html/canvas/CanvasRect.idl
886     html/canvas/CanvasRenderingContext2D.idl
887     html/canvas/CanvasShadowStyles.idl
888     html/canvas/CanvasState.idl
889     html/canvas/CanvasText.idl
890     html/canvas/CanvasTextAlign.idl
891     html/canvas/CanvasTextBaseline.idl
892     html/canvas/CanvasTextDrawingStyles.idl
893     html/canvas/CanvasTransform.idl
894     html/canvas/CanvasUserInterface.idl
895     html/canvas/ImageBitmapRenderingContext.idl
896     html/canvas/ImageBitmapRenderingContextSettings.idl
897     html/canvas/ImageSmoothingQuality.idl
898     html/canvas/OffscreenCanvasRenderingContext2D.idl
899     html/canvas/PaintRenderingContext2D.idl
900     html/canvas/Path2D.idl
901
902     inspector/CommandLineAPIHost.idl
903     inspector/InspectorAuditAccessibilityObject.idl
904     inspector/InspectorAuditDOMObject.idl
905     inspector/InspectorAuditResourcesObject.idl
906     inspector/InspectorFrontendHost.idl
907
908     loader/appcache/DOMApplicationCache.idl
909
910     mathml/MathMLElement.idl
911     mathml/MathMLMathElement.idl
912
913     page/BarProp.idl
914     page/Crypto.idl
915     page/DOMSelection.idl
916     page/DOMWindow.idl
917     page/EventSource.idl
918     page/GlobalCrypto.idl
919     page/GlobalPerformance.idl
920     page/History.idl
921     page/IntersectionObserver.idl
922     page/IntersectionObserverCallback.idl
923     page/IntersectionObserverEntry.idl
924     page/Location.idl
925     page/Navigator.idl
926     page/NavigatorID.idl
927     page/NavigatorLanguage.idl
928     page/NavigatorOnLine.idl
929     page/NavigatorServiceWorker.idl
930     page/NavigatorShare.idl
931     page/Performance.idl
932     page/PerformanceEntry.idl
933     page/PerformanceMark.idl
934     page/PerformanceMeasure.idl
935     page/PerformanceObserver.idl
936     page/PerformanceObserverCallback.idl
937     page/PerformanceObserverEntryList.idl
938     page/PerformanceNavigation.idl
939     page/PerformanceResourceTiming.idl
940     page/PerformanceServerTiming.idl
941     page/PerformanceTiming.idl
942     page/PostMessageOptions.idl
943     page/RemoteDOMWindow.idl
944     page/ResizeObserver.idl
945     page/ResizeObserverCallback.idl
946     page/ResizeObserverEntry.idl
947     page/Screen.idl
948     page/ScrollBehavior.idl
949     page/ScrollIntoViewOptions.idl
950     page/ScrollLogicalPosition.idl
951     page/ScrollOptions.idl
952     page/ScrollToOptions.idl
953     page/ShareData.idl
954     page/UndoItem.idl
955     page/UndoManager.idl
956     page/VisualViewport.idl
957     page/WebKitPoint.idl
958     page/WindowEventHandlers.idl
959     page/WindowOrWorkerGlobalScope.idl
960     page/WorkerNavigator.idl
961
962     plugins/DOMMimeType.idl
963     plugins/DOMMimeTypeArray.idl
964     plugins/DOMPlugin.idl
965     plugins/DOMPluginArray.idl
966
967     storage/Storage.idl
968     storage/StorageEvent.idl
969
970     workers/AbstractWorker.idl
971     workers/DedicatedWorkerGlobalScope.idl
972     workers/Worker.idl
973     workers/WorkerGlobalScope.idl
974     workers/WorkerLocation.idl
975     workers/WorkerType.idl
976
977     workers/service/ExtendableEvent.idl
978     workers/service/ExtendableEventInit.idl
979     workers/service/ExtendableMessageEvent.idl
980     workers/service/FetchEvent.idl
981     workers/service/ServiceWorker.idl
982     workers/service/ServiceWorkerClient.idl
983     workers/service/ServiceWorkerClientType.idl
984     workers/service/ServiceWorkerClients.idl
985     workers/service/ServiceWorkerContainer.idl
986     workers/service/ServiceWorkerGlobalScope.idl
987     workers/service/ServiceWorkerRegistration.idl
988     workers/service/ServiceWorkerUpdateViaCache.idl
989     workers/service/ServiceWorkerWindowClient.idl
990
991     worklets/PaintWorkletGlobalScope.idl
992     worklets/Worklet.idl
993     worklets/WorkletGlobalScope.idl
994
995     xml/DOMParser.idl
996     xml/XMLHttpRequest.idl
997     xml/XMLHttpRequestEventTarget.idl
998     xml/XMLHttpRequestProgressEvent.idl
999     xml/XMLHttpRequestUpload.idl
1000     xml/XMLSerializer.idl
1001     xml/XPathEvaluator.idl
1002     xml/XPathExpression.idl
1003     xml/XPathNSResolver.idl
1004     xml/XPathResult.idl
1005     xml/XSLTProcessor.idl
1006 )
1007
1008 set(WebCore_SVG_IDL_FILES
1009     svg/SVGAElement.idl
1010     svg/SVGAltGlyphDefElement.idl
1011     svg/SVGAltGlyphElement.idl
1012     svg/SVGAltGlyphItemElement.idl
1013     svg/SVGAngle.idl
1014     svg/SVGAnimateColorElement.idl
1015     svg/SVGAnimateElement.idl
1016     svg/SVGAnimateMotionElement.idl
1017     svg/SVGAnimateTransformElement.idl
1018     svg/SVGAnimatedAngle.idl
1019     svg/SVGAnimatedBoolean.idl
1020     svg/SVGAnimatedEnumeration.idl
1021     svg/SVGAnimatedInteger.idl
1022     svg/SVGAnimatedLength.idl
1023     svg/SVGAnimatedLengthList.idl
1024     svg/SVGAnimatedNumber.idl
1025     svg/SVGAnimatedNumberList.idl
1026     svg/SVGAnimatedPreserveAspectRatio.idl
1027     svg/SVGAnimatedRect.idl
1028     svg/SVGAnimatedString.idl
1029     svg/SVGAnimatedTransformList.idl
1030     svg/SVGAnimationElement.idl
1031     svg/SVGCircleElement.idl
1032     svg/SVGClipPathElement.idl
1033     svg/SVGComponentTransferFunctionElement.idl
1034     svg/SVGCursorElement.idl
1035     svg/SVGDefsElement.idl
1036     svg/SVGDescElement.idl
1037     svg/SVGDocument.idl
1038     svg/SVGElement.idl
1039     svg/SVGEllipseElement.idl
1040     svg/SVGFEBlendElement.idl
1041     svg/SVGFEColorMatrixElement.idl
1042     svg/SVGFEComponentTransferElement.idl
1043     svg/SVGFECompositeElement.idl
1044     svg/SVGFEConvolveMatrixElement.idl
1045     svg/SVGFEDiffuseLightingElement.idl
1046     svg/SVGFEDisplacementMapElement.idl
1047     svg/SVGFEDistantLightElement.idl
1048     svg/SVGFEDropShadowElement.idl
1049     svg/SVGFEFloodElement.idl
1050     svg/SVGFEFuncAElement.idl
1051     svg/SVGFEFuncBElement.idl
1052     svg/SVGFEFuncGElement.idl
1053     svg/SVGFEFuncRElement.idl
1054     svg/SVGFEGaussianBlurElement.idl
1055     svg/SVGFEImageElement.idl
1056     svg/SVGFEMergeElement.idl
1057     svg/SVGFEMergeNodeElement.idl
1058     svg/SVGFEMorphologyElement.idl
1059     svg/SVGFEOffsetElement.idl
1060     svg/SVGFEPointLightElement.idl
1061     svg/SVGFESpecularLightingElement.idl
1062     svg/SVGFESpotLightElement.idl
1063     svg/SVGFETileElement.idl
1064     svg/SVGFETurbulenceElement.idl
1065     svg/SVGFilterElement.idl
1066     svg/SVGFilterPrimitiveStandardAttributes.idl
1067     svg/SVGFitToViewBox.idl
1068     svg/SVGFontElement.idl
1069     svg/SVGFontFaceElement.idl
1070     svg/SVGFontFaceFormatElement.idl
1071     svg/SVGFontFaceNameElement.idl
1072     svg/SVGFontFaceSrcElement.idl
1073     svg/SVGFontFaceUriElement.idl
1074     svg/SVGForeignObjectElement.idl
1075     svg/SVGGElement.idl
1076     svg/SVGGeometryElement.idl
1077     svg/SVGGlyphElement.idl
1078     svg/SVGGlyphRefElement.idl
1079     svg/SVGGradientElement.idl
1080     svg/SVGGraphicsElement.idl
1081     svg/SVGHKernElement.idl
1082     svg/SVGImageElement.idl
1083     svg/SVGLength.idl
1084     svg/SVGLengthList.idl
1085     svg/SVGLineElement.idl
1086     svg/SVGLinearGradientElement.idl
1087     svg/SVGMPathElement.idl
1088     svg/SVGMarkerElement.idl
1089     svg/SVGMaskElement.idl
1090     svg/SVGMatrix.idl
1091     svg/SVGMetadataElement.idl
1092     svg/SVGMissingGlyphElement.idl
1093     svg/SVGNumber.idl
1094     svg/SVGNumberList.idl
1095     svg/SVGPathElement.idl
1096     svg/SVGPathSeg.idl
1097     svg/SVGPathSegArcAbs.idl
1098     svg/SVGPathSegArcRel.idl
1099     svg/SVGPathSegClosePath.idl
1100     svg/SVGPathSegCurvetoCubicAbs.idl
1101     svg/SVGPathSegCurvetoCubicRel.idl
1102     svg/SVGPathSegCurvetoCubicSmoothAbs.idl
1103     svg/SVGPathSegCurvetoCubicSmoothRel.idl
1104     svg/SVGPathSegCurvetoQuadraticAbs.idl
1105     svg/SVGPathSegCurvetoQuadraticRel.idl
1106     svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
1107     svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
1108     svg/SVGPathSegLinetoAbs.idl
1109     svg/SVGPathSegLinetoHorizontalAbs.idl
1110     svg/SVGPathSegLinetoHorizontalRel.idl
1111     svg/SVGPathSegLinetoRel.idl
1112     svg/SVGPathSegLinetoVerticalAbs.idl
1113     svg/SVGPathSegLinetoVerticalRel.idl
1114     svg/SVGPathSegList.idl
1115     svg/SVGPathSegMovetoAbs.idl
1116     svg/SVGPathSegMovetoRel.idl
1117     svg/SVGPatternElement.idl
1118     svg/SVGPoint.idl
1119     svg/SVGPointList.idl
1120     svg/SVGPolygonElement.idl
1121     svg/SVGPolylineElement.idl
1122     svg/SVGPreserveAspectRatio.idl
1123     svg/SVGRadialGradientElement.idl
1124     svg/SVGRect.idl
1125     svg/SVGRectElement.idl
1126     svg/SVGRenderingIntent.idl
1127     svg/SVGSVGElement.idl
1128     svg/SVGScriptElement.idl
1129     svg/SVGSetElement.idl
1130     svg/SVGStopElement.idl
1131     svg/SVGStringList.idl
1132     svg/SVGStyleElement.idl
1133     svg/SVGSwitchElement.idl
1134     svg/SVGSymbolElement.idl
1135     svg/SVGTRefElement.idl
1136     svg/SVGTSpanElement.idl
1137     svg/SVGTests.idl
1138     svg/SVGTextContentElement.idl
1139     svg/SVGTextElement.idl
1140     svg/SVGTextPathElement.idl
1141     svg/SVGTextPositioningElement.idl
1142     svg/SVGTitleElement.idl
1143     svg/SVGTransform.idl
1144     svg/SVGTransformList.idl
1145     svg/SVGURIReference.idl
1146     svg/SVGUnitTypes.idl
1147     svg/SVGUseElement.idl
1148     svg/SVGVKernElement.idl
1149     svg/SVGViewElement.idl
1150     svg/SVGViewSpec.idl
1151     svg/SVGZoomAndPan.idl
1152     svg/SVGZoomEvent.idl
1153 )
1154
1155 if (ENABLE_GAMEPAD)
1156     list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
1157         "${WEBCORE_DIR}/Modules/gamepad"
1158     )
1159
1160     list(APPEND WebCore_IDL_INCLUDES
1161         Modules/gamepad
1162     )
1163
1164     list(APPEND WebCore_NON_SVG_IDL_FILES
1165         Modules/gamepad/Gamepad.idl
1166         Modules/gamepad/GamepadButton.idl
1167         Modules/gamepad/GamepadEvent.idl
1168         Modules/gamepad/NavigatorGamepad.idl
1169     )
1170
1171     list(APPEND WebCore_SOURCES
1172         Modules/gamepad/Gamepad.cpp
1173         Modules/gamepad/GamepadButton.cpp
1174         Modules/gamepad/GamepadEvent.cpp
1175         Modules/gamepad/GamepadManager.cpp
1176         Modules/gamepad/NavigatorGamepad.cpp
1177
1178         platform/gamepad/EmptyGamepadProvider.cpp
1179         platform/gamepad/GamepadProvider.cpp
1180     )
1181 endif ()
1182
1183 if (ENABLE_WEBXR)
1184     list(APPEND WebCore_NON_SVG_IDL_FILES
1185         Modules/webxr/NavigatorWebXR.idl
1186         Modules/webxr/WebXRBoundedReferenceSpace.idl
1187         Modules/webxr/WebXRFrame.idl
1188         Modules/webxr/WebXRInputSource.idl
1189         Modules/webxr/WebXRInputSourceArray.idl
1190         Modules/webxr/WebXRPose.idl
1191         Modules/webxr/WebXRReferenceSpace.idl
1192         Modules/webxr/WebXRRenderState.idl
1193         Modules/webxr/WebXRRigidTransform.idl
1194         Modules/webxr/WebXRSession.idl
1195         Modules/webxr/WebXRSpace.idl
1196         Modules/webxr/WebXRSystem.idl
1197         Modules/webxr/WebXRView.idl
1198         Modules/webxr/WebXRViewerPose.idl
1199         Modules/webxr/WebXRViewport.idl
1200         Modules/webxr/WebXRWebGLLayer.idl
1201         Modules/webxr/XREnvironmentBlendMode.idl
1202         Modules/webxr/XREye.idl
1203         Modules/webxr/XRFrameRequestCallback.idl
1204         Modules/webxr/XRHandedness.idl
1205         Modules/webxr/XRInputSourceEvent.idl
1206         Modules/webxr/XRInputSourcesChangeEvent.idl
1207         Modules/webxr/XRReferenceSpaceEvent.idl
1208         Modules/webxr/XRReferenceSpaceType.idl
1209         Modules/webxr/XRRenderStateInit.idl
1210         Modules/webxr/XRSessionEvent.idl
1211         Modules/webxr/XRSessionInit.idl
1212         Modules/webxr/XRSessionMode.idl
1213         Modules/webxr/XRTargetRayMode.idl
1214         Modules/webxr/XRVisibilityState.idl
1215         Modules/webxr/XRWebGLLayerInit.idl
1216     )
1217 endif ()
1218
1219 set(WebCore_IDL_FILES
1220     ${WebCore_NON_SVG_IDL_FILES}
1221     ${WebCore_SVG_IDL_FILES}
1222 )
1223
1224 set(WebCore_CSS_PROPERTY_NAMES
1225     ${WEBCORE_DIR}/css/CSSProperties.json
1226 )
1227
1228 set(WebCore_CSS_VALUE_KEYWORDS
1229     ${WEBCORE_DIR}/css/CSSValueKeywords.in
1230 )
1231
1232 set(WebCore_USER_AGENT_STYLE_SHEETS
1233     ${WEBCORE_DIR}/css/dialog.css
1234     ${WEBCORE_DIR}/css/fullscreen.css
1235     ${WEBCORE_DIR}/css/html.css
1236     ${WEBCORE_DIR}/css/mathml.css
1237     ${WEBCORE_DIR}/css/mediaControls.css
1238     ${WEBCORE_DIR}/css/plugIns.css
1239     ${WEBCORE_DIR}/css/quirks.css
1240     ${WEBCORE_DIR}/css/svg.css
1241     ${WEBCORE_DIR}/html/shadow/meterElementShadow.css
1242 )
1243
1244 set(WebCore_PLUG_INS_RESOURCES
1245     ${WEBCORE_DIR}/Resources/plugIns.js
1246 )
1247
1248 set(WebCore_LIBRARIES
1249     LibXml2::LibXml2
1250     SQLite::SQLite3
1251     WebKit::JavaScriptCore
1252     WebKit::PAL
1253     ZLIB::ZLIB
1254 )
1255
1256 if (ENABLE_XSLT)
1257     list(APPEND WebCore_LIBRARIES LibXslt::LibXslt)
1258 endif ()
1259
1260 set(WebCoreTestSupport_LIBRARIES
1261     WebKit::JavaScriptCore
1262     WebKit::PAL
1263 )
1264 set(WebCoreTestSupport_DEPENDENCIES WebCoreTestSupportBindings)
1265
1266 if (ENABLE_LEGACY_ENCRYPTED_MEDIA)
1267     list(APPEND WebCore_SOURCES
1268         Modules/encryptedmedia/legacy/LegacyCDM.cpp
1269         Modules/encryptedmedia/legacy/LegacyCDMPrivateClearKey.cpp
1270         Modules/encryptedmedia/legacy/LegacyCDMPrivateMediaPlayer.cpp
1271         Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp
1272
1273         Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.cpp
1274         Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.cpp
1275         Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp
1276         Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp
1277     )
1278     list(APPEND WebCoreTestSupport_SOURCES
1279         testing/LegacyMockCDM.cpp
1280     )
1281     list(APPEND WebCore_IDL_FILES
1282         Modules/encryptedmedia/legacy/WebKitMediaKeyMessageEvent.idl
1283         Modules/encryptedmedia/legacy/WebKitMediaKeyNeededEvent.idl
1284         Modules/encryptedmedia/legacy/WebKitMediaKeySession.idl
1285         Modules/encryptedmedia/legacy/WebKitMediaKeys.idl
1286
1287         html/WebKitMediaKeyError.idl
1288     )
1289 endif ()
1290
1291 if (ENABLE_ENCRYPTED_MEDIA)
1292     list(APPEND WebCore_SOURCES
1293         Modules/encryptedmedia/CDM.cpp
1294         Modules/encryptedmedia/InitDataRegistry.cpp
1295         Modules/encryptedmedia/MediaKeyMessageEvent.cpp
1296         Modules/encryptedmedia/MediaKeySession.cpp
1297         Modules/encryptedmedia/MediaKeyStatusMap.cpp
1298         Modules/encryptedmedia/MediaKeySystemAccess.cpp
1299         Modules/encryptedmedia/MediaKeys.cpp
1300         Modules/encryptedmedia/NavigatorEME.cpp
1301
1302         html/MediaEncryptedEvent.cpp
1303     )
1304     list(APPEND WebCore_IDL_FILES
1305         Modules/encryptedmedia/MediaKeyEncryptionScheme.idl
1306         Modules/encryptedmedia/MediaKeyMessageEvent.idl
1307         Modules/encryptedmedia/MediaKeySession.idl
1308         Modules/encryptedmedia/MediaKeySessionType.idl
1309         Modules/encryptedmedia/MediaKeyStatusMap.idl
1310         Modules/encryptedmedia/MediaKeySystemAccess.idl
1311         Modules/encryptedmedia/MediaKeySystemConfiguration.idl
1312         Modules/encryptedmedia/MediaKeySystemMediaCapability.idl
1313         Modules/encryptedmedia/MediaKeys.idl
1314         Modules/encryptedmedia/MediaKeysRequirement.idl
1315         Modules/encryptedmedia/NavigatorEME.idl
1316
1317         html/MediaEncryptedEvent.idl
1318     )
1319 endif ()
1320
1321 list(APPEND WebCore_CSS_VALUE_KEYWORDS
1322     ${WEBCORE_DIR}/css/SVGCSSValueKeywords.in
1323 )
1324
1325 if (ENABLE_WEBGL)
1326     list(APPEND WebCore_SOURCES
1327         html/canvas/ANGLEInstancedArrays.cpp
1328         html/canvas/EXTBlendMinMax.cpp
1329         html/canvas/EXTFragDepth.cpp
1330         html/canvas/EXTShaderTextureLOD.cpp
1331         html/canvas/EXTTextureFilterAnisotropic.cpp
1332         html/canvas/EXTsRGB.cpp
1333         html/canvas/OESElementIndexUint.cpp
1334         html/canvas/OESStandardDerivatives.cpp
1335         html/canvas/OESTextureFloat.cpp
1336         html/canvas/OESTextureFloatLinear.cpp
1337         html/canvas/OESTextureHalfFloat.cpp
1338         html/canvas/OESTextureHalfFloatLinear.cpp
1339         html/canvas/OESVertexArrayObject.cpp
1340         html/canvas/WebGL2RenderingContext.cpp
1341         html/canvas/WebGLBuffer.cpp
1342         html/canvas/WebGLCompressedTextureASTC.cpp
1343         html/canvas/WebGLCompressedTextureATC.cpp
1344         html/canvas/WebGLCompressedTextureETC.cpp
1345         html/canvas/WebGLCompressedTextureETC1.cpp
1346         html/canvas/WebGLCompressedTexturePVRTC.cpp
1347         html/canvas/WebGLCompressedTextureS3TC.cpp
1348         html/canvas/WebGLContextEvent.cpp
1349         html/canvas/WebGLContextGroup.cpp
1350         html/canvas/WebGLContextObject.cpp
1351         html/canvas/WebGLDebugRendererInfo.cpp
1352         html/canvas/WebGLDebugShaders.cpp
1353         html/canvas/WebGLDepthTexture.cpp
1354         html/canvas/WebGLDrawBuffers.cpp
1355         html/canvas/WebGLExtension.cpp
1356         html/canvas/WebGLFramebuffer.cpp
1357         html/canvas/WebGLLoseContext.cpp
1358         html/canvas/WebGLObject.cpp
1359         html/canvas/WebGLProgram.cpp
1360         html/canvas/WebGLQuery.cpp
1361         html/canvas/WebGLRenderbuffer.cpp
1362         html/canvas/WebGLRenderingContext.cpp
1363         html/canvas/WebGLRenderingContextBase.cpp
1364         html/canvas/WebGLSampler.cpp
1365         html/canvas/WebGLShader.cpp
1366         html/canvas/WebGLShaderPrecisionFormat.cpp
1367         html/canvas/WebGLSharedObject.cpp
1368         html/canvas/WebGLSync.cpp
1369         html/canvas/WebGLTexture.cpp
1370         html/canvas/WebGLTransformFeedback.cpp
1371         html/canvas/WebGLUniformLocation.cpp
1372         html/canvas/WebGLVertexArrayObject.cpp
1373         html/canvas/WebGLVertexArrayObjectBase.cpp
1374         html/canvas/WebGLVertexArrayObjectOES.cpp
1375     )
1376     list(APPEND WebCore_IDL_FILES
1377         html/canvas/ANGLEInstancedArrays.idl
1378         html/canvas/EXTBlendMinMax.idl
1379         html/canvas/EXTFragDepth.idl
1380         html/canvas/EXTShaderTextureLOD.idl
1381         html/canvas/EXTTextureFilterAnisotropic.idl
1382         html/canvas/EXTsRGB.idl
1383         html/canvas/OESElementIndexUint.idl
1384         html/canvas/OESStandardDerivatives.idl
1385         html/canvas/OESTextureFloat.idl
1386         html/canvas/OESTextureFloatLinear.idl
1387         html/canvas/OESTextureHalfFloat.idl
1388         html/canvas/OESTextureHalfFloatLinear.idl
1389         html/canvas/OESVertexArrayObject.idl
1390         html/canvas/WebGL2RenderingContext.idl
1391         html/canvas/WebGLActiveInfo.idl
1392         html/canvas/WebGLBuffer.idl
1393         html/canvas/WebGLCompressedTextureASTC.idl
1394         html/canvas/WebGLCompressedTextureATC.idl
1395         html/canvas/WebGLCompressedTextureETC.idl
1396         html/canvas/WebGLCompressedTextureETC1.idl
1397         html/canvas/WebGLCompressedTexturePVRTC.idl
1398         html/canvas/WebGLCompressedTextureS3TC.idl
1399         html/canvas/WebGLContextAttributes.idl
1400         html/canvas/WebGLContextEvent.idl
1401         html/canvas/WebGLDebugRendererInfo.idl
1402         html/canvas/WebGLDebugShaders.idl
1403         html/canvas/WebGLDepthTexture.idl
1404         html/canvas/WebGLDrawBuffers.idl
1405         html/canvas/WebGLFramebuffer.idl
1406         html/canvas/WebGLLoseContext.idl
1407         html/canvas/WebGLProgram.idl
1408         html/canvas/WebGLQuery.idl
1409         html/canvas/WebGLRenderbuffer.idl
1410         html/canvas/WebGLRenderingContext.idl
1411         html/canvas/WebGLRenderingContextBase.idl
1412         html/canvas/WebGLSampler.idl
1413         html/canvas/WebGLShader.idl
1414         html/canvas/WebGLShaderPrecisionFormat.idl
1415         html/canvas/WebGLSync.idl
1416         html/canvas/WebGLTexture.idl
1417         html/canvas/WebGLTransformFeedback.idl
1418         html/canvas/WebGLUniformLocation.idl
1419         html/canvas/WebGLVertexArrayObject.idl
1420         html/canvas/WebGLVertexArrayObjectOES.idl
1421     )
1422 endif ()
1423
1424 if (ENABLE_VIDEO_TRACK)
1425     list(APPEND WebCore_IDL_FILES
1426         html/track/AudioTrack.idl
1427         html/track/AudioTrackList.idl
1428         html/track/DataCue.idl
1429         html/track/TextTrack.idl
1430         html/track/TextTrackCue.idl
1431         html/track/TextTrackCueGeneric.idl
1432         html/track/TextTrackCueList.idl
1433         html/track/TextTrackList.idl
1434         html/track/TrackEvent.idl
1435         html/track/VTTCue.idl
1436         html/track/VTTRegion.idl
1437         html/track/VTTRegionList.idl
1438         html/track/VideoTrack.idl
1439         html/track/VideoTrackList.idl
1440     )
1441
1442     if (ENABLE_MEDIA_SOURCE)
1443         list(APPEND WebCore_IDL_FILES
1444             Modules/mediasource/AudioTrackMediaSource.idl
1445             Modules/mediasource/TextTrackMediaSource.idl
1446             Modules/mediasource/VideoTrackMediaSource.idl
1447         )
1448     endif ()
1449
1450     list(APPEND WebCore_SOURCES
1451         html/track/AudioTrack.cpp
1452         html/track/AudioTrackList.cpp
1453         html/track/BufferedLineReader.cpp
1454         html/track/DataCue.cpp
1455         html/track/InbandDataTextTrack.cpp
1456         html/track/InbandGenericTextTrack.cpp
1457         html/track/InbandTextTrack.cpp
1458         html/track/InbandWebVTTTextTrack.cpp
1459         html/track/LoadableTextTrack.cpp
1460         html/track/TextTrack.cpp
1461         html/track/TextTrackCue.cpp
1462         html/track/TextTrackCueGeneric.cpp
1463         html/track/TextTrackCueList.cpp
1464         html/track/TextTrackList.cpp
1465         html/track/TrackBase.cpp
1466         html/track/TrackEvent.cpp
1467         html/track/TrackListBase.cpp
1468         html/track/VTTCue.cpp
1469         html/track/VTTRegion.cpp
1470         html/track/VTTRegionList.cpp
1471         html/track/VTTScanner.cpp
1472         html/track/VideoTrack.cpp
1473         html/track/VideoTrackList.cpp
1474         html/track/WebVTTElement.cpp
1475         html/track/WebVTTParser.cpp
1476         html/track/WebVTTTokenizer.cpp
1477
1478         loader/cache/CachedTextTrack.cpp
1479
1480         platform/graphics/TextTrackRepresentation.cpp
1481         platform/graphics/TrackPrivateBase.cpp
1482     )
1483 endif ()
1484
1485 if (ENABLE_QUOTA)
1486     list(APPEND WebCore_SOURCES
1487         Modules/quota/DOMWindowQuota.cpp
1488         Modules/quota/NavigatorStorageQuota.cpp
1489         Modules/quota/StorageErrorCallback.cpp
1490         Modules/quota/StorageInfo.cpp
1491         Modules/quota/StorageQuota.cpp
1492         Modules/quota/WorkerNavigatorStorageQuota.cpp
1493     )
1494
1495     list(APPEND WebCore_IDL_FILES
1496         Modules/quota/DOMWindowQuota.idl
1497         Modules/quota/NavigatorStorageQuota.idl
1498         Modules/quota/StorageErrorCallback.idl
1499         Modules/quota/StorageInfo.idl
1500         Modules/quota/StorageQuota.idl
1501         Modules/quota/StorageQuotaCallback.idl
1502         Modules/quota/StorageUsageCallback.idl
1503         Modules/quota/WorkerNavigatorStorageQuota.idl
1504     )
1505 endif ()
1506
1507 if (ENABLE_GRAPHICS_CONTEXT_GL)
1508     list(APPEND WebCore_SOURCES
1509         platform/graphics/ANGLEWebKitBridge.cpp
1510         platform/graphics/FormatConverter.cpp
1511         platform/graphics/opengl/GraphicsContextGLOpenGL.cpp
1512     )
1513
1514     list(APPEND WebCore_LIBRARIES ANGLEFramework)
1515     list(APPEND WebCoreTestSupport_LIBRARIES ANGLEFramework)
1516
1517     # For platforms that want to use system-provided OpenGL (ES) / EGL headers,
1518     # these include directories, libraries or definitions need to be
1519     # added before the ANGLE directories.
1520     if (USE_LIBEPOXY)
1521         list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1522             ${LIBEPOXY_INCLUDE_DIRS}
1523         )
1524         list(APPEND WebCore_LIBRARIES
1525             ${LIBEPOXY_LIBRARIES}
1526         )
1527         add_definitions(${LIBEPOXY_DEFINITIONS})
1528     else ()
1529         if (USE_OPENGL)
1530             list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1531                 ${OPENGL_INCLUDE_DIRS}
1532             )
1533             list(APPEND WebCore_LIBRARIES
1534                 ${OPENGL_LIBRARIES}
1535             )
1536             add_definitions(${OPENGL_DEFINITIONS})
1537         elseif (USE_OPENGL_ES)
1538             list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1539                 ${OPENGLES2_INCLUDE_DIRS}
1540             )
1541             list(APPEND WebCore_LIBRARIES
1542                 ${OPENGLES2_LIBRARIES}
1543             )
1544             add_definitions(${OPENGLES2_DEFINITIONS})
1545         endif ()
1546
1547         if (USE_EGL)
1548             list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
1549                 ${EGL_INCLUDE_DIRS}
1550             )
1551             list(APPEND WebCore_LIBRARIES
1552                 ${EGL_LIBRARIES}
1553             )
1554             add_definitions(${EGL_DEFINITIONS})
1555         endif ()
1556     endif ()
1557
1558     list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES
1559         "${WEBCORE_DIR}/platform/graphics/gpu"
1560     )
1561 endif ()
1562
1563 if (ENABLE_USER_MESSAGE_HANDLERS)
1564     list(APPEND WebCore_IDL_FILES
1565         page/UserMessageHandler.idl
1566         page/UserMessageHandlersNamespace.idl
1567         page/WebKitNamespace.idl
1568     )
1569     list(APPEND WebCore_SOURCES
1570         page/UserMessageHandler.cpp
1571         page/UserMessageHandlerDescriptor.cpp
1572         page/UserMessageHandlersNamespace.cpp
1573         page/WebKitNamespace.cpp
1574     )
1575 endif ()
1576
1577 if (USE_WOFF2)
1578   list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES "${WOFF2DEC_INCLUDE_DIRS}")
1579   list(APPEND WebCore_LIBRARIES "${WOFF2DEC_LIBRARIES}")
1580 endif ()
1581
1582 if (USE_XDGMIME)
1583     list(APPEND WebCore_PRIVATE_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/xdgmime/src")
1584     list(APPEND WebCore_LIBRARIES xdgmime)
1585 endif ()
1586
1587 if (USE_LIBWEBRTC)
1588     list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES "${THIRDPARTY_DIR}/libwebrtc/Source/"
1589         "${THIRDPARTY_DIR}/libwebrtc/Source/webrtc"
1590         "${THIRDPARTY_DIR}/libwebrtc/Source/third_party/abseil-cpp")
1591     list(APPEND WebCore_LIBRARIES webrtc)
1592     list(APPEND WebCore_SOURCES
1593         Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp
1594         Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
1595         Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp
1596         Modules/mediastream/libwebrtc/LibWebRTCRtpReceiverBackend.cpp
1597         Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.cpp
1598         Modules/mediastream/libwebrtc/LibWebRTCRtpTransceiverBackend.cpp
1599         Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp
1600         Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp
1601     )
1602 endif ()
1603
1604 if (HAVE_OS_DARK_MODE_SUPPORT)
1605     set(FEATURE_DEFINES_WITH_SPACE_SEPARATOR "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR} HAVE_OS_DARK_MODE_SUPPORT")
1606 endif ()
1607
1608 set(WebCoreTestSupport_PRIVATE_INCLUDE_DIRECTORIES
1609     "${WEBCORE_DIR}/platform/mock"
1610     "${WEBCORE_DIR}/testing"
1611     "${WEBCORE_DIR}/testing/js"
1612     "${WebCore_DERIVED_SOURCES_DIR}"
1613 )
1614
1615 set(WebCoreTestSupport_IDL_INCLUDES
1616     testing
1617 )
1618
1619 set(WebCoreTestSupport_IDL_FILES
1620     testing/GCObservation.idl
1621     testing/InternalSettings.idl
1622     testing/Internals.idl
1623     testing/InternalsMapLike.idl
1624     testing/InternalsSetLike.idl
1625     testing/MallocStatistics.idl
1626     testing/MemoryInfo.idl
1627     testing/MockCDMFactory.idl
1628     testing/MockContentFilterSettings.idl
1629     testing/MockPageOverlay.idl
1630     testing/ServiceWorkerInternals.idl
1631     testing/TypeConversions.idl
1632 )
1633
1634 list(APPEND WebCoreTestSupport_SOURCES
1635     platform/mock/PlatformSpeechSynthesizerMock.cpp
1636
1637     platform/mock/mediasource/MockBox.cpp
1638     platform/mock/mediasource/MockMediaPlayerMediaSource.cpp
1639     platform/mock/mediasource/MockMediaSourcePrivate.cpp
1640     platform/mock/mediasource/MockSourceBufferPrivate.cpp
1641
1642     testing/GCObservation.cpp
1643     testing/InternalSettings.cpp
1644     testing/Internals.cpp
1645     testing/InternalsMapLike.cpp
1646     testing/InternalsSetLike.cpp
1647     testing/MockCDMFactory.cpp
1648     testing/MockGamepad.cpp
1649     testing/MockGamepadProvider.cpp
1650     testing/MockLibWebRTCPeerConnection.cpp
1651     testing/MockPageOverlay.cpp
1652     testing/MockPageOverlayClient.cpp
1653     testing/ServiceWorkerInternals.cpp
1654     testing/js/WebCoreTestSupport.cpp
1655 )
1656
1657
1658 if (ENABLE_WEBXR)
1659     list(APPEND WebCoreTestSupport_IDL_FILES
1660         testing/FakeXRBoundsPoint.idl
1661         testing/FakeXRButtonStateInit.idl
1662         testing/FakeXRInputSourceInit.idl
1663         testing/FakeXRRigidTransformInit.idl
1664         testing/FakeXRViewInit.idl
1665         testing/WebFakeXRDevice.idl
1666         testing/WebFakeXRInputController.idl
1667         testing/WebXRTest.idl
1668         testing/XRSimulateUserActivationFunction.idl
1669     )
1670     list(APPEND WebCoreTestSupport_SOURCES
1671         testing/WebFakeXRDevice.cpp
1672         testing/WebFakeXRInputController.cpp
1673         testing/WebXRTest.cpp
1674     )
1675 endif ()
1676
1677 # Modules that the bindings generator scripts may use
1678 set(SCRIPTS_RESOLVE_SUPPLEMENTAL
1679     ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
1680 )
1681 set(SCRIPTS_BINDINGS
1682     ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
1683     ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm
1684     ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
1685     ${WEBCORE_DIR}/bindings/scripts/InFilesParser.pm
1686     ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
1687 )
1688
1689 set(MAKE_NAMES_DEPENDENCIES
1690     ${WEBCORE_DIR}/bindings/scripts/Hasher.pm
1691     ${WEBCORE_DIR}/bindings/scripts/StaticString.pm
1692 )
1693 set(SUPPLEMENTAL_DEPENDENCY_FILE ${WebCore_DERIVED_SOURCES_DIR}/supplemental_dependency.tmp)
1694 set(ISO_SUBSPACES_HEADER_FILE ${WebCore_DERIVED_SOURCES_DIR}/DOMIsoSubspaces.h)
1695 set(WINDOW_CONSTRUCTORS_FILE ${WebCore_DERIVED_SOURCES_DIR}/DOMWindowConstructors.idl)
1696 set(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${WebCore_DERIVED_SOURCES_DIR}/WorkerGlobalScopeConstructors.idl)
1697 set(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${WebCore_DERIVED_SOURCES_DIR}/DedicatedWorkerGlobalScopeConstructors.idl)
1698 set(SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${WebCore_DERIVED_SOURCES_DIR}/ServiceWorkerGlobalScopeConstructors.idl)
1699 set(WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE ${WebCore_DERIVED_SOURCES_DIR}/WorkletGlobalScopeConstructors.idl)
1700 set(PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE ${WebCore_DERIVED_SOURCES_DIR}/PaintWorkletGlobalScopeConstructors.idl)
1701
1702 set(WebCore_INTERFACE_LIBRARIES WebCore)
1703 set(WebCore_INTERFACE_INCLUDE_DIRECTORIES ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR})
1704
1705 set(WebCoreTestSupport_INTERFACE_LIBRARIES WebCoreTestSupport)
1706 set(WebCoreTestSupport_INTERFACE_INCLUDE_DIRECTORIES
1707     ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}/WebCoreTestSupport
1708 )
1709
1710 WEBKIT_FRAMEWORK_DECLARE(WebCore)
1711 WEBKIT_FRAMEWORK_DECLARE(WebCoreTestSupport)
1712 WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
1713
1714 # Generate CommandLineAPIModuleSource.h
1715 add_custom_command(
1716     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.h ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.min.js
1717     MAIN_DEPENDENCY inspector/CommandLineAPIModuleSource.js
1718     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py
1719     COMMAND ${CMAKE_COMMAND} -E echo "//# sourceURL=__InjectedScript_CommandLineAPIModuleSource.js" > ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.min.js
1720     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py < ${WEBCORE_DIR}/inspector/CommandLineAPIModuleSource.js >> ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.min.js
1721     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl CommandLineAPIModuleSource_js ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.min.js ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.h
1722     VERBATIM)
1723 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/CommandLineAPIModuleSource.h)
1724
1725
1726 MAKE_HASH_TOOLS(${WEBCORE_DIR}/platform/ColorData)
1727 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/ColorData.cpp)
1728
1729
1730 # Generate DOMJITAbstractHeapRepository.h
1731 add_custom_command(
1732     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/DOMJITAbstractHeapRepository.h
1733     MAIN_DEPENDENCY domjit/DOMJITAbstractHeapRepository.yaml
1734     DEPENDS ${WEBCORE_DIR}/domjit/generate-abstract-heap.rb
1735     COMMAND ${RUBY_EXECUTABLE} ${WEBCORE_DIR}/domjit/generate-abstract-heap.rb ${WEBCORE_DIR}/domjit/DOMJITAbstractHeapRepository.yaml ${WebCore_DERIVED_SOURCES_DIR}/DOMJITAbstractHeapRepository.h
1736     VERBATIM)
1737 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/DOMJITAbstractHeapRepository.h)
1738
1739 # Generate XMLViewerCSS.h
1740 add_custom_command(
1741     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/XMLViewerCSS.h ${WebCore_DERIVED_SOURCES_DIR}/XMLViewer.min.css
1742     MAIN_DEPENDENCY xml/XMLViewer.css
1743     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/cssmin.py
1744     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/cssmin.py < ${WEBCORE_DIR}/xml/XMLViewer.css > ${WebCore_DERIVED_SOURCES_DIR}/XMLViewer.min.css
1745     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl XMLViewer_css ${WebCore_DERIVED_SOURCES_DIR}/XMLViewer.min.css ${WebCore_DERIVED_SOURCES_DIR}/XMLViewerCSS.h
1746     VERBATIM)
1747 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/XMLViewerCSS.h)
1748
1749 # Generate XMLViewerJS.h
1750 add_custom_command(
1751     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/XMLViewerJS.h ${WebCore_DERIVED_SOURCES_DIR}/XMLViewer.min.js
1752     MAIN_DEPENDENCY xml/XMLViewer.js
1753     DEPENDS ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py
1754     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/jsmin.py < ${WEBCORE_DIR}/xml/XMLViewer.js > ${WebCore_DERIVED_SOURCES_DIR}/XMLViewer.min.js
1755     COMMAND ${PERL_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/xxd.pl XMLViewer_js ${WebCore_DERIVED_SOURCES_DIR}/XMLViewer.min.js ${WebCore_DERIVED_SOURCES_DIR}/XMLViewerJS.h
1756     VERBATIM)
1757 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/XMLViewerJS.h)
1758
1759 # Generate HTML entity table
1760 add_custom_command(
1761     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/HTMLEntityTable.cpp
1762     MAIN_DEPENDENCY ${WEBCORE_DIR}/html/parser/HTMLEntityNames.in
1763     DEPENDS ${WEBCORE_DIR}/html/parser/create-html-entity-table
1764     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/html/parser/create-html-entity-table -o ${WebCore_DERIVED_SOURCES_DIR}/HTMLEntityTable.cpp ${WEBCORE_DIR}/html/parser/HTMLEntityNames.in
1765     VERBATIM)
1766 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/HTMLEntityTable.cpp)
1767
1768 # Generate HTTP header names
1769 add_custom_command(
1770     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/HTTPHeaderNames.cpp ${WebCore_DERIVED_SOURCES_DIR}/HTTPHeaderNames.gperf ${WebCore_DERIVED_SOURCES_DIR}/HTTPHeaderNames.h
1771     MAIN_DEPENDENCY ${WEBCORE_DIR}/platform/network/HTTPHeaderNames.in
1772     DEPENDS ${WEBCORE_DIR}/platform/network/create-http-header-name-table
1773     WORKING_DIRECTORY ${WebCore_DERIVED_SOURCES_DIR}
1774     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/platform/network/create-http-header-name-table ${WEBCORE_DIR}/platform/network/HTTPHeaderNames.in "${GPERF_EXECUTABLE}"
1775     VERBATIM)
1776 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/HTTPHeaderNames.cpp)
1777
1778 # Generate CSS property names
1779 add_custom_command(
1780     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/CSSProperties.json ${WebCore_DERIVED_SOURCES_DIR}/CSSPropertyNames.h ${WebCore_DERIVED_SOURCES_DIR}/CSSPropertyNames.cpp ${WebCore_DERIVED_SOURCES_DIR}/CSSPropertyNames.gperf ${WebCore_DERIVED_SOURCES_DIR}/StyleBuilderGenerated.cpp ${WebCore_DERIVED_SOURCES_DIR}/StylePropertyShorthandFunctions.h ${WebCore_DERIVED_SOURCES_DIR}/StylePropertyShorthandFunctions.cpp
1781     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeprop.pl
1782     DEPENDS ${WebCore_CSS_PROPERTY_NAMES}
1783     WORKING_DIRECTORY ${WebCore_DERIVED_SOURCES_DIR}
1784     COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_PROPERTY_NAMES} > ${WebCore_DERIVED_SOURCES_DIR}/CSSProperties.json
1785     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/makeprop.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --gperf-executable "${GPERF_EXECUTABLE}"
1786     VERBATIM)
1787 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/CSSPropertyNames.cpp)
1788 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/StyleBuilderGenerated.cpp)
1789 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/StylePropertyShorthandFunctions.cpp)
1790 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
1791
1792 # Generate CSS value keywords
1793 add_custom_command(
1794     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.in ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.h ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.cpp ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.gperf
1795     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makevalues.pl
1796     DEPENDS ${WebCore_CSS_VALUE_KEYWORDS}
1797     WORKING_DIRECTORY ${WebCore_DERIVED_SOURCES_DIR}
1798     COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_VALUE_KEYWORDS} > ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.in
1799     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/makevalues.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR} ${CSS_VALUE_PLATFORM_DEFINES}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" --gperf-executable "${GPERF_EXECUTABLE}"
1800     VERBATIM)
1801 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/CSSValueKeywords.cpp)
1802 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
1803 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSPrimitiveValueMappings.h CSSValueKeywords.h)
1804
1805 # Generate CSS Selector pseudo type name to value maps.
1806 add_custom_command(
1807     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/SelectorPseudoClassAndCompatibilityElementMap.gperf ${WebCore_DERIVED_SOURCES_DIR}/SelectorPseudoClassAndCompatibilityElementMap.cpp
1808     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/SelectorPseudoClassAndCompatibilityElementMap.in
1809     DEPENDS ${WEBCORE_DIR}/css/makeSelectorPseudoClassAndCompatibilityElementMap.py
1810     WORKING_DIRECTORY ${WebCore_DERIVED_SOURCES_DIR}
1811     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/css/makeSelectorPseudoClassAndCompatibilityElementMap.py ${WEBCORE_DIR}/css/SelectorPseudoClassAndCompatibilityElementMap.in "${GPERF_EXECUTABLE}" "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}"
1812     VERBATIM)
1813 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/SelectorPseudoClassAndCompatibilityElementMap.cpp)
1814 add_custom_command(
1815     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/SelectorPseudoElementTypeMap.gperf ${WebCore_DERIVED_SOURCES_DIR}/SelectorPseudoElementTypeMap.cpp
1816     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/SelectorPseudoElementTypeMap.in
1817     DEPENDS ${WEBCORE_DIR}/css/makeSelectorPseudoElementsMap.py
1818     WORKING_DIRECTORY ${WebCore_DERIVED_SOURCES_DIR}
1819     COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/css/makeSelectorPseudoElementsMap.py ${WEBCORE_DIR}/css/SelectorPseudoElementTypeMap.in "${GPERF_EXECUTABLE}" "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}"
1820     VERBATIM)
1821 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/SelectorPseudoElementTypeMap.cpp)
1822
1823 # Generate user agent styles
1824 add_custom_command(
1825     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/UserAgentStyleSheetsData.cpp ${WebCore_DERIVED_SOURCES_DIR}/UserAgentStyleSheets.h
1826     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/make-css-file-arrays.pl
1827     DEPENDS ${WebCore_USER_AGENT_STYLE_SHEETS} ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
1828     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/make-css-file-arrays.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${WebCore_DERIVED_SOURCES_DIR}/UserAgentStyleSheets.h ${WebCore_DERIVED_SOURCES_DIR}/UserAgentStyleSheetsData.cpp ${WebCore_USER_AGENT_STYLE_SHEETS}
1829     VERBATIM)
1830 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/UserAgentStyleSheetsData.cpp)
1831 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/StyleResolver.cpp UserAgentStyleSheetsData.cpp UserAgentStyleSheets.h)
1832
1833 if (WebCore_USER_AGENT_SCRIPTS)
1834     # Necessary variables:
1835     # WebCore_USER_AGENT_SCRIPTS containing the JavaScript sources list
1836     # WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES containing the source file that will load the scripts to add the proper
1837     #   dependency and having them built at the right moment
1838
1839     MAKE_JS_FILE_ARRAYS(
1840         ${WebCore_DERIVED_SOURCES_DIR}/UserAgentScriptsData.cpp
1841         ${WebCore_DERIVED_SOURCES_DIR}/UserAgentScripts.h
1842         WebCore
1843         WebCore_USER_AGENT_SCRIPTS
1844         WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES
1845     )
1846     list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/UserAgentScriptsData.cpp)
1847 endif ()
1848
1849 # Generate plug-in resources
1850 add_custom_command(
1851     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/PlugInsResourcesData.cpp ${WebCore_DERIVED_SOURCES_DIR}/PlugInsResources.h
1852     MAIN_DEPENDENCY ${WEBCORE_DIR}/css/make-css-file-arrays.pl
1853     DEPENDS ${WebCore_PLUG_INS_RESOURCES} ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
1854     COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/css/make-css-file-arrays.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${WebCore_DERIVED_SOURCES_DIR}/PlugInsResources.h ${WebCore_DERIVED_SOURCES_DIR}/PlugInsResourcesData.cpp ${WebCore_PLUG_INS_RESOURCES}
1855     VERBATIM)
1856 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/PlugInsResourcesData.cpp)
1857 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/StyleResolver.cpp PlugInsResourcesData.cpp PlugInsResources.h)
1858
1859 set(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
1860
1861 GENERATE_SETTINGS_MACROS(${WEBCORE_DIR}/page/Settings.yaml Settings.h)
1862 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/Settings.h)
1863 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/Settings.cpp)
1864 list(APPEND WebCoreTestSupport_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/InternalSettingsGenerated.cpp)
1865 list(APPEND WebCoreTestSupport_IDL_FILES ${WebCore_DERIVED_SOURCES_DIR}/InternalSettingsGenerated.idl)
1866
1867 GENERATE_BINDINGS(WebCoreBindings
1868     OUTPUT_SOURCE WebCore_SOURCES
1869     INPUT_FILES ${WebCore_IDL_FILES}
1870     PP_INPUT_FILES ${WebCore_IDL_FILES} ${WebCoreTestSupport_IDL_FILES}
1871     BASE_DIR ${WEBCORE_DIR}
1872     IDL_INCLUDES ${WebCore_IDL_INCLUDES} ${WebCore_DERIVED_SOURCES_DIR}
1873     FEATURES ${FEATURE_DEFINES_JAVASCRIPT}
1874     DESTINATION ${WebCore_DERIVED_SOURCES_DIR}
1875     GENERATOR JS
1876     SUPPLEMENTAL_DEPFILE ${SUPPLEMENTAL_DEPENDENCY_FILE}
1877     PP_EXTRA_OUTPUT
1878         ${ISO_SUBSPACES_HEADER_FILE} ${WINDOW_CONSTRUCTORS_FILE} ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE} ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1879     PP_EXTRA_ARGS
1880         --isoSubspacesHeaderFile ${ISO_SUBSPACES_HEADER_FILE}
1881         --windowConstructorsFile ${WINDOW_CONSTRUCTORS_FILE}
1882         --workerGlobalScopeConstructorsFile ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1883         --dedicatedWorkerGlobalScopeConstructorsFile ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1884         --serviceWorkerGlobalScopeConstructorsFile ${SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
1885         --workletGlobalScopeConstructorsFile ${WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE}
1886         --paintWorkletGlobalScopeConstructorsFile ${PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE})
1887 list(APPEND WebCore_DEPENDENCIES WebCoreBindings WebInspectorUI)
1888
1889 GENERATE_BINDINGS(WebCoreTestSupportBindings
1890     OUTPUT_SOURCE WebCoreTestSupport_SOURCES
1891     INPUT_FILES ${WebCoreTestSupport_IDL_FILES}
1892     BASE_DIR ${WEBCORE_DIR}
1893     IDL_INCLUDES ${WebCore_IDL_INCLUDES} ${WebCore_DERIVED_SOURCES_DIR} ${WebCoreTestSupport_IDL_INCLUDES}
1894     FEATURES ${FEATURE_DEFINES_JAVASCRIPT}
1895     DESTINATION ${WebCore_DERIVED_SOURCES_DIR}
1896     GENERATOR JS)
1897
1898 # WebCoreTestSupportBindings needs to have a direct or indirect
1899 # dependency to WebCoreBindings for CMake Visual Studio generator to
1900 # eliminate duplicated custom commands. Otherwise,
1901 # GenerateSettings.rb will be triggered in both projects.
1902 add_dependencies(WebCoreTestSupportBindings WebCoreBindings)
1903
1904 # WebCore JS Builtins
1905
1906 set(WebCore_BUILTINS_SOURCES
1907     ${WEBCORE_DIR}/Modules/mediastream/RTCPeerConnection.js
1908     ${WEBCORE_DIR}/Modules/mediastream/RTCPeerConnectionInternals.js
1909     ${WEBCORE_DIR}/Modules/streams/ByteLengthQueuingStrategy.js
1910     ${WEBCORE_DIR}/Modules/streams/CountQueuingStrategy.js
1911     ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamController.js
1912     ${WEBCORE_DIR}/Modules/streams/ReadableByteStreamInternals.js
1913     ${WEBCORE_DIR}/Modules/streams/ReadableStream.js
1914     ${WEBCORE_DIR}/Modules/streams/ReadableStreamBYOBReader.js
1915     ${WEBCORE_DIR}/Modules/streams/ReadableStreamBYOBRequest.js
1916     ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultController.js
1917     ${WEBCORE_DIR}/Modules/streams/ReadableStreamInternals.js
1918     ${WEBCORE_DIR}/Modules/streams/ReadableStreamDefaultReader.js
1919     ${WEBCORE_DIR}/Modules/streams/StreamInternals.js
1920     ${WEBCORE_DIR}/Modules/streams/WritableStream.js
1921     ${WEBCORE_DIR}/Modules/streams/WritableStreamInternals.js
1922     ${WEBCORE_DIR}/bindings/js/JSDOMBindingInternals.js
1923 )
1924
1925 set(BUILTINS_GENERATOR_SCRIPTS
1926     ${JavaScriptCore_SCRIPTS_DIR}/wkbuiltins.py
1927     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generator.py
1928     ${JavaScriptCore_SCRIPTS_DIR}/builtins_model.py
1929     ${JavaScriptCore_SCRIPTS_DIR}/builtins_templates.py
1930     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_header.py
1931     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_implementation.py
1932     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_header.py
1933     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_implementation.py
1934     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_header.py
1935     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_wrapper_implementation.py
1936     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_header.py
1937     ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_internals_wrapper_implementation.py
1938     ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py
1939     ${JavaScriptCore_SCRIPTS_DIR}/lazywriter.py
1940 )
1941
1942 foreach (_builtinSource ${WebCore_BUILTINS_SOURCES})
1943     get_filename_component(_objectName ${_builtinSource} NAME_WE)
1944     add_custom_command(
1945         OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/${_objectName}Builtins.cpp
1946                ${WebCore_DERIVED_SOURCES_DIR}/${_objectName}Builtins.h
1947         MAIN_DEPENDENCY ${_builtinSource}
1948         DEPENDS ${BUILTINS_GENERATOR_SCRIPTS}
1949         COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py --framework WebCore --output-directory ${WebCore_DERIVED_SOURCES_DIR} ${_builtinSource}
1950         VERBATIM)
1951     list(APPEND WebCore_DERIVED_BUILTIN_HEADERS ${WebCore_DERIVED_SOURCES_DIR}/${_objectName}Builtins.h)
1952 endforeach ()
1953
1954 add_custom_command(
1955     OUTPUT ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltins.cpp
1956            ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.cpp
1957            ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltins.h
1958            ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.h
1959     MAIN_DEPENDENCY ${WebCore_BUILTINS_SOURCES}
1960     DEPENDS ${BUILTINS_GENERATOR_SCRIPTS} ${WebCore_DERIVED_BUILTIN_HEADERS}
1961     COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py --wrappers-only --framework WebCore --output-directory ${WebCore_DERIVED_SOURCES_DIR} ${WebCore_BUILTINS_SOURCES}
1962     VERBATIM)
1963 list(APPEND WebCore_SOURCES
1964     ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltins.cpp
1965     ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.cpp
1966     ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltins.h
1967     ${WebCore_DERIVED_SOURCES_DIR}/WebCoreJSBuiltinInternals.h)
1968
1969 ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/html/HTMLTreeBuilder.cpp MathMLNames.cpp)
1970
1971
1972 GENERATE_DOM_NAMES(HTML ${WEBCORE_DIR}/html/HTMLAttributeNames.in ${WEBCORE_DIR}/html/HTMLTagNames.in "")
1973 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/HTMLNames.cpp ${WebCore_DERIVED_SOURCES_DIR}/HTMLElementFactory.cpp ${WebCore_DERIVED_SOURCES_DIR}/JSHTMLElementWrapperFactory.cpp)
1974
1975
1976 GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventNames.in Event)
1977 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/EventInterfaces.h)
1978 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/EventFactory.cpp)
1979
1980
1981 GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventTargetFactory.in EventTarget)
1982 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/EventTargetInterfaces.h)
1983 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/EventTargetFactory.cpp)
1984
1985
1986 GENERATE_FONT_NAMES(${WEBCORE_DIR}/css/WebKitFontFamilyNames.in)
1987 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/WebKitFontFamilyNames.cpp)
1988
1989
1990 GENERATE_DOM_NAMES(MathML ${WEBCORE_DIR}/mathml/mathattrs.in ${WEBCORE_DIR}/mathml/mathtags.in "")
1991 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/MathMLNames.cpp)
1992 if (ENABLE_MATHML)
1993     list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/MathMLElementFactory.cpp)
1994 endif ()
1995
1996 # SVG extra defines need to map to a numerical value for correct preprocessing of svgtags.in.
1997 set(SVG_EXTRA_DEFINES "")
1998 if (ENABLE_SVG_FONTS)
1999     list(APPEND SVG_EXTRA_DEFINES "ENABLE_SVG_FONTS=1")
2000 endif ()
2001
2002 GENERATE_DOM_NAMES(SVG ${WEBCORE_DIR}/svg/svgattrs.in ${WEBCORE_DIR}/svg/svgtags.in "${SVG_EXTRA_DEFINES}")
2003 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/SVGNames.cpp)
2004
2005 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/SVGElementFactory.cpp ${WebCore_DERIVED_SOURCES_DIR}/JSSVGElementWrapperFactory.cpp)
2006
2007 GENERATE_DOM_NAMES(XLink ${WEBCORE_DIR}/svg/xlinkattrs.in)
2008 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/XLinkNames.cpp)
2009
2010
2011 GENERATE_DOM_NAMES(XMLNS ${WEBCORE_DIR}/xml/xmlnsattrs.in)
2012 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/XMLNSNames.cpp)
2013
2014 GENERATE_DOM_NAMES(XML ${WEBCORE_DIR}/xml/xmlattrs.in)
2015 list(APPEND WebCore_SOURCES ${WebCore_DERIVED_SOURCES_DIR}/XMLNames.cpp)
2016
2017 WEBKIT_WRAP_SOURCELIST(${WebCore_IDL_FILES})
2018 WEBKIT_COMPUTE_SOURCES(WebCore)
2019 WEBKIT_WRAP_SOURCELIST(${WebCore_SOURCES})
2020 WEBKIT_WRAP_SOURCELIST(${WebCoreTestSupport_IDL_FILES} ${WebCoreTestSupport_SOURCES})
2021
2022 if (MSVC)
2023     WEBKIT_ADD_PRECOMPILED_HEADER("WebCorePrefix.h" "WebCorePrefix.cpp" WebCore_SOURCES)
2024 endif ()
2025
2026 WEBKIT_COPY_FILES(WebCore_CopyPrivateHeaders
2027     DESTINATION ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}/WebCore
2028     FILES ${WebCore_PRIVATE_FRAMEWORK_HEADERS}
2029     FLATTENED
2030 )
2031 list(APPEND WebCore_INTERFACE_DEPENDENCIES WebCore_CopyPrivateHeaders)
2032
2033 WEBKIT_FRAMEWORK(WebCore)
2034 WEBKIT_FRAMEWORK_TARGET(WebCore)
2035
2036 if (APPLE)
2037     set_target_properties(WebCore PROPERTIES LINK_FLAGS "-sub_library libobjc -umbrella WebKit -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy")
2038 endif ()
2039
2040 # The -ftree-sra optimization (implicit with -O2) causes crashes when
2041 # allocating large chunks of memory using bmalloc on Intel 32bit.
2042 # See https://bugs.webkit.org/show_bug.cgi?id=146440
2043 string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR)
2044 if (CMAKE_COMPILER_IS_GNUCXX AND "${LOWERCASE_CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES "(i[3-6]86|x86)$")
2045     WEBKIT_ADD_TARGET_CXX_FLAGS(WebCore -fno-tree-sra)
2046 endif ()
2047
2048 if (MSVC)
2049     WEBKIT_ADD_PRECOMPILED_HEADER("WebCoreTestSupportPrefix.h" "testing/js/WebCoreTestSupportPrefix.cpp" WebCoreTestSupport_SOURCES)
2050 endif ()
2051
2052 WEBKIT_COPY_FILES(Copy_WebCoreTestSupportPrivateHeaders
2053     DESTINATION ${WebCore_PRIVATE_FRAMEWORK_HEADERS_DIR}/WebCoreTestSupport
2054     FILES testing/js/WebCoreTestSupport.h
2055     FLATTENED
2056 )
2057 list(APPEND WebCoreTestSupport_INTERFACE_DEPENDENCIES Copy_WebCoreTestSupportPrivateHeaders)
2058
2059 list(APPEND WebCoreTestSupport_INCLUDE_DIRECTORIES ${WebCore_INCLUDE_DIRECTORIES})
2060 list(APPEND WebCoreTestSupport_PRIVATE_INCLUDE_DIRECTORIES ${WebCore_PRIVATE_INCLUDE_DIRECTORIES})
2061 list(APPEND WebCoreTestSupport_SYSTEM_INCLUDE_DIRECTORIES ${WebCore_SYSTEM_INCLUDE_DIRECTORIES})
2062
2063 if (WebCore_LIBRARY_TYPE STREQUAL SHARED)
2064     list(APPEND WebCoreTestSupport_LIBRARIES WebCore)
2065 else ()
2066     list(APPEND WebCoreTestSupport_LIBRARIES ${WebCore_LIBRARIES})
2067     list(APPEND WebCoreTestSupport_PRIVATE_LIBRARIES ${WebCore_PRIVATE_LIBRARIES})
2068     list(APPEND WebCoreTestSupport_DEPENDENCIES WebCore)
2069 endif ()
2070
2071 WEBKIT_FRAMEWORK(WebCoreTestSupport)
2072 WEBKIT_FRAMEWORK_TARGET(WebCoreTestSupport)
2073
2074 if (${WebCore_LIBRARY_TYPE} MATCHES "SHARED")
2075     set_target_properties(WebCore PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
2076     install(TARGETS WebCore DESTINATION "${LIB_INSTALL_DIR}")
2077 endif ()
2078
2079 if (MSVC)
2080     set_target_properties(WebCore PROPERTIES
2081         COMPILE_PDB_NAME ${WebCore_OUTPUT_NAME}
2082     )
2083 endif ()