Unreviewed, rolling out r243438.
[WebKit-https.git] / Source / WebCore / bindings / js / WebCoreBuiltinNames.h
1 /*
2  *  Copyright (c) 2015, Canon Inc. All rights reserved.
3  *  Copyright (C) 2018 Apple Inc. All rights reserved.
4  *
5  *  Redistribution and use in source and binary forms, with or without
6  *  modification, are permitted provided that the following conditions
7  *  are met:
8  *  1.  Redistributions of source code must retain the above copyright
9  *      notice, this list of conditions and the following disclaimer.
10  *  2.  Redistributions in binary form must reproduce the above copyright
11  *      notice, this list of conditions and the following disclaimer in the
12  *      documentation and/or other materials provided with the distribution.
13  *  3.  Neither the name of Canon Inc. nor the names of
14  *      its contributors may be used to endorse or promote products derived
15  *      from this software without specific prior written permission.
16  *  THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
17  *  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  *  DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
20  *  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  *  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22  *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23  *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24  *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27
28 #pragma once
29
30 #include <JavaScriptCore/BuiltinUtils.h>
31
32 #if USE(APPLE_INTERNAL_SDK)
33 #include <WebKitAdditions/WebCoreBuiltinNamesAdditions.h>
34 #endif
35
36 namespace WebCore {
37
38 #if !defined(WEBCORE_ADDITIONAL_PRIVATE_IDENTIFIERS)
39 #define WEBCORE_ADDITIONAL_PRIVATE_IDENTIFIERS(macro)
40 #endif
41
42 #define WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \
43     macro(Animation) \
44     macro(AnimationEffect) \
45     macro(AnimationPlaybackEvent) \
46     macro(AnimationTimeline) \
47     macro(ApplePaySession) \
48     macro(AttachmentElement) \
49     macro(Audio) \
50     macro(AuthenticatorAssertionResponse) \
51     macro(AuthenticatorAttestationResponse) \
52     macro(AuthenticatorResponse) \
53     macro(BlobEvent) \
54     macro(Cache) \
55     macro(CacheStorage) \
56     macro(Client) \
57     macro(Clients) \
58     macro(Credential) \
59     macro(CredentialsContainer) \
60     macro(CSSAnimation) \
61     macro(CSSImageValue) \
62     macro(CSSNumericValue) \
63     macro(CSSPaintSize) \
64     macro(CSSStyleValue) \
65     macro(CSSTransition) \
66     macro(CSSUnitValue) \
67     macro(CSSUnparsedValue) \
68     macro(CustomElementRegistry) \
69     macro(Database) \
70     macro(DataTransferItem) \
71     macro(DataTransferItemList) \
72     macro(DocumentTimeline) \
73     macro(ExtendableEvent) \
74     macro(ExtendableMessageEvent) \
75     macro(FetchEvent) \
76     macro(FileSystem) \
77     macro(FileSystemDirectoryEntry) \
78     macro(FileSystemDirectoryReader) \
79     macro(FileSystemEntry) \
80     macro(FileSystemFileEntry) \
81     macro(Gamepad) \
82     macro(GamepadButton) \
83     macro(GamepadEvent) \
84     macro(GPUBufferUsage) \
85     macro(GPUCanvasContext) \
86     macro(GPUShaderModule) \
87     macro(GPUCommandBuffer) \
88     macro(GPUCommandEncoder) \
89     macro(GPUComputePassEncoder) \
90     macro(GPUComputePipeline) \
91     macro(GPUShaderStageBit) \
92     macro(GPUSwapChain) \
93     macro(GPUTextureUsage) \
94     macro(HTMLAttachmentElement) \
95     macro(HTMLAudioElement) \
96     macro(HTMLDataListElement) \
97     macro(HTMLMenuItemElement) \
98     macro(HTMLSlotElement) \
99     macro(Headers) \
100     macro(IDBCursor) \
101     macro(IDBCursorWithValue) \
102     macro(IDBDatabase) \
103     macro(IDBFactory) \
104     macro(IDBIndex) \
105     macro(IDBKeyRange) \
106     macro(IDBObjectStore) \
107     macro(IDBOpenDBRequest) \
108     macro(IDBRequest) \
109     macro(IDBTransaction) \
110     macro(IDBVersionChangeEvent) \
111     macro(ImageBitmap) \
112     macro(ImageBitmapRenderingContext) \
113     macro(InputEvent) \
114     macro(IntersectionObserver) \
115     macro(IntersectionObserverEntry) \
116     macro(KeyframeEffect) \
117     macro(MediaCapabilities) \
118     macro(MediaCapabilitiesInfo) \
119     macro(MediaEncryptedEvent) \
120     macro(MediaKeyMessageEvent) \
121     macro(MediaKeySession) \
122     macro(MediaKeyStatusMap) \
123     macro(MediaKeySystemAccess) \
124     macro(MediaKeys) \
125     macro(MediaRecorder) \
126     macro(MediaRecorderErrorEvent) \
127     macro(MediaSource) \
128     macro(MediaStream) \
129     macro(MediaStreamTrack) \
130     macro(MerchantValidationEvent) \
131     macro(ModernMediaControls) \
132     macro(NavigatorCredentials) \
133     macro(NavigatorMediaDevices) \
134     macro(NavigatorUserMedia) \
135     macro(OffscreenCanvas) \
136     macro(OffscreenCanvasRenderingContext2D) \
137     macro(PaintRenderingContext2D) \
138     macro(PaymentAddress) \
139     macro(PaymentMethodChangeEvent) \
140     macro(PaymentRequest) \
141     macro(PaymentRequestUpdateEvent) \
142     macro(PaymentResponse) \
143     macro(SQLError) \
144     macro(SQLResultSet) \
145     macro(SQLResultSetRowList) \
146     macro(SQLTransaction) \
147     macro(PaintWorkletGlobalScope) \
148     macro(PerformanceEntry) \
149     macro(PerformanceEntryList) \
150     macro(PerformanceMark) \
151     macro(PerformanceMeasure) \
152     macro(PerformanceObserver) \
153     macro(PerformanceObserverEntryList) \
154     macro(PerformanceResourceTiming) \
155     macro(PerformanceServerTiming) \
156     macro(PointerEvent) \
157     macro(PublicKeyCredential) \
158     macro(RTCCertificate) \
159     macro(RTCDTMFSender) \
160     macro(RTCDTMFToneChangeEvent) \
161     macro(RTCDataChannel) \
162     macro(RTCDataChannelEvent) \
163     macro(RTCIceCandidate) \
164     macro(RTCIceTransport) \
165     macro(RTCPeerConnection) \
166     macro(RTCPeerConnectionIceEvent) \
167     macro(RTCRtpReceiver) \
168     macro(RTCRtpSender) \
169     macro(RTCRtpTransceiver) \
170     macro(RTCSessionDescription) \
171     macro(RTCStatsReport) \
172     macro(RTCTrackEvent) \
173     macro(ReadableByteStreamController) \
174     macro(ReadableStream) \
175     macro(ReadableStreamBYOBReader) \
176     macro(ReadableStreamBYOBRequest) \
177     macro(ReadableStreamDefaultController) \
178     macro(ReadableStreamDefaultReader) \
179     macro(Request) \
180     macro(Response) \
181     macro(ScreenLuminance) \
182     macro(ServiceWorker) \
183     macro(ServiceWorkerContainer) \
184     macro(ServiceWorkerGlobalScope) \
185     macro(ServiceWorkerRegistration) \
186     macro(ShadowRoot) \
187     macro(SpectreGadget) \
188     macro(StaticRange) \
189     macro(StylePropertyMapReadOnly) \
190     macro(StylePropertyMap) \
191     macro(UndoItem) \
192     macro(UndoManager) \
193     macro(VRDisplay) \
194     macro(VRDisplayCapabilities) \
195     macro(VRDisplayEvent) \
196     macro(VREyeParameters) \
197     macro(VRFieldOfView) \
198     macro(VRFrameData) \
199     macro(VRStageParameters) \
200     macro(VisualViewport) \
201     macro(WebGL2RenderingContext) \
202     macro(WebGLVertexArrayObject) \
203     macro(WebGPU) \
204     macro(WebGPUAdapter) \
205     macro(WebGPUBindGroup) \
206     macro(WebGPUBindGroupLayout) \
207     macro(WebGPUBuffer) \
208     macro(WebGPUDevice) \
209     macro(WebGPUIndexFormat) \
210     macro(WebGPUInputStepMode) \
211     macro(WebGPUQueue) \
212     macro(WebGPUPipelineLayout) \
213     macro(WebGPUProgrammablePassEncoder) \
214     macro(WebGPURenderPassEncoder) \
215     macro(WebGPURenderPipeline) \
216     macro(WebGPUSampler) \
217     macro(WebGPUTexture) \
218     macro(WebGPUTextureView) \
219     macro(WebGPUVertexFormat) \
220     macro(WebMetalBuffer) \
221     macro(WebMetalCommandBuffer) \
222     macro(WebMetalCommandQueue) \
223     macro(WebMetalComputeCommandEncoder) \
224     macro(WebMetalComputePipelineState) \
225     macro(WebMetalDepthStencilDescriptor) \
226     macro(WebMetalDepthStencilState) \
227     macro(WebMetalDrawable) \
228     macro(WebMetalFunction) \
229     macro(WebMetalLibrary) \
230     macro(WebMetalRenderCommandEncoder) \
231     macro(WebMetalRenderPassAttachmentDescriptor) \
232     macro(WebMetalRenderPassColorAttachmentDescriptor) \
233     macro(WebMetalRenderPassDepthAttachmentDescriptor) \
234     macro(WebMetalRenderPassDescriptor) \
235     macro(WebMetalRenderPipelineColorAttachmentDescriptor) \
236     macro(WebMetalRenderPipelineDescriptor) \
237     macro(WebMetalRenderPipelineState) \
238     macro(WebMetalRenderingContext) \
239     macro(WebMetalSize) \
240     macro(WebMetalTexture) \
241     macro(WebMetalTextureDescriptor) \
242     macro(WebKitMediaKeyError) \
243     macro(WebKitMediaKeyMessageEvent) \
244     macro(WebKitMediaKeyNeededEvent) \
245     macro(WebKitMediaKeySession) \
246     macro(WebKitMediaKeys) \
247     macro(WebSocket) \
248     macro(WindowClient) \
249     macro(Worklet) \
250     macro(WorkletGlobalScope) \
251     macro(WritableStream) \
252     macro(XMLHttpRequest) \
253     macro(appendFromJS) \
254     macro(associatedReadableByteStreamController) \
255     macro(autoAllocateChunkSize) \
256     macro(backingMap) \
257     macro(blur) \
258     macro(body) \
259     macro(byobRequest) \
260     macro(caches) \
261     macro(cancel) \
262     macro(cloneArrayBuffer) \
263     macro(close) \
264     macro(closeRequested) \
265     macro(closed) \
266     macro(closedPromiseCapability) \
267     macro(collectMatchingElementsInFlatTree) \
268     macro(consume) \
269     macro(consumeChunk) \
270     macro(controlledReadableStream) \
271     macro(controller) \
272     macro(createImageBitmap) \
273     macro(createReadableStream) \
274     macro(customElements) \
275     macro(disturbed) \
276     macro(document) \
277     macro(failureKind) \
278     macro(fetch) \
279     macro(fetchRequest) \
280     macro(fillFromJS) \
281     macro(finishConsumingStream) \
282     macro(focus) \
283     macro(frames) \
284     macro(getTracks) \
285     macro(getUserMedia) \
286     macro(gpu) \
287     macro(header) \
288     macro(href) \
289     macro(indexedDB) \
290     macro(initializeWith) \
291     macro(isDisturbed) \
292     macro(isLoading) \
293     macro(isSecureContext) \
294     macro(localStreams) \
295     macro(location) \
296     macro(makeGetterTypeError) \
297     macro(makeThisTypeError) \
298     macro(matchingElementInFlatTree) \
299     macro(mediaStreamTrackConstraints) \
300     macro(openDatabase) \
301     macro(onvrdisplayactivate) \
302     macro(onvrdisplayblur) \
303     macro(onvrdisplayconnect) \
304     macro(onvrdisplaydeactivate) \
305     macro(onvrdisplaydisconnect) \
306     macro(onvrdisplayfocus) \
307     macro(onvrdisplaypresentchange) \
308     macro(opener) \
309     macro(operations) \
310     macro(ownerReadableStream) \
311     macro(parent) \
312     macro(pendingPullIntos) \
313     macro(postMessage) \
314     macro(privateGetStats) \
315     macro(pull) \
316     macro(pullAgain) \
317     macro(pulling) \
318     macro(queue) \
319     macro(queuedAddIceCandidate) \
320     macro(queuedCreateAnswer) \
321     macro(queuedCreateOffer) \
322     macro(queuedSetLocalDescription) \
323     macro(queuedSetRemoteDescription) \
324     macro(readIntoRequests) \
325     macro(readRequests) \
326     macro(readableByteStreamAPIEnabled) \
327     macro(readableStreamController) \
328     macro(reader) \
329     macro(readyPromiseCapability) \
330     macro(response) \
331     macro(responseCacheIsValid) \
332     macro(retrieveResponse) \
333     macro(self) \
334     macro(setBody) \
335     macro(setBodyFromInputRequest) \
336     macro(setStatus) \
337     macro(showModalDialog) \
338     macro(startConsumingStream) \
339     macro(started) \
340     macro(startedPromise) \
341     macro(state) \
342     macro(storedError) \
343     macro(strategy) \
344     macro(strategyHWM) \
345     macro(streamClosed) \
346     macro(streamClosing) \
347     macro(streamErrored) \
348     macro(streamReadable) \
349     macro(streamWaiting) \
350     macro(streamWritable) \
351     macro(structuredCloneArrayBuffer) \
352     macro(structuredCloneArrayBufferView) \
353     macro(top) \
354     macro(underlyingByteSource) \
355     macro(underlyingSink) \
356     macro(underlyingSource) \
357     macro(view) \
358     macro(visualViewport) \
359     macro(webkit) \
360     macro(webkitAudioContext) \
361     macro(webkitIDBCursor) \
362     macro(webkitIDBDatabase) \
363     macro(webkitIDBFactory) \
364     macro(webkitIDBIndex) \
365     macro(webkitIDBKeyRange) \
366     macro(webkitIDBObjectStore) \
367     macro(webkitIDBRequest) \
368     macro(webkitIDBTransaction) \
369     macro(webkitIndexedDB) \
370     macro(window) \
371     macro(writing) \
372     WEBCORE_ADDITIONAL_PRIVATE_IDENTIFIERS(macro) \
373
374 class WebCoreBuiltinNames {
375 public:
376     explicit WebCoreBuiltinNames(JSC::VM* vm)
377         : m_vm(*vm)
378         WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_BUILTIN_NAMES)
379     {
380 #define EXPORT_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName());
381         WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(EXPORT_NAME)
382 #undef EXPORT_NAME
383     }
384
385     WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR)
386
387 private:
388     JSC::VM& m_vm;
389     WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(DECLARE_BUILTIN_NAMES)
390 };
391
392 } // namespace WebCore