4a26a92935328b8f9da78d4e57338819834098bc
[WebKit-https.git] / Source / WebCore / bindings / js / WebCoreBuiltinNames.h
1 /*
2  *  Copyright (c) 2015, Canon Inc. All rights reserved.
3  *
4  *  Redistribution and use in source and binary forms, with or without
5  *  modification, are permitted provided that the following conditions
6  *  are met:
7  *  1.  Redistributions of source code must retain the above copyright
8  *      notice, this list of conditions and the following disclaimer.
9  *  2.  Redistributions in binary form must reproduce the above copyright
10  *      notice, this list of conditions and the following disclaimer in the
11  *      documentation and/or other materials provided with the distribution.
12  *  3.  Neither the name of Canon Inc. nor the names of
13  *      its contributors may be used to endorse or promote products derived
14  *      from this software without specific prior written permission.
15  *  THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
16  *  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18  *  DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
19  *  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  *  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21  *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22  *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23  *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26
27 #pragma once
28
29 #include <builtins/BuiltinUtils.h>
30
31 namespace WebCore {
32
33 #define WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro)\
34     macro(addTrack) \
35     macro(appendFromJS) \
36     macro(body) \
37     macro(cancel) \
38     macro(cloneForJS) \
39     macro(closeRequested) \
40     macro(closedPromiseCapability) \
41     macro(consume) \
42     macro(consumeChunk) \
43     macro(controlledReadableStream) \
44     macro(controller) \
45     macro(createReadableStreamSource) \
46     macro(disturbed) \
47     macro(fetchRequest) \
48     macro(fillFromJS) \
49     macro(finishConsumingStream) \
50     macro(getUserMedia) \
51     macro(getRemoteStreams) \
52     macro(getSenders) \
53     macro(getTracks) \
54     macro(initializeWith) \
55     macro(isDisturbed) \
56     macro(isLoading) \
57     macro(localStreams) \
58     macro(makeThisTypeError) \
59     macro(makeGetterTypeError) \
60     macro(mediaStreamTrackConstraints) \
61     macro(operations) \
62     macro(ownerReadableStream) \
63     macro(privateGetStats) \
64     macro(pull) \
65     macro(pulling) \
66     macro(pullAgain) \
67     macro(queue) \
68     macro(queuedAddIceCandidate) \
69     macro(queuedCreateAnswer) \
70     macro(queuedCreateOffer) \
71     macro(queuedSetLocalDescription) \
72     macro(queuedSetRemoteDescription) \
73     macro(reader) \
74     macro(readRequests) \
75     macro(readableStreamController) \
76     macro(readyPromiseCapability) \
77     macro(removeTrack) \
78     macro(responseCacheIsValid) \
79     macro(retrieveResponse) \
80     macro(response) \
81     macro(setBody) \
82     macro(setStatus) \
83     macro(state) \
84     macro(startConsumingStream) \
85     macro(started) \
86     macro(startedPromise) \
87     macro(storedError) \
88     macro(strategy) \
89     macro(streamClosed) \
90     macro(streamClosing) \
91     macro(streamErrored) \
92     macro(streamReadable) \
93     macro(streamWaiting) \
94     macro(streamWritable) \
95     macro(structuredCloneArrayBuffer) \
96     macro(structuredCloneArrayBufferView) \
97     macro(underlyingSink) \
98     macro(underlyingSource) \
99     macro(writing) \
100     macro(Headers) \
101     macro(MediaStream) \
102     macro(MediaStreamTrack) \
103     macro(ReadableStream) \
104     macro(ReadableStreamDefaultController) \
105     macro(ReadableStreamDefaultReader) \
106     macro(Request) \
107     macro(Response) \
108     macro(RTCIceCandidate) \
109     macro(RTCSessionDescription) \
110     macro(XMLHttpRequest)
111
112 class WebCoreBuiltinNames {
113 public:
114     explicit WebCoreBuiltinNames(JSC::VM* vm)
115         : m_vm(*vm)
116         WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_BUILTIN_NAMES)
117     {
118 #define EXPORT_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName());
119         WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(EXPORT_NAME)
120 #undef EXPORT_NAME
121     }
122
123     WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR)
124
125 private:
126     JSC::VM& m_vm;
127     WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(DECLARE_BUILTIN_NAMES)
128 };
129
130 } // namespace WebCore