[Readable Streams API] Enable creation of ReadableByteStreamController
[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(autoAllocateChunkSize) \
37     macro(body) \
38     macro(cancel) \
39     macro(cloneForJS) \
40     macro(closeRequested) \
41     macro(closedPromiseCapability) \
42     macro(consume) \
43     macro(consumeChunk) \
44     macro(controlledReadableStream) \
45     macro(controller) \
46     macro(createReadableStreamSource) \
47     macro(disturbed) \
48     macro(fetchRequest) \
49     macro(fillFromJS) \
50     macro(finishConsumingStream) \
51     macro(getUserMedia) \
52     macro(getRemoteStreams) \
53     macro(getSenders) \
54     macro(getTracks) \
55     macro(initializeWith) \
56     macro(isDisturbed) \
57     macro(isLoading) \
58     macro(localStreams) \
59     macro(makeThisTypeError) \
60     macro(makeGetterTypeError) \
61     macro(mediaStreamTrackConstraints) \
62     macro(operations) \
63     macro(ownerReadableStream) \
64     macro(pendingPullIntos) \
65     macro(privateGetStats) \
66     macro(pull) \
67     macro(pulling) \
68     macro(pullAgain) \
69     macro(queue) \
70     macro(queuedAddIceCandidate) \
71     macro(queuedCreateAnswer) \
72     macro(queuedCreateOffer) \
73     macro(queuedSetLocalDescription) \
74     macro(queuedSetRemoteDescription) \
75     macro(reader) \
76     macro(readRequests) \
77     macro(readableStreamController) \
78     macro(readyPromiseCapability) \
79     macro(removeTrack) \
80     macro(responseCacheIsValid) \
81     macro(retrieveResponse) \
82     macro(response) \
83     macro(setBody) \
84     macro(setStatus) \
85     macro(state) \
86     macro(startConsumingStream) \
87     macro(started) \
88     macro(startedPromise) \
89     macro(storedError) \
90     macro(strategy) \
91     macro(strategyHWM) \
92     macro(streamClosed) \
93     macro(streamClosing) \
94     macro(streamErrored) \
95     macro(streamReadable) \
96     macro(streamWaiting) \
97     macro(streamWritable) \
98     macro(structuredCloneArrayBuffer) \
99     macro(structuredCloneArrayBufferView) \
100     macro(underlyingByteSource) \
101     macro(underlyingSink) \
102     macro(underlyingSource) \
103     macro(writing) \
104     macro(Headers) \
105     macro(MediaStream) \
106     macro(MediaStreamTrack) \
107     macro(ReadableByteStreamController) \
108     macro(ReadableStream) \
109     macro(ReadableStreamDefaultController) \
110     macro(ReadableStreamDefaultReader) \
111     macro(Request) \
112     macro(Response) \
113     macro(RTCIceCandidate) \
114     macro(RTCSessionDescription) \
115     macro(XMLHttpRequest)
116
117 class WebCoreBuiltinNames {
118 public:
119     explicit WebCoreBuiltinNames(JSC::VM* vm)
120         : m_vm(*vm)
121         WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_BUILTIN_NAMES)
122     {
123 #define EXPORT_NAME(name) m_vm.propertyNames->appendExternalName(name##PublicName(), name##PrivateName());
124         WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(EXPORT_NAME)
125 #undef EXPORT_NAME
126     }
127
128     WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(DECLARE_BUILTIN_IDENTIFIER_ACCESSOR)
129
130 private:
131     JSC::VM& m_vm;
132     WEBCORE_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(DECLARE_BUILTIN_NAMES)
133 };
134
135 } // namespace WebCore