1/*
2 This file is part of the WebKit open source project.
3 This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include "config.h"
22#include "JSWorkerGlobalScope.h"
23
24#include "EventNames.h"
25#include "JSAbortController.h"
26#include "JSAbortSignal.h"
27#include "JSBlob.h"
28#include "JSCanvasGradient.h"
29#include "JSCanvasPattern.h"
30#include "JSCloseEvent.h"
31#include "JSCrypto.h"
32#include "JSCustomEvent.h"
33#include "JSDOMAttribute.h"
34#include "JSDOMBinding.h"
35#include "JSDOMCache.h"
36#include "JSDOMCacheStorage.h"
37#include "JSDOMConstructorNotConstructable.h"
38#include "JSDOMConvertAny.h"
39#include "JSDOMConvertBoolean.h"
40#include "JSDOMConvertDictionary.h"
41#include "JSDOMConvertInterface.h"
42#include "JSDOMConvertNumbers.h"
43#include "JSDOMConvertScheduledAction.h"
44#include "JSDOMConvertStrings.h"
45#include "JSDOMConvertUnion.h"
46#include "JSDOMConvertVariadic.h"
47#include "JSDOMException.h"
48#include "JSDOMExceptionHandling.h"
49#include "JSDOMGlobalObject.h"
50#include "JSDOMMatrix.h"
51#include "JSDOMMatrixReadOnly.h"
52#include "JSDOMOperation.h"
53#include "JSDOMOperationReturningPromise.h"
54#include "JSDOMPoint.h"
55#include "JSDOMPointReadOnly.h"
56#include "JSDOMQuad.h"
57#include "JSDOMRect.h"
58#include "JSDOMRectReadOnly.h"
59#include "JSDOMURL.h"
60#include "JSDOMWrapperCache.h"
61#include "JSErrorEvent.h"
62#include "JSErrorHandler.h"
63#include "JSEvent.h"
64#include "JSEventListener.h"
65#include "JSEventSource.h"
66#include "JSEventTarget.h"
67#include "JSFetchHeaders.h"
68#include "JSFetchRequest.h"
69#include "JSFetchRequestInit.h"
70#include "JSFetchResponse.h"
71#include "JSFileReader.h"
72#include "JSFileReaderSync.h"
73#include "JSHTMLCanvasElement.h"
74#include "JSHTMLImageElement.h"
75#include "JSHTMLVideoElement.h"
76#include "JSImageBitmap.h"
77#include "JSImageBitmapOptions.h"
78#include "JSImageData.h"
79#include "JSMessageEvent.h"
80#include "JSMessagePort.h"
81#include "JSPath2D.h"
82#include "JSPerformance.h"
83#include "JSPerformanceEntry.h"
84#include "JSPerformanceMark.h"
85#include "JSPerformanceMeasure.h"
86#include "JSPerformanceObserver.h"
87#include "JSPerformanceObserverEntryList.h"
88#include "JSPerformanceResourceTiming.h"
89#include "JSPerformanceServerTiming.h"
90#include "JSProgressEvent.h"
91#include "JSPromiseRejectionEvent.h"
92#include "JSTextDecoder.h"
93#include "JSTextEncoder.h"
94#include "JSURLSearchParams.h"
95#include "JSWebSocket.h"
96#include "JSWorkerGlobalScope.h"
97#include "JSWorkerLocation.h"
98#include "JSWorkerNavigator.h"
99#include "JSXMLHttpRequestEventTarget.h"
100#include "RuntimeEnabledFeatures.h"
101#include "ScriptExecutionContext.h"
102#include "WebCoreJSClientData.h"
103#include "WorkerGlobalScope.h"
104#include "WorkerGlobalScopeCaches.h"
105#include "WorkerGlobalScopeFetch.h"
106#include <JavaScriptCore/HeapSnapshotBuilder.h>
107#include <JavaScriptCore/JSCInlines.h>
108#include <wtf/GetPtr.h>
109#include <wtf/PointerPreparations.h>
110#include <wtf/URL.h>
111#include <wtf/Variant.h>
112
113#if ENABLE(CHANNEL_MESSAGING)
114#include "JSMessageChannel.h"
115#endif
116
117#if ENABLE(CSS_TYPED_OM)
118#include "JSStylePropertyMapReadOnly.h"
119#include "JSTypedOMCSSImageValue.h"
120#include "JSTypedOMCSSNumericValue.h"
121#include "JSTypedOMCSSStyleValue.h"
122#include "JSTypedOMCSSUnitValue.h"
123#include "JSTypedOMCSSUnparsedValue.h"
124#endif
125
126#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
127#include "JSIDBCursor.h"
128#include "JSIDBCursorWithValue.h"
129#include "JSIDBDatabase.h"
130#include "JSIDBFactory.h"
131#include "JSIDBIndex.h"
132#include "JSIDBKeyRange.h"
133#include "JSIDBObjectStore.h"
134#include "JSIDBOpenDBRequest.h"
135#include "JSIDBRequest.h"
136#include "JSIDBTransaction.h"
137#include "JSIDBVersionChangeEvent.h"
138#include "WorkerGlobalScopeIndexedDatabase.h"
139#endif
140
141#if ENABLE(STREAMS_API)
142#include "JSByteLengthQueuingStrategy.h"
143#include "JSCountQueuingStrategy.h"
144#include "JSReadableByteStreamController.h"
145#include "JSReadableStream.h"
146#include "JSReadableStreamBYOBReader.h"
147#include "JSReadableStreamBYOBRequest.h"
148#include "JSReadableStreamDefaultController.h"
149#include "JSReadableStreamDefaultReader.h"
150#endif
151
152#if ENABLE(WEB_CRYPTO)
153#include "JSCryptoKey.h"
154#include "JSSubtleCrypto.h"
155#endif
156
157
158namespace WebCore {
159using namespace JSC;
160
161// Functions
162
163JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionImportScripts(JSC::ExecState*);
164JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionFetch(JSC::ExecState*);
165JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionSetTimeout(JSC::ExecState*);
166JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionClearTimeout(JSC::ExecState*);
167JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionSetInterval(JSC::ExecState*);
168JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionClearInterval(JSC::ExecState*);
169JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionQueueMicrotask(JSC::ExecState*);
170JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionAtob(JSC::ExecState*);
171JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionBtoa(JSC::ExecState*);
172JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap(JSC::ExecState*);
173
174// Attributes
175
176JSC::EncodedJSValue jsWorkerGlobalScopeConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
177bool setJSWorkerGlobalScopeConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
178JSC::EncodedJSValue jsWorkerGlobalScopeSelf(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
179JSC::EncodedJSValue jsWorkerGlobalScopeLocation(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
180JSC::EncodedJSValue jsWorkerGlobalScopeOnerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
181bool setJSWorkerGlobalScopeOnerror(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
182JSC::EncodedJSValue jsWorkerGlobalScopeOnoffline(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
183bool setJSWorkerGlobalScopeOnoffline(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
184JSC::EncodedJSValue jsWorkerGlobalScopeOnonline(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
185bool setJSWorkerGlobalScopeOnonline(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
186JSC::EncodedJSValue jsWorkerGlobalScopeOnrejectionhandled(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
187bool setJSWorkerGlobalScopeOnrejectionhandled(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
188JSC::EncodedJSValue jsWorkerGlobalScopeOnunhandledrejection(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
189bool setJSWorkerGlobalScopeOnunhandledrejection(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
190JSC::EncodedJSValue jsWorkerGlobalScopeNavigator(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
191#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
192JSC::EncodedJSValue jsWorkerGlobalScopeIDBCursorConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
193bool setJSWorkerGlobalScopeIDBCursorConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
194#endif
195#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
196JSC::EncodedJSValue jsWorkerGlobalScopeIDBCursorWithValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
197bool setJSWorkerGlobalScopeIDBCursorWithValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
198#endif
199#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
200JSC::EncodedJSValue jsWorkerGlobalScopeIDBDatabaseConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
201bool setJSWorkerGlobalScopeIDBDatabaseConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
202#endif
203#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
204JSC::EncodedJSValue jsWorkerGlobalScopeIDBFactoryConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
205bool setJSWorkerGlobalScopeIDBFactoryConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
206#endif
207#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
208JSC::EncodedJSValue jsWorkerGlobalScopeIDBIndexConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
209bool setJSWorkerGlobalScopeIDBIndexConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
210#endif
211#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
212JSC::EncodedJSValue jsWorkerGlobalScopeIDBKeyRangeConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
213bool setJSWorkerGlobalScopeIDBKeyRangeConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
214#endif
215#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
216JSC::EncodedJSValue jsWorkerGlobalScopeIDBObjectStoreConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
217bool setJSWorkerGlobalScopeIDBObjectStoreConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
218#endif
219#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
220JSC::EncodedJSValue jsWorkerGlobalScopeIDBOpenDBRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
221bool setJSWorkerGlobalScopeIDBOpenDBRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
222#endif
223#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
224JSC::EncodedJSValue jsWorkerGlobalScopeIDBRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
225bool setJSWorkerGlobalScopeIDBRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
226#endif
227#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
228JSC::EncodedJSValue jsWorkerGlobalScopeIDBTransactionConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
229bool setJSWorkerGlobalScopeIDBTransactionConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
230#endif
231#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
232JSC::EncodedJSValue jsWorkerGlobalScopeIDBVersionChangeEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
233bool setJSWorkerGlobalScopeIDBVersionChangeEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
234#endif
235JSC::EncodedJSValue jsWorkerGlobalScopeCaches(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
236#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
237JSC::EncodedJSValue jsWorkerGlobalScopeIndexedDB(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
238#endif
239JSC::EncodedJSValue jsWorkerGlobalScopeCrypto(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
240JSC::EncodedJSValue jsWorkerGlobalScopePerformance(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
241bool setJSWorkerGlobalScopePerformance(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
242JSC::EncodedJSValue jsWorkerGlobalScopeOrigin(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
243bool setJSWorkerGlobalScopeOrigin(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
244JSC::EncodedJSValue jsWorkerGlobalScopeIsSecureContext(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
245JSC::EncodedJSValue jsWorkerGlobalScopeCacheConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
246bool setJSWorkerGlobalScopeCacheConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
247JSC::EncodedJSValue jsWorkerGlobalScopeCacheStorageConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
248bool setJSWorkerGlobalScopeCacheStorageConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
249JSC::EncodedJSValue jsWorkerGlobalScopeHeadersConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
250bool setJSWorkerGlobalScopeHeadersConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
251JSC::EncodedJSValue jsWorkerGlobalScopeRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
252bool setJSWorkerGlobalScopeRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
253JSC::EncodedJSValue jsWorkerGlobalScopeResponseConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
254bool setJSWorkerGlobalScopeResponseConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
255#if ENABLE(STREAMS_API)
256JSC::EncodedJSValue jsWorkerGlobalScopeByteLengthQueuingStrategyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
257bool setJSWorkerGlobalScopeByteLengthQueuingStrategyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
258#endif
259#if ENABLE(STREAMS_API)
260JSC::EncodedJSValue jsWorkerGlobalScopeCountQueuingStrategyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
261bool setJSWorkerGlobalScopeCountQueuingStrategyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
262#endif
263#if ENABLE(STREAMS_API)
264JSC::EncodedJSValue jsWorkerGlobalScopeReadableByteStreamControllerConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
265bool setJSWorkerGlobalScopeReadableByteStreamControllerConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
266#endif
267#if ENABLE(STREAMS_API)
268JSC::EncodedJSValue jsWorkerGlobalScopeReadableStreamConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
269bool setJSWorkerGlobalScopeReadableStreamConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
270#endif
271#if ENABLE(STREAMS_API)
272JSC::EncodedJSValue jsWorkerGlobalScopeReadableStreamBYOBReaderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
273bool setJSWorkerGlobalScopeReadableStreamBYOBReaderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
274#endif
275#if ENABLE(STREAMS_API)
276JSC::EncodedJSValue jsWorkerGlobalScopeReadableStreamBYOBRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
277bool setJSWorkerGlobalScopeReadableStreamBYOBRequestConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
278#endif
279#if ENABLE(STREAMS_API)
280JSC::EncodedJSValue jsWorkerGlobalScopeReadableStreamDefaultControllerConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
281bool setJSWorkerGlobalScopeReadableStreamDefaultControllerConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
282#endif
283#if ENABLE(STREAMS_API)
284JSC::EncodedJSValue jsWorkerGlobalScopeReadableStreamDefaultReaderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
285bool setJSWorkerGlobalScopeReadableStreamDefaultReaderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
286#endif
287JSC::EncodedJSValue jsWorkerGlobalScopeCloseEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
288bool setJSWorkerGlobalScopeCloseEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
289JSC::EncodedJSValue jsWorkerGlobalScopeWebSocketConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
290bool setJSWorkerGlobalScopeWebSocketConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
291#if ENABLE(WEB_CRYPTO)
292JSC::EncodedJSValue jsWorkerGlobalScopeCryptoKeyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
293bool setJSWorkerGlobalScopeCryptoKeyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
294#endif
295#if ENABLE(WEB_CRYPTO)
296JSC::EncodedJSValue jsWorkerGlobalScopeSubtleCryptoConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
297bool setJSWorkerGlobalScopeSubtleCryptoConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
298#endif
299JSC::EncodedJSValue jsWorkerGlobalScopeDOMMatrixConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
300bool setJSWorkerGlobalScopeDOMMatrixConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
301JSC::EncodedJSValue jsWorkerGlobalScopeDOMMatrixReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
302bool setJSWorkerGlobalScopeDOMMatrixReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
303#if ENABLE(CSS_TYPED_OM)
304JSC::EncodedJSValue jsWorkerGlobalScopeStylePropertyMapReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
305bool setJSWorkerGlobalScopeStylePropertyMapReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
306#endif
307#if ENABLE(CSS_TYPED_OM)
308JSC::EncodedJSValue jsWorkerGlobalScopeCSSImageValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
309bool setJSWorkerGlobalScopeCSSImageValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
310#endif
311#if ENABLE(CSS_TYPED_OM)
312JSC::EncodedJSValue jsWorkerGlobalScopeCSSNumericValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
313bool setJSWorkerGlobalScopeCSSNumericValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
314#endif
315#if ENABLE(CSS_TYPED_OM)
316JSC::EncodedJSValue jsWorkerGlobalScopeCSSStyleValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
317bool setJSWorkerGlobalScopeCSSStyleValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
318#endif
319#if ENABLE(CSS_TYPED_OM)
320JSC::EncodedJSValue jsWorkerGlobalScopeCSSUnitValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
321bool setJSWorkerGlobalScopeCSSUnitValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
322#endif
323#if ENABLE(CSS_TYPED_OM)
324JSC::EncodedJSValue jsWorkerGlobalScopeCSSUnparsedValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
325bool setJSWorkerGlobalScopeCSSUnparsedValueConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
326#endif
327JSC::EncodedJSValue jsWorkerGlobalScopeAbortControllerConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
328bool setJSWorkerGlobalScopeAbortControllerConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
329JSC::EncodedJSValue jsWorkerGlobalScopeAbortSignalConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
330bool setJSWorkerGlobalScopeAbortSignalConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
331JSC::EncodedJSValue jsWorkerGlobalScopeCustomEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
332bool setJSWorkerGlobalScopeCustomEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
333JSC::EncodedJSValue jsWorkerGlobalScopeDOMExceptionConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
334bool setJSWorkerGlobalScopeDOMExceptionConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
335JSC::EncodedJSValue jsWorkerGlobalScopeDOMPointConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
336bool setJSWorkerGlobalScopeDOMPointConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
337JSC::EncodedJSValue jsWorkerGlobalScopeDOMPointReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
338bool setJSWorkerGlobalScopeDOMPointReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
339JSC::EncodedJSValue jsWorkerGlobalScopeDOMQuadConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
340bool setJSWorkerGlobalScopeDOMQuadConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
341JSC::EncodedJSValue jsWorkerGlobalScopeDOMRectConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
342bool setJSWorkerGlobalScopeDOMRectConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
343JSC::EncodedJSValue jsWorkerGlobalScopeDOMRectReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
344bool setJSWorkerGlobalScopeDOMRectReadOnlyConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
345JSC::EncodedJSValue jsWorkerGlobalScopeErrorEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
346bool setJSWorkerGlobalScopeErrorEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
347JSC::EncodedJSValue jsWorkerGlobalScopeEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
348bool setJSWorkerGlobalScopeEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
349JSC::EncodedJSValue jsWorkerGlobalScopeEventTargetConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
350bool setJSWorkerGlobalScopeEventTargetConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
351#if ENABLE(CHANNEL_MESSAGING)
352JSC::EncodedJSValue jsWorkerGlobalScopeMessageChannelConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
353bool setJSWorkerGlobalScopeMessageChannelConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
354#endif
355JSC::EncodedJSValue jsWorkerGlobalScopeMessageEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
356bool setJSWorkerGlobalScopeMessageEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
357JSC::EncodedJSValue jsWorkerGlobalScopeMessagePortConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
358bool setJSWorkerGlobalScopeMessagePortConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
359JSC::EncodedJSValue jsWorkerGlobalScopeProgressEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
360bool setJSWorkerGlobalScopeProgressEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
361JSC::EncodedJSValue jsWorkerGlobalScopePromiseRejectionEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
362bool setJSWorkerGlobalScopePromiseRejectionEventConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
363JSC::EncodedJSValue jsWorkerGlobalScopeTextDecoderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
364bool setJSWorkerGlobalScopeTextDecoderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
365JSC::EncodedJSValue jsWorkerGlobalScopeTextEncoderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
366bool setJSWorkerGlobalScopeTextEncoderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
367JSC::EncodedJSValue jsWorkerGlobalScopeBlobConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
368bool setJSWorkerGlobalScopeBlobConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
369JSC::EncodedJSValue jsWorkerGlobalScopeFileReaderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
370bool setJSWorkerGlobalScopeFileReaderConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
371JSC::EncodedJSValue jsWorkerGlobalScopeFileReaderSyncConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
372bool setJSWorkerGlobalScopeFileReaderSyncConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
373JSC::EncodedJSValue jsWorkerGlobalScopeURLConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
374bool setJSWorkerGlobalScopeURLConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
375JSC::EncodedJSValue jsWorkerGlobalScopeImageBitmapConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
376bool setJSWorkerGlobalScopeImageBitmapConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
377JSC::EncodedJSValue jsWorkerGlobalScopeImageDataConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
378bool setJSWorkerGlobalScopeImageDataConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
379JSC::EncodedJSValue jsWorkerGlobalScopeURLSearchParamsConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
380bool setJSWorkerGlobalScopeURLSearchParamsConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
381JSC::EncodedJSValue jsWorkerGlobalScopeCanvasGradientConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
382bool setJSWorkerGlobalScopeCanvasGradientConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
383JSC::EncodedJSValue jsWorkerGlobalScopeCanvasPatternConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
384bool setJSWorkerGlobalScopeCanvasPatternConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
385JSC::EncodedJSValue jsWorkerGlobalScopePath2DConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
386bool setJSWorkerGlobalScopePath2DConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
387JSC::EncodedJSValue jsWorkerGlobalScopeCryptoConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
388bool setJSWorkerGlobalScopeCryptoConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
389JSC::EncodedJSValue jsWorkerGlobalScopeEventSourceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
390bool setJSWorkerGlobalScopeEventSourceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
391JSC::EncodedJSValue jsWorkerGlobalScopePerformanceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
392bool setJSWorkerGlobalScopePerformanceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
393JSC::EncodedJSValue jsWorkerGlobalScopePerformanceEntryConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
394bool setJSWorkerGlobalScopePerformanceEntryConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
395JSC::EncodedJSValue jsWorkerGlobalScopePerformanceMarkConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
396bool setJSWorkerGlobalScopePerformanceMarkConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
397JSC::EncodedJSValue jsWorkerGlobalScopePerformanceMeasureConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
398bool setJSWorkerGlobalScopePerformanceMeasureConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
399JSC::EncodedJSValue jsWorkerGlobalScopePerformanceObserverConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
400bool setJSWorkerGlobalScopePerformanceObserverConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
401JSC::EncodedJSValue jsWorkerGlobalScopePerformanceObserverEntryListConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
402bool setJSWorkerGlobalScopePerformanceObserverEntryListConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
403JSC::EncodedJSValue jsWorkerGlobalScopePerformanceResourceTimingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
404bool setJSWorkerGlobalScopePerformanceResourceTimingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
405JSC::EncodedJSValue jsWorkerGlobalScopePerformanceServerTimingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
406bool setJSWorkerGlobalScopePerformanceServerTimingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
407JSC::EncodedJSValue jsWorkerGlobalScopeWorkerNavigatorConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
408bool setJSWorkerGlobalScopeWorkerNavigatorConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
409JSC::EncodedJSValue jsWorkerGlobalScopeWorkerGlobalScopeConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
410bool setJSWorkerGlobalScopeWorkerGlobalScopeConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
411JSC::EncodedJSValue jsWorkerGlobalScopeWorkerLocationConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
412bool setJSWorkerGlobalScopeWorkerLocationConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
413JSC::EncodedJSValue jsWorkerGlobalScopeXMLHttpRequestEventTargetConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
414bool setJSWorkerGlobalScopeXMLHttpRequestEventTargetConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
415
416using JSWorkerGlobalScopeConstructor = JSDOMConstructorNotConstructable<JSWorkerGlobalScope>;
417
418/* Hash table */
419
420static const struct CompactHashIndex JSWorkerGlobalScopeTableIndex[133] = {
421 { -1, -1 },
422 { -1, -1 },
423 { -1, -1 },
424 { 12, -1 },
425 { 3, -1 },
426 { -1, -1 },
427 { 35, -1 },
428 { -1, -1 },
429 { -1, -1 },
430 { -1, -1 },
431 { -1, -1 },
432 { -1, -1 },
433 { -1, -1 },
434 { 38, -1 },
435 { -1, -1 },
436 { 23, -1 },
437 { -1, -1 },
438 { -1, -1 },
439 { -1, -1 },
440 { -1, -1 },
441 { -1, -1 },
442 { 26, -1 },
443 { 24, 130 },
444 { -1, -1 },
445 { 22, -1 },
446 { -1, -1 },
447 { -1, -1 },
448 { -1, -1 },
449 { -1, -1 },
450 { -1, -1 },
451 { -1, -1 },
452 { -1, -1 },
453 { -1, -1 },
454 { -1, -1 },
455 { -1, -1 },
456 { -1, -1 },
457 { -1, -1 },
458 { -1, -1 },
459 { -1, -1 },
460 { -1, -1 },
461 { -1, -1 },
462 { -1, -1 },
463 { -1, -1 },
464 { -1, -1 },
465 { 21, -1 },
466 { 2, -1 },
467 { -1, -1 },
468 { -1, -1 },
469 { 6, -1 },
470 { -1, -1 },
471 { 29, -1 },
472 { 39, -1 },
473 { -1, -1 },
474 { -1, -1 },
475 { -1, -1 },
476 { 33, -1 },
477 { 28, -1 },
478 { 0, -1 },
479 { 5, 128 },
480 { -1, -1 },
481 { -1, -1 },
482 { -1, -1 },
483 { -1, -1 },
484 { 30, -1 },
485 { 13, -1 },
486 { -1, -1 },
487 { -1, -1 },
488 { -1, -1 },
489 { -1, -1 },
490 { 9, -1 },
491 { 34, -1 },
492 { -1, -1 },
493 { 8, -1 },
494 { -1, -1 },
495 { -1, -1 },
496 { -1, -1 },
497 { 31, -1 },
498 { 7, -1 },
499 { -1, -1 },
500 { -1, -1 },
501 { -1, -1 },
502 { -1, -1 },
503 { -1, -1 },
504 { 19, -1 },
505 { 15, -1 },
506 { -1, -1 },
507 { -1, -1 },
508 { -1, -1 },
509 { -1, -1 },
510 { 20, 132 },
511 { -1, -1 },
512 { -1, -1 },
513 { -1, -1 },
514 { -1, -1 },
515 { -1, -1 },
516 { -1, -1 },
517 { 25, -1 },
518 { -1, -1 },
519 { -1, -1 },
520 { -1, -1 },
521 { -1, -1 },
522 { -1, -1 },
523 { 41, -1 },
524 { 10, -1 },
525 { -1, -1 },
526 { 18, 129 },
527 { -1, -1 },
528 { -1, -1 },
529 { -1, -1 },
530 { 4, -1 },
531 { -1, -1 },
532 { -1, -1 },
533 { 32, -1 },
534 { -1, -1 },
535 { 16, 131 },
536 { -1, -1 },
537 { -1, -1 },
538 { 37, -1 },
539 { 11, -1 },
540 { 14, -1 },
541 { -1, -1 },
542 { -1, -1 },
543 { -1, -1 },
544 { 1, -1 },
545 { -1, -1 },
546 { -1, -1 },
547 { -1, -1 },
548 { -1, -1 },
549 { 17, -1 },
550 { 27, -1 },
551 { 36, -1 },
552 { 40, -1 },
553 { 42, -1 },
554};
555
556
557static const HashTableValue JSWorkerGlobalScopeTableValues[] =
558{
559#if ENABLE(STREAMS_API)
560 { "ByteLengthQueuingStrategy", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeByteLengthQueuingStrategyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeByteLengthQueuingStrategyConstructor) } },
561#else
562 { 0, 0, NoIntrinsic, { 0, 0 } },
563#endif
564#if ENABLE(STREAMS_API)
565 { "CountQueuingStrategy", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCountQueuingStrategyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCountQueuingStrategyConstructor) } },
566#else
567 { 0, 0, NoIntrinsic, { 0, 0 } },
568#endif
569#if ENABLE(STREAMS_API)
570 { "ReadableStream", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeReadableStreamConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeReadableStreamConstructor) } },
571#else
572 { 0, 0, NoIntrinsic, { 0, 0 } },
573#endif
574 { "CloseEvent", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCloseEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCloseEventConstructor) } },
575#if ENABLE(WEB_CRYPTO)
576 { "CryptoKey", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCryptoKeyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCryptoKeyConstructor) } },
577#else
578 { 0, 0, NoIntrinsic, { 0, 0 } },
579#endif
580#if ENABLE(WEB_CRYPTO)
581 { "SubtleCrypto", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeSubtleCryptoConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeSubtleCryptoConstructor) } },
582#else
583 { 0, 0, NoIntrinsic, { 0, 0 } },
584#endif
585 { "DOMMatrix", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMMatrixConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMMatrixConstructor) } },
586 { "DOMMatrixReadOnly", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMMatrixReadOnlyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMMatrixReadOnlyConstructor) } },
587 { "AbortController", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeAbortControllerConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeAbortControllerConstructor) } },
588 { "AbortSignal", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeAbortSignalConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeAbortSignalConstructor) } },
589 { "CustomEvent", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCustomEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCustomEventConstructor) } },
590 { "DOMException", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMExceptionConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMExceptionConstructor) } },
591 { "DOMPoint", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMPointConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMPointConstructor) } },
592 { "DOMPointReadOnly", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMPointReadOnlyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMPointReadOnlyConstructor) } },
593 { "DOMQuad", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMQuadConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMQuadConstructor) } },
594 { "DOMRect", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMRectConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMRectConstructor) } },
595 { "DOMRectReadOnly", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeDOMRectReadOnlyConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeDOMRectReadOnlyConstructor) } },
596 { "ErrorEvent", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeErrorEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeErrorEventConstructor) } },
597 { "Event", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeEventConstructor) } },
598 { "EventTarget", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeEventTargetConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeEventTargetConstructor) } },
599#if ENABLE(CHANNEL_MESSAGING)
600 { "MessageChannel", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeMessageChannelConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeMessageChannelConstructor) } },
601#else
602 { 0, 0, NoIntrinsic, { 0, 0 } },
603#endif
604 { "MessageEvent", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeMessageEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeMessageEventConstructor) } },
605 { "MessagePort", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeMessagePortConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeMessagePortConstructor) } },
606 { "ProgressEvent", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeProgressEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeProgressEventConstructor) } },
607 { "PromiseRejectionEvent", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopePromiseRejectionEventConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopePromiseRejectionEventConstructor) } },
608 { "TextDecoder", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeTextDecoderConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeTextDecoderConstructor) } },
609 { "TextEncoder", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeTextEncoderConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeTextEncoderConstructor) } },
610 { "Blob", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeBlobConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeBlobConstructor) } },
611 { "FileReader", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeFileReaderConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeFileReaderConstructor) } },
612 { "FileReaderSync", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeFileReaderSyncConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeFileReaderSyncConstructor) } },
613 { "URL", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeURLConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeURLConstructor) } },
614 { "ImageData", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeImageDataConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeImageDataConstructor) } },
615 { "URLSearchParams", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeURLSearchParamsConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeURLSearchParamsConstructor) } },
616 { "CanvasGradient", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCanvasGradientConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCanvasGradientConstructor) } },
617 { "CanvasPattern", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCanvasPatternConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCanvasPatternConstructor) } },
618 { "Path2D", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopePath2DConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopePath2DConstructor) } },
619 { "Crypto", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCryptoConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeCryptoConstructor) } },
620 { "EventSource", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeEventSourceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeEventSourceConstructor) } },
621 { "Performance", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopePerformanceConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopePerformanceConstructor) } },
622 { "WorkerNavigator", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeWorkerNavigatorConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeWorkerNavigatorConstructor) } },
623 { "WorkerGlobalScope", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeWorkerGlobalScopeConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeWorkerGlobalScopeConstructor) } },
624 { "WorkerLocation", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeWorkerLocationConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeWorkerLocationConstructor) } },
625 { "XMLHttpRequestEventTarget", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeXMLHttpRequestEventTargetConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeXMLHttpRequestEventTargetConstructor) } },
626};
627
628static const HashTable JSWorkerGlobalScopeTable = { 43, 127, true, JSWorkerGlobalScope::info(), JSWorkerGlobalScopeTableValues, JSWorkerGlobalScopeTableIndex };
629template<> JSValue JSWorkerGlobalScopeConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
630{
631 return JSEventTarget::getConstructor(vm, &globalObject);
632}
633
634template<> void JSWorkerGlobalScopeConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
635{
636 putDirect(vm, vm.propertyNames->prototype, JSWorkerGlobalScope::prototype(vm, globalObject), JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
637 putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String("WorkerGlobalScope"_s)), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
638 putDirect(vm, vm.propertyNames->length, jsNumber(0), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
639}
640
641template<> const ClassInfo JSWorkerGlobalScopeConstructor::s_info = { "WorkerGlobalScope", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWorkerGlobalScopeConstructor) };
642
643/* Hash table for prototype */
644
645static const struct CompactHashIndex JSWorkerGlobalScopePrototypeTableIndex[69] = {
646 { -1, -1 },
647 { -1, -1 },
648 { -1, -1 },
649 { -1, -1 },
650 { 9, 64 },
651 { -1, -1 },
652 { 24, -1 },
653 { -1, -1 },
654 { 4, -1 },
655 { -1, -1 },
656 { 18, -1 },
657 { 6, 68 },
658 { -1, -1 },
659 { -1, -1 },
660 { -1, -1 },
661 { -1, -1 },
662 { -1, -1 },
663 { 14, -1 },
664 { -1, -1 },
665 { -1, -1 },
666 { 17, -1 },
667 { -1, -1 },
668 { -1, -1 },
669 { -1, -1 },
670 { -1, -1 },
671 { 0, -1 },
672 { -1, -1 },
673 { -1, -1 },
674 { -1, -1 },
675 { -1, -1 },
676 { -1, -1 },
677 { -1, -1 },
678 { 7, -1 },
679 { -1, -1 },
680 { -1, -1 },
681 { -1, -1 },
682 { -1, -1 },
683 { -1, -1 },
684 { 1, 67 },
685 { 11, -1 },
686 { -1, -1 },
687 { -1, -1 },
688 { -1, -1 },
689 { -1, -1 },
690 { 8, -1 },
691 { -1, -1 },
692 { 3, 66 },
693 { 12, -1 },
694 { 2, -1 },
695 { -1, -1 },
696 { 10, 65 },
697 { -1, -1 },
698 { -1, -1 },
699 { -1, -1 },
700 { 5, -1 },
701 { 15, -1 },
702 { -1, -1 },
703 { -1, -1 },
704 { 19, -1 },
705 { -1, -1 },
706 { -1, -1 },
707 { 20, -1 },
708 { -1, -1 },
709 { -1, -1 },
710 { 13, -1 },
711 { 16, -1 },
712 { 21, -1 },
713 { 22, -1 },
714 { 23, -1 },
715};
716
717
718static const HashTableValue JSWorkerGlobalScopePrototypeTableValues[] =
719{
720 { "constructor", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeConstructor) } },
721 { "self", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeSelf), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
722 { "location", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeLocation), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
723 { "onerror", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeOnerror), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeOnerror) } },
724 { "onoffline", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeOnoffline), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeOnoffline) } },
725 { "ononline", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeOnonline), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeOnonline) } },
726 { "onrejectionhandled", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeOnrejectionhandled), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeOnrejectionhandled) } },
727 { "onunhandledrejection", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeOnunhandledrejection), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeOnunhandledrejection) } },
728 { "navigator", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeNavigator), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
729 { "caches", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCaches), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
730#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
731 { "indexedDB", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeIndexedDB), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
732#else
733 { 0, 0, NoIntrinsic, { 0, 0 } },
734#endif
735 { "crypto", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeCrypto), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
736 { "performance", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopePerformance), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopePerformance) } },
737 { "origin", static_cast<unsigned>(JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeOrigin), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWorkerGlobalScopeOrigin) } },
738 { "isSecureContext", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWorkerGlobalScopeIsSecureContext), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
739 { "importScripts", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionImportScripts), (intptr_t) (0) } },
740 { "fetch", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionFetch), (intptr_t) (1) } },
741 { "setTimeout", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionSetTimeout), (intptr_t) (1) } },
742 { "clearTimeout", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionClearTimeout), (intptr_t) (0) } },
743 { "setInterval", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionSetInterval), (intptr_t) (1) } },
744 { "clearInterval", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionClearInterval), (intptr_t) (0) } },
745 { "queueMicrotask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionQueueMicrotask), (intptr_t) (1) } },
746 { "atob", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionAtob), (intptr_t) (1) } },
747 { "btoa", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionBtoa), (intptr_t) (1) } },
748 { "createImageBitmap", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap), (intptr_t) (1) } },
749};
750
751static const HashTable JSWorkerGlobalScopePrototypeTable = { 25, 63, true, JSWorkerGlobalScope::info(), JSWorkerGlobalScopePrototypeTableValues, JSWorkerGlobalScopePrototypeTableIndex };
752const ClassInfo JSWorkerGlobalScopePrototype::s_info = { "WorkerGlobalScopePrototype", &Base::s_info, &JSWorkerGlobalScopePrototypeTable, nullptr, CREATE_METHOD_TABLE(JSWorkerGlobalScopePrototype) };
753
754void JSWorkerGlobalScopePrototype::finishCreation(VM& vm)
755{
756 Base::finishCreation(vm);
757 reifyStaticProperties(vm, JSWorkerGlobalScope::info(), JSWorkerGlobalScopePrototypeTableValues, *this);
758 bool hasDisabledRuntimeProperties = false;
759 if (!RuntimeEnabledFeatures::sharedFeatures().fetchAPIEnabled()) {
760 hasDisabledRuntimeProperties = true;
761 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("fetch"), strlen("fetch"));
762 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
763 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
764 }
765 if (!RuntimeEnabledFeatures::sharedFeatures().imageBitmapOffscreenCanvasEnabled()) {
766 hasDisabledRuntimeProperties = true;
767 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("createImageBitmap"), strlen("createImageBitmap"));
768 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
769 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
770 }
771 if (!(jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext()->isSecureContext() && RuntimeEnabledFeatures::sharedFeatures().cacheAPIEnabled())) {
772 hasDisabledRuntimeProperties = true;
773 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("caches"), strlen("caches"));
774 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
775 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
776 }
777#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
778 if (!RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled()) {
779 hasDisabledRuntimeProperties = true;
780 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("indexedDB"), strlen("indexedDB"));
781 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
782 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
783 }
784#endif
785 if (!RuntimeEnabledFeatures::sharedFeatures().isSecureContextAttributeEnabled()) {
786 hasDisabledRuntimeProperties = true;
787 auto propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("isSecureContext"), strlen("isSecureContext"));
788 VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
789 JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
790 }
791 if (hasDisabledRuntimeProperties && structure()->isDictionary())
792 flattenDictionaryObject(vm);
793}
794
795const ClassInfo JSWorkerGlobalScope::s_info = { "WorkerGlobalScope", &Base::s_info, &JSWorkerGlobalScopeTable, nullptr, CREATE_METHOD_TABLE(JSWorkerGlobalScope) };
796
797JSWorkerGlobalScope::JSWorkerGlobalScope(VM& vm, Structure* structure, Ref<WorkerGlobalScope>&& impl)
798 : JSWorkerGlobalScopeBase(vm, structure, WTFMove(impl))
799{
800}
801
802void JSWorkerGlobalScope::finishCreation(VM& vm, JSProxy* proxy)
803{
804 Base::finishCreation(vm, proxy);
805
806#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
807 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
808 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBCursorPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBCursorConstructor, setJSWorkerGlobalScopeIDBCursorConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
809#endif
810#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
811 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
812 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBCursorWithValuePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBCursorWithValueConstructor, setJSWorkerGlobalScopeIDBCursorWithValueConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
813#endif
814#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
815 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
816 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBDatabasePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBDatabaseConstructor, setJSWorkerGlobalScopeIDBDatabaseConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
817#endif
818#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
819 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
820 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBFactoryPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBFactoryConstructor, setJSWorkerGlobalScopeIDBFactoryConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
821#endif
822#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
823 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
824 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBIndexPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBIndexConstructor, setJSWorkerGlobalScopeIDBIndexConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
825#endif
826#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
827 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
828 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBKeyRangePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBKeyRangeConstructor, setJSWorkerGlobalScopeIDBKeyRangeConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
829#endif
830#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
831 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
832 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBObjectStorePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBObjectStoreConstructor, setJSWorkerGlobalScopeIDBObjectStoreConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
833#endif
834#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
835 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
836 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBOpenDBRequestPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBOpenDBRequestConstructor, setJSWorkerGlobalScopeIDBOpenDBRequestConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
837#endif
838#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
839 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
840 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBRequestPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBRequestConstructor, setJSWorkerGlobalScopeIDBRequestConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
841#endif
842#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
843 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
844 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBTransactionPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBTransactionConstructor, setJSWorkerGlobalScopeIDBTransactionConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
845#endif
846#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
847 if (RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled())
848 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().IDBVersionChangeEventPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeIDBVersionChangeEventConstructor, setJSWorkerGlobalScopeIDBVersionChangeEventConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
849#endif
850 if ((jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext()->isSecureContext() && RuntimeEnabledFeatures::sharedFeatures().cacheAPIEnabled()))
851 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CachePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCacheConstructor, setJSWorkerGlobalScopeCacheConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
852 if ((jsCast<JSDOMGlobalObject*>(globalObject())->scriptExecutionContext()->isSecureContext() && RuntimeEnabledFeatures::sharedFeatures().cacheAPIEnabled()))
853 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CacheStoragePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCacheStorageConstructor, setJSWorkerGlobalScopeCacheStorageConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
854 if (RuntimeEnabledFeatures::sharedFeatures().fetchAPIEnabled())
855 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().HeadersPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeHeadersConstructor, setJSWorkerGlobalScopeHeadersConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
856 if (RuntimeEnabledFeatures::sharedFeatures().fetchAPIEnabled())
857 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().RequestPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeRequestConstructor, setJSWorkerGlobalScopeRequestConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
858 if (RuntimeEnabledFeatures::sharedFeatures().fetchAPIEnabled())
859 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ResponsePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeResponseConstructor, setJSWorkerGlobalScopeResponseConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
860 if (RuntimeEnabledFeatures::sharedFeatures().webSocketEnabled())
861 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().WebSocketPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeWebSocketConstructor, setJSWorkerGlobalScopeWebSocketConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
862#if ENABLE(CSS_TYPED_OM)
863 if (RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled())
864 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().StylePropertyMapReadOnlyPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeStylePropertyMapReadOnlyConstructor, setJSWorkerGlobalScopeStylePropertyMapReadOnlyConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
865#endif
866#if ENABLE(CSS_TYPED_OM)
867 if (RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled())
868 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CSSImageValuePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCSSImageValueConstructor, setJSWorkerGlobalScopeCSSImageValueConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
869#endif
870#if ENABLE(CSS_TYPED_OM)
871 if (RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled())
872 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CSSNumericValuePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCSSNumericValueConstructor, setJSWorkerGlobalScopeCSSNumericValueConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
873#endif
874#if ENABLE(CSS_TYPED_OM)
875 if (RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled())
876 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CSSStyleValuePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCSSStyleValueConstructor, setJSWorkerGlobalScopeCSSStyleValueConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
877#endif
878#if ENABLE(CSS_TYPED_OM)
879 if (RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled())
880 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CSSUnitValuePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCSSUnitValueConstructor, setJSWorkerGlobalScopeCSSUnitValueConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
881#endif
882#if ENABLE(CSS_TYPED_OM)
883 if (RuntimeEnabledFeatures::sharedFeatures().cssTypedOMEnabled())
884 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().CSSUnparsedValuePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeCSSUnparsedValueConstructor, setJSWorkerGlobalScopeCSSUnparsedValueConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
885#endif
886 if (RuntimeEnabledFeatures::sharedFeatures().imageBitmapOffscreenCanvasEnabled())
887 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ImageBitmapPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeImageBitmapConstructor, setJSWorkerGlobalScopeImageBitmapConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
888 if (RuntimeEnabledFeatures::sharedFeatures().performanceTimelineEnabled())
889 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceEntryPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceEntryConstructor, setJSWorkerGlobalScopePerformanceEntryConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
890 if (RuntimeEnabledFeatures::sharedFeatures().userTimingEnabled())
891 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceMarkPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceMarkConstructor, setJSWorkerGlobalScopePerformanceMarkConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
892 if (RuntimeEnabledFeatures::sharedFeatures().userTimingEnabled())
893 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceMeasurePublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceMeasureConstructor, setJSWorkerGlobalScopePerformanceMeasureConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
894 if (RuntimeEnabledFeatures::sharedFeatures().performanceTimelineEnabled())
895 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceObserverPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceObserverConstructor, setJSWorkerGlobalScopePerformanceObserverConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
896 if (RuntimeEnabledFeatures::sharedFeatures().performanceTimelineEnabled())
897 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceObserverEntryListPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceObserverEntryListConstructor, setJSWorkerGlobalScopePerformanceObserverEntryListConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
898 if (RuntimeEnabledFeatures::sharedFeatures().resourceTimingEnabled())
899 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceResourceTimingPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceResourceTimingConstructor, setJSWorkerGlobalScopePerformanceResourceTimingConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
900 if (RuntimeEnabledFeatures::sharedFeatures().serverTimingEnabled())
901 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().PerformanceServerTimingPublicName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopePerformanceServerTimingConstructor, setJSWorkerGlobalScopePerformanceServerTimingConstructor), attributesForStructure(static_cast<unsigned>(JSC::PropertyAttribute::DontEnum)));
902#if ENABLE(STREAMS_API)
903 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableByteStreamControllerPrivateName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeReadableByteStreamControllerConstructor, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly));
904#endif
905#if ENABLE(STREAMS_API)
906 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamPrivateName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeReadableStreamConstructor, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly));
907#endif
908#if ENABLE(STREAMS_API)
909 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamBYOBReaderPrivateName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeReadableStreamBYOBReaderConstructor, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly));
910#endif
911#if ENABLE(STREAMS_API)
912 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamBYOBRequestPrivateName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeReadableStreamBYOBRequestConstructor, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly));
913#endif
914#if ENABLE(STREAMS_API)
915 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamDefaultControllerPrivateName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeReadableStreamDefaultControllerConstructor, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly));
916#endif
917#if ENABLE(STREAMS_API)
918 putDirectCustomAccessor(vm, static_cast<JSVMClientData*>(vm.clientData)->builtinNames().ReadableStreamDefaultReaderPrivateName(), CustomGetterSetter::create(vm, jsWorkerGlobalScopeReadableStreamDefaultReaderConstructor, nullptr), attributesForStructure(JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly));
919#endif
920}
921
922JSObject* JSWorkerGlobalScope::createPrototype(VM& vm, JSDOMGlobalObject& globalObject)
923{
924 return JSWorkerGlobalScopePrototype::create(vm, &globalObject, JSWorkerGlobalScopePrototype::createStructure(vm, &globalObject, JSEventTarget::prototype(vm, globalObject)));
925}
926
927JSObject* JSWorkerGlobalScope::prototype(VM& vm, JSDOMGlobalObject& globalObject)
928{
929 return getDOMPrototype<JSWorkerGlobalScope>(vm, globalObject);
930}
931
932JSValue JSWorkerGlobalScope::getConstructor(VM& vm, const JSGlobalObject* globalObject)
933{
934 return getDOMConstructor<JSWorkerGlobalScopeConstructor>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));
935}
936
937template<> inline JSWorkerGlobalScope* IDLAttribute<JSWorkerGlobalScope>::cast(ExecState& state, EncodedJSValue thisValue)
938{
939 auto decodedThisValue = JSValue::decode(thisValue);
940 if (decodedThisValue.isUndefinedOrNull())
941 decodedThisValue = state.thisValue().toThis(&state, NotStrictMode);
942 return toJSWorkerGlobalScope(state.vm(), decodedThisValue);}
943
944template<> inline JSWorkerGlobalScope* IDLOperation<JSWorkerGlobalScope>::cast(ExecState& state)
945{
946 return toJSWorkerGlobalScope(state.vm(), state.thisValue().toThis(&state, NotStrictMode));
947}
948
949EncodedJSValue jsWorkerGlobalScopeConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
950{
951 VM& vm = state->vm();
952 auto throwScope = DECLARE_THROW_SCOPE(vm);
953 auto* prototype = jsDynamicCast<JSWorkerGlobalScopePrototype*>(vm, JSValue::decode(thisValue));
954 if (UNLIKELY(!prototype))
955 return throwVMTypeError(state, throwScope);
956 return JSValue::encode(JSWorkerGlobalScope::getConstructor(state->vm(), prototype->globalObject()));
957}
958
959bool setJSWorkerGlobalScopeConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
960{
961 VM& vm = state->vm();
962 auto throwScope = DECLARE_THROW_SCOPE(vm);
963 auto* prototype = jsDynamicCast<JSWorkerGlobalScopePrototype*>(vm, JSValue::decode(thisValue));
964 if (UNLIKELY(!prototype)) {
965 throwVMTypeError(state, throwScope);
966 return false;
967 }
968 // Shadowing a built-in constructor
969 return prototype->putDirect(vm, vm.propertyNames->constructor, JSValue::decode(encodedValue));
970}
971
972static inline JSValue jsWorkerGlobalScopeSelfGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
973{
974 UNUSED_PARAM(throwScope);
975 UNUSED_PARAM(state);
976 auto& impl = thisObject.wrapped();
977 JSValue result = toJS<IDLInterface<WorkerGlobalScope>>(state, *thisObject.globalObject(), throwScope, impl.self());
978 return result;
979}
980
981EncodedJSValue jsWorkerGlobalScopeSelf(ExecState* state, EncodedJSValue thisValue, PropertyName)
982{
983 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeSelfGetter>(*state, thisValue, "self");
984}
985
986static inline JSValue jsWorkerGlobalScopeLocationGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
987{
988 UNUSED_PARAM(throwScope);
989 UNUSED_PARAM(state);
990 auto& impl = thisObject.wrapped();
991 JSValue result = toJS<IDLInterface<WorkerLocation>>(state, *thisObject.globalObject(), throwScope, impl.location());
992 return result;
993}
994
995EncodedJSValue jsWorkerGlobalScopeLocation(ExecState* state, EncodedJSValue thisValue, PropertyName)
996{
997 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeLocationGetter>(*state, thisValue, "location");
998}
999
1000static inline JSValue jsWorkerGlobalScopeOnerrorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1001{
1002 UNUSED_PARAM(throwScope);
1003 UNUSED_PARAM(state);
1004 return eventHandlerAttribute(thisObject.wrapped(), eventNames().errorEvent, worldForDOMObject(thisObject));
1005}
1006
1007EncodedJSValue jsWorkerGlobalScopeOnerror(ExecState* state, EncodedJSValue thisValue, PropertyName)
1008{
1009 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeOnerrorGetter>(*state, thisValue, "onerror");
1010}
1011
1012static inline bool setJSWorkerGlobalScopeOnerrorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1013{
1014 UNUSED_PARAM(throwScope);
1015 thisObject.wrapped().setAttributeEventListener(eventNames().errorEvent, createJSErrorHandler(state, value, thisObject), worldForDOMObject(thisObject));
1016 return true;
1017}
1018
1019bool setJSWorkerGlobalScopeOnerror(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1020{
1021 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeOnerrorSetter>(*state, thisValue, encodedValue, "onerror");
1022}
1023
1024static inline JSValue jsWorkerGlobalScopeOnofflineGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1025{
1026 UNUSED_PARAM(throwScope);
1027 UNUSED_PARAM(state);
1028 return eventHandlerAttribute(thisObject.wrapped(), eventNames().offlineEvent, worldForDOMObject(thisObject));
1029}
1030
1031EncodedJSValue jsWorkerGlobalScopeOnoffline(ExecState* state, EncodedJSValue thisValue, PropertyName)
1032{
1033 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeOnofflineGetter>(*state, thisValue, "onoffline");
1034}
1035
1036static inline bool setJSWorkerGlobalScopeOnofflineSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1037{
1038 UNUSED_PARAM(throwScope);
1039 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().offlineEvent, value);
1040 return true;
1041}
1042
1043bool setJSWorkerGlobalScopeOnoffline(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1044{
1045 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeOnofflineSetter>(*state, thisValue, encodedValue, "onoffline");
1046}
1047
1048static inline JSValue jsWorkerGlobalScopeOnonlineGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1049{
1050 UNUSED_PARAM(throwScope);
1051 UNUSED_PARAM(state);
1052 return eventHandlerAttribute(thisObject.wrapped(), eventNames().onlineEvent, worldForDOMObject(thisObject));
1053}
1054
1055EncodedJSValue jsWorkerGlobalScopeOnonline(ExecState* state, EncodedJSValue thisValue, PropertyName)
1056{
1057 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeOnonlineGetter>(*state, thisValue, "ononline");
1058}
1059
1060static inline bool setJSWorkerGlobalScopeOnonlineSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1061{
1062 UNUSED_PARAM(throwScope);
1063 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().onlineEvent, value);
1064 return true;
1065}
1066
1067bool setJSWorkerGlobalScopeOnonline(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1068{
1069 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeOnonlineSetter>(*state, thisValue, encodedValue, "ononline");
1070}
1071
1072static inline JSValue jsWorkerGlobalScopeOnrejectionhandledGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1073{
1074 UNUSED_PARAM(throwScope);
1075 UNUSED_PARAM(state);
1076 return eventHandlerAttribute(thisObject.wrapped(), eventNames().rejectionhandledEvent, worldForDOMObject(thisObject));
1077}
1078
1079EncodedJSValue jsWorkerGlobalScopeOnrejectionhandled(ExecState* state, EncodedJSValue thisValue, PropertyName)
1080{
1081 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeOnrejectionhandledGetter>(*state, thisValue, "onrejectionhandled");
1082}
1083
1084static inline bool setJSWorkerGlobalScopeOnrejectionhandledSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1085{
1086 UNUSED_PARAM(throwScope);
1087 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().rejectionhandledEvent, value);
1088 return true;
1089}
1090
1091bool setJSWorkerGlobalScopeOnrejectionhandled(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1092{
1093 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeOnrejectionhandledSetter>(*state, thisValue, encodedValue, "onrejectionhandled");
1094}
1095
1096static inline JSValue jsWorkerGlobalScopeOnunhandledrejectionGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1097{
1098 UNUSED_PARAM(throwScope);
1099 UNUSED_PARAM(state);
1100 return eventHandlerAttribute(thisObject.wrapped(), eventNames().unhandledrejectionEvent, worldForDOMObject(thisObject));
1101}
1102
1103EncodedJSValue jsWorkerGlobalScopeOnunhandledrejection(ExecState* state, EncodedJSValue thisValue, PropertyName)
1104{
1105 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeOnunhandledrejectionGetter>(*state, thisValue, "onunhandledrejection");
1106}
1107
1108static inline bool setJSWorkerGlobalScopeOnunhandledrejectionSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1109{
1110 UNUSED_PARAM(throwScope);
1111 setEventHandlerAttribute(state, thisObject, thisObject.wrapped(), eventNames().unhandledrejectionEvent, value);
1112 return true;
1113}
1114
1115bool setJSWorkerGlobalScopeOnunhandledrejection(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1116{
1117 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeOnunhandledrejectionSetter>(*state, thisValue, encodedValue, "onunhandledrejection");
1118}
1119
1120static inline JSValue jsWorkerGlobalScopeNavigatorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1121{
1122 UNUSED_PARAM(throwScope);
1123 UNUSED_PARAM(state);
1124 auto& impl = thisObject.wrapped();
1125 JSValue result = toJS<IDLInterface<WorkerNavigator>>(state, *thisObject.globalObject(), throwScope, impl.navigator());
1126 return result;
1127}
1128
1129EncodedJSValue jsWorkerGlobalScopeNavigator(ExecState* state, EncodedJSValue thisValue, PropertyName)
1130{
1131 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeNavigatorGetter>(*state, thisValue, "navigator");
1132}
1133
1134#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1135static inline JSValue jsWorkerGlobalScopeIDBCursorConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1136{
1137 UNUSED_PARAM(throwScope);
1138 UNUSED_PARAM(state);
1139 return JSIDBCursor::getConstructor(state.vm(), thisObject.globalObject());
1140}
1141
1142EncodedJSValue jsWorkerGlobalScopeIDBCursorConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1143{
1144 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBCursorConstructorGetter>(*state, thisValue, "IDBCursor");
1145}
1146
1147#endif
1148
1149#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1150static inline bool setJSWorkerGlobalScopeIDBCursorConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1151{
1152 UNUSED_PARAM(throwScope);
1153 // Shadowing a built-in constructor.
1154 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBCursor"), strlen("IDBCursor")), value);
1155}
1156
1157bool setJSWorkerGlobalScopeIDBCursorConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1158{
1159 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBCursorConstructorSetter>(*state, thisValue, encodedValue, "IDBCursor");
1160}
1161
1162#endif
1163
1164#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1165static inline JSValue jsWorkerGlobalScopeIDBCursorWithValueConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1166{
1167 UNUSED_PARAM(throwScope);
1168 UNUSED_PARAM(state);
1169 return JSIDBCursorWithValue::getConstructor(state.vm(), thisObject.globalObject());
1170}
1171
1172EncodedJSValue jsWorkerGlobalScopeIDBCursorWithValueConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1173{
1174 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBCursorWithValueConstructorGetter>(*state, thisValue, "IDBCursorWithValue");
1175}
1176
1177#endif
1178
1179#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1180static inline bool setJSWorkerGlobalScopeIDBCursorWithValueConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1181{
1182 UNUSED_PARAM(throwScope);
1183 // Shadowing a built-in constructor.
1184 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBCursorWithValue"), strlen("IDBCursorWithValue")), value);
1185}
1186
1187bool setJSWorkerGlobalScopeIDBCursorWithValueConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1188{
1189 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBCursorWithValueConstructorSetter>(*state, thisValue, encodedValue, "IDBCursorWithValue");
1190}
1191
1192#endif
1193
1194#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1195static inline JSValue jsWorkerGlobalScopeIDBDatabaseConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1196{
1197 UNUSED_PARAM(throwScope);
1198 UNUSED_PARAM(state);
1199 return JSIDBDatabase::getConstructor(state.vm(), thisObject.globalObject());
1200}
1201
1202EncodedJSValue jsWorkerGlobalScopeIDBDatabaseConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1203{
1204 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBDatabaseConstructorGetter>(*state, thisValue, "IDBDatabase");
1205}
1206
1207#endif
1208
1209#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1210static inline bool setJSWorkerGlobalScopeIDBDatabaseConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1211{
1212 UNUSED_PARAM(throwScope);
1213 // Shadowing a built-in constructor.
1214 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBDatabase"), strlen("IDBDatabase")), value);
1215}
1216
1217bool setJSWorkerGlobalScopeIDBDatabaseConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1218{
1219 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBDatabaseConstructorSetter>(*state, thisValue, encodedValue, "IDBDatabase");
1220}
1221
1222#endif
1223
1224#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1225static inline JSValue jsWorkerGlobalScopeIDBFactoryConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1226{
1227 UNUSED_PARAM(throwScope);
1228 UNUSED_PARAM(state);
1229 return JSIDBFactory::getConstructor(state.vm(), thisObject.globalObject());
1230}
1231
1232EncodedJSValue jsWorkerGlobalScopeIDBFactoryConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1233{
1234 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBFactoryConstructorGetter>(*state, thisValue, "IDBFactory");
1235}
1236
1237#endif
1238
1239#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1240static inline bool setJSWorkerGlobalScopeIDBFactoryConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1241{
1242 UNUSED_PARAM(throwScope);
1243 // Shadowing a built-in constructor.
1244 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBFactory"), strlen("IDBFactory")), value);
1245}
1246
1247bool setJSWorkerGlobalScopeIDBFactoryConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1248{
1249 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBFactoryConstructorSetter>(*state, thisValue, encodedValue, "IDBFactory");
1250}
1251
1252#endif
1253
1254#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1255static inline JSValue jsWorkerGlobalScopeIDBIndexConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1256{
1257 UNUSED_PARAM(throwScope);
1258 UNUSED_PARAM(state);
1259 return JSIDBIndex::getConstructor(state.vm(), thisObject.globalObject());
1260}
1261
1262EncodedJSValue jsWorkerGlobalScopeIDBIndexConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1263{
1264 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBIndexConstructorGetter>(*state, thisValue, "IDBIndex");
1265}
1266
1267#endif
1268
1269#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1270static inline bool setJSWorkerGlobalScopeIDBIndexConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1271{
1272 UNUSED_PARAM(throwScope);
1273 // Shadowing a built-in constructor.
1274 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBIndex"), strlen("IDBIndex")), value);
1275}
1276
1277bool setJSWorkerGlobalScopeIDBIndexConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1278{
1279 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBIndexConstructorSetter>(*state, thisValue, encodedValue, "IDBIndex");
1280}
1281
1282#endif
1283
1284#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1285static inline JSValue jsWorkerGlobalScopeIDBKeyRangeConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1286{
1287 UNUSED_PARAM(throwScope);
1288 UNUSED_PARAM(state);
1289 return JSIDBKeyRange::getConstructor(state.vm(), thisObject.globalObject());
1290}
1291
1292EncodedJSValue jsWorkerGlobalScopeIDBKeyRangeConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1293{
1294 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBKeyRangeConstructorGetter>(*state, thisValue, "IDBKeyRange");
1295}
1296
1297#endif
1298
1299#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1300static inline bool setJSWorkerGlobalScopeIDBKeyRangeConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1301{
1302 UNUSED_PARAM(throwScope);
1303 // Shadowing a built-in constructor.
1304 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBKeyRange"), strlen("IDBKeyRange")), value);
1305}
1306
1307bool setJSWorkerGlobalScopeIDBKeyRangeConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1308{
1309 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBKeyRangeConstructorSetter>(*state, thisValue, encodedValue, "IDBKeyRange");
1310}
1311
1312#endif
1313
1314#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1315static inline JSValue jsWorkerGlobalScopeIDBObjectStoreConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1316{
1317 UNUSED_PARAM(throwScope);
1318 UNUSED_PARAM(state);
1319 return JSIDBObjectStore::getConstructor(state.vm(), thisObject.globalObject());
1320}
1321
1322EncodedJSValue jsWorkerGlobalScopeIDBObjectStoreConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1323{
1324 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBObjectStoreConstructorGetter>(*state, thisValue, "IDBObjectStore");
1325}
1326
1327#endif
1328
1329#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1330static inline bool setJSWorkerGlobalScopeIDBObjectStoreConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1331{
1332 UNUSED_PARAM(throwScope);
1333 // Shadowing a built-in constructor.
1334 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBObjectStore"), strlen("IDBObjectStore")), value);
1335}
1336
1337bool setJSWorkerGlobalScopeIDBObjectStoreConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1338{
1339 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBObjectStoreConstructorSetter>(*state, thisValue, encodedValue, "IDBObjectStore");
1340}
1341
1342#endif
1343
1344#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1345static inline JSValue jsWorkerGlobalScopeIDBOpenDBRequestConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1346{
1347 UNUSED_PARAM(throwScope);
1348 UNUSED_PARAM(state);
1349 return JSIDBOpenDBRequest::getConstructor(state.vm(), thisObject.globalObject());
1350}
1351
1352EncodedJSValue jsWorkerGlobalScopeIDBOpenDBRequestConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1353{
1354 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBOpenDBRequestConstructorGetter>(*state, thisValue, "IDBOpenDBRequest");
1355}
1356
1357#endif
1358
1359#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1360static inline bool setJSWorkerGlobalScopeIDBOpenDBRequestConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1361{
1362 UNUSED_PARAM(throwScope);
1363 // Shadowing a built-in constructor.
1364 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBOpenDBRequest"), strlen("IDBOpenDBRequest")), value);
1365}
1366
1367bool setJSWorkerGlobalScopeIDBOpenDBRequestConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1368{
1369 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBOpenDBRequestConstructorSetter>(*state, thisValue, encodedValue, "IDBOpenDBRequest");
1370}
1371
1372#endif
1373
1374#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1375static inline JSValue jsWorkerGlobalScopeIDBRequestConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1376{
1377 UNUSED_PARAM(throwScope);
1378 UNUSED_PARAM(state);
1379 return JSIDBRequest::getConstructor(state.vm(), thisObject.globalObject());
1380}
1381
1382EncodedJSValue jsWorkerGlobalScopeIDBRequestConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1383{
1384 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBRequestConstructorGetter>(*state, thisValue, "IDBRequest");
1385}
1386
1387#endif
1388
1389#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1390static inline bool setJSWorkerGlobalScopeIDBRequestConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1391{
1392 UNUSED_PARAM(throwScope);
1393 // Shadowing a built-in constructor.
1394 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBRequest"), strlen("IDBRequest")), value);
1395}
1396
1397bool setJSWorkerGlobalScopeIDBRequestConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1398{
1399 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBRequestConstructorSetter>(*state, thisValue, encodedValue, "IDBRequest");
1400}
1401
1402#endif
1403
1404#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1405static inline JSValue jsWorkerGlobalScopeIDBTransactionConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1406{
1407 UNUSED_PARAM(throwScope);
1408 UNUSED_PARAM(state);
1409 return JSIDBTransaction::getConstructor(state.vm(), thisObject.globalObject());
1410}
1411
1412EncodedJSValue jsWorkerGlobalScopeIDBTransactionConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1413{
1414 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBTransactionConstructorGetter>(*state, thisValue, "IDBTransaction");
1415}
1416
1417#endif
1418
1419#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1420static inline bool setJSWorkerGlobalScopeIDBTransactionConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1421{
1422 UNUSED_PARAM(throwScope);
1423 // Shadowing a built-in constructor.
1424 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBTransaction"), strlen("IDBTransaction")), value);
1425}
1426
1427bool setJSWorkerGlobalScopeIDBTransactionConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1428{
1429 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBTransactionConstructorSetter>(*state, thisValue, encodedValue, "IDBTransaction");
1430}
1431
1432#endif
1433
1434#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1435static inline JSValue jsWorkerGlobalScopeIDBVersionChangeEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1436{
1437 UNUSED_PARAM(throwScope);
1438 UNUSED_PARAM(state);
1439 return JSIDBVersionChangeEvent::getConstructor(state.vm(), thisObject.globalObject());
1440}
1441
1442EncodedJSValue jsWorkerGlobalScopeIDBVersionChangeEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1443{
1444 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIDBVersionChangeEventConstructorGetter>(*state, thisValue, "IDBVersionChangeEvent");
1445}
1446
1447#endif
1448
1449#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1450static inline bool setJSWorkerGlobalScopeIDBVersionChangeEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1451{
1452 UNUSED_PARAM(throwScope);
1453 // Shadowing a built-in constructor.
1454 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("IDBVersionChangeEvent"), strlen("IDBVersionChangeEvent")), value);
1455}
1456
1457bool setJSWorkerGlobalScopeIDBVersionChangeEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1458{
1459 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeIDBVersionChangeEventConstructorSetter>(*state, thisValue, encodedValue, "IDBVersionChangeEvent");
1460}
1461
1462#endif
1463
1464static inline JSValue jsWorkerGlobalScopeCachesGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1465{
1466 UNUSED_PARAM(throwScope);
1467 UNUSED_PARAM(state);
1468 auto& impl = thisObject.wrapped();
1469 JSValue result = toJS<IDLInterface<DOMCacheStorage>>(state, *thisObject.globalObject(), throwScope, WebCore::WorkerGlobalScopeCaches::caches(impl));
1470 return result;
1471}
1472
1473EncodedJSValue jsWorkerGlobalScopeCaches(ExecState* state, EncodedJSValue thisValue, PropertyName)
1474{
1475 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCachesGetter>(*state, thisValue, "caches");
1476}
1477
1478#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
1479static inline JSValue jsWorkerGlobalScopeIndexedDBGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1480{
1481 UNUSED_PARAM(throwScope);
1482 UNUSED_PARAM(state);
1483 auto& impl = thisObject.wrapped();
1484 JSValue result = toJS<IDLInterface<IDBFactory>>(state, *thisObject.globalObject(), throwScope, WebCore::WorkerGlobalScopeIndexedDatabase::indexedDB(impl));
1485 return result;
1486}
1487
1488EncodedJSValue jsWorkerGlobalScopeIndexedDB(ExecState* state, EncodedJSValue thisValue, PropertyName)
1489{
1490 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIndexedDBGetter>(*state, thisValue, "indexedDB");
1491}
1492
1493#endif
1494
1495static inline JSValue jsWorkerGlobalScopeCryptoGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1496{
1497 UNUSED_PARAM(throwScope);
1498 UNUSED_PARAM(state);
1499 auto& impl = thisObject.wrapped();
1500 JSValue result = toJS<IDLInterface<Crypto>>(state, *thisObject.globalObject(), throwScope, impl.crypto());
1501 return result;
1502}
1503
1504EncodedJSValue jsWorkerGlobalScopeCrypto(ExecState* state, EncodedJSValue thisValue, PropertyName)
1505{
1506 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCryptoGetter>(*state, thisValue, "crypto");
1507}
1508
1509static inline JSValue jsWorkerGlobalScopePerformanceGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1510{
1511 UNUSED_PARAM(throwScope);
1512 UNUSED_PARAM(state);
1513 auto& impl = thisObject.wrapped();
1514 JSValue result = toJS<IDLInterface<Performance>>(state, *thisObject.globalObject(), throwScope, impl.performance());
1515 return result;
1516}
1517
1518EncodedJSValue jsWorkerGlobalScopePerformance(ExecState* state, EncodedJSValue thisValue, PropertyName)
1519{
1520 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceGetter>(*state, thisValue, "performance");
1521}
1522
1523static inline bool setJSWorkerGlobalScopePerformanceSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1524{
1525 UNUSED_PARAM(throwScope);
1526 // Shadowing a built-in property.
1527 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("performance"), strlen("performance")), value);
1528}
1529
1530bool setJSWorkerGlobalScopePerformance(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1531{
1532 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceSetter>(*state, thisValue, encodedValue, "performance");
1533}
1534
1535static inline JSValue jsWorkerGlobalScopeOriginGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1536{
1537 UNUSED_PARAM(throwScope);
1538 UNUSED_PARAM(state);
1539 auto& impl = thisObject.wrapped();
1540 JSValue result = toJS<IDLUSVString>(state, throwScope, impl.origin());
1541 return result;
1542}
1543
1544EncodedJSValue jsWorkerGlobalScopeOrigin(ExecState* state, EncodedJSValue thisValue, PropertyName)
1545{
1546 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeOriginGetter>(*state, thisValue, "origin");
1547}
1548
1549static inline bool setJSWorkerGlobalScopeOriginSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1550{
1551 UNUSED_PARAM(throwScope);
1552 // Shadowing a built-in property.
1553 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("origin"), strlen("origin")), value);
1554}
1555
1556bool setJSWorkerGlobalScopeOrigin(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1557{
1558 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeOriginSetter>(*state, thisValue, encodedValue, "origin");
1559}
1560
1561static inline JSValue jsWorkerGlobalScopeIsSecureContextGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1562{
1563 UNUSED_PARAM(throwScope);
1564 UNUSED_PARAM(state);
1565 auto& impl = thisObject.wrapped();
1566 JSValue result = toJS<IDLBoolean>(state, throwScope, impl.isSecureContext());
1567 return result;
1568}
1569
1570EncodedJSValue jsWorkerGlobalScopeIsSecureContext(ExecState* state, EncodedJSValue thisValue, PropertyName)
1571{
1572 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeIsSecureContextGetter>(*state, thisValue, "isSecureContext");
1573}
1574
1575static inline JSValue jsWorkerGlobalScopeCacheConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1576{
1577 UNUSED_PARAM(throwScope);
1578 UNUSED_PARAM(state);
1579 return JSDOMCache::getConstructor(state.vm(), thisObject.globalObject());
1580}
1581
1582EncodedJSValue jsWorkerGlobalScopeCacheConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1583{
1584 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCacheConstructorGetter>(*state, thisValue, "Cache");
1585}
1586
1587static inline bool setJSWorkerGlobalScopeCacheConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1588{
1589 UNUSED_PARAM(throwScope);
1590 // Shadowing a built-in constructor.
1591 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Cache"), strlen("Cache")), value);
1592}
1593
1594bool setJSWorkerGlobalScopeCacheConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1595{
1596 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCacheConstructorSetter>(*state, thisValue, encodedValue, "Cache");
1597}
1598
1599static inline JSValue jsWorkerGlobalScopeCacheStorageConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1600{
1601 UNUSED_PARAM(throwScope);
1602 UNUSED_PARAM(state);
1603 return JSDOMCacheStorage::getConstructor(state.vm(), thisObject.globalObject());
1604}
1605
1606EncodedJSValue jsWorkerGlobalScopeCacheStorageConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1607{
1608 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCacheStorageConstructorGetter>(*state, thisValue, "CacheStorage");
1609}
1610
1611static inline bool setJSWorkerGlobalScopeCacheStorageConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1612{
1613 UNUSED_PARAM(throwScope);
1614 // Shadowing a built-in constructor.
1615 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CacheStorage"), strlen("CacheStorage")), value);
1616}
1617
1618bool setJSWorkerGlobalScopeCacheStorageConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1619{
1620 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCacheStorageConstructorSetter>(*state, thisValue, encodedValue, "CacheStorage");
1621}
1622
1623static inline JSValue jsWorkerGlobalScopeHeadersConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1624{
1625 UNUSED_PARAM(throwScope);
1626 UNUSED_PARAM(state);
1627 return JSFetchHeaders::getConstructor(state.vm(), thisObject.globalObject());
1628}
1629
1630EncodedJSValue jsWorkerGlobalScopeHeadersConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1631{
1632 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeHeadersConstructorGetter>(*state, thisValue, "Headers");
1633}
1634
1635static inline bool setJSWorkerGlobalScopeHeadersConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1636{
1637 UNUSED_PARAM(throwScope);
1638 // Shadowing a built-in constructor.
1639 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Headers"), strlen("Headers")), value);
1640}
1641
1642bool setJSWorkerGlobalScopeHeadersConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1643{
1644 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeHeadersConstructorSetter>(*state, thisValue, encodedValue, "Headers");
1645}
1646
1647static inline JSValue jsWorkerGlobalScopeRequestConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1648{
1649 UNUSED_PARAM(throwScope);
1650 UNUSED_PARAM(state);
1651 return JSFetchRequest::getConstructor(state.vm(), thisObject.globalObject());
1652}
1653
1654EncodedJSValue jsWorkerGlobalScopeRequestConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1655{
1656 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeRequestConstructorGetter>(*state, thisValue, "Request");
1657}
1658
1659static inline bool setJSWorkerGlobalScopeRequestConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1660{
1661 UNUSED_PARAM(throwScope);
1662 // Shadowing a built-in constructor.
1663 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Request"), strlen("Request")), value);
1664}
1665
1666bool setJSWorkerGlobalScopeRequestConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1667{
1668 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeRequestConstructorSetter>(*state, thisValue, encodedValue, "Request");
1669}
1670
1671static inline JSValue jsWorkerGlobalScopeResponseConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1672{
1673 UNUSED_PARAM(throwScope);
1674 UNUSED_PARAM(state);
1675 return JSFetchResponse::getConstructor(state.vm(), thisObject.globalObject());
1676}
1677
1678EncodedJSValue jsWorkerGlobalScopeResponseConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1679{
1680 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeResponseConstructorGetter>(*state, thisValue, "Response");
1681}
1682
1683static inline bool setJSWorkerGlobalScopeResponseConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1684{
1685 UNUSED_PARAM(throwScope);
1686 // Shadowing a built-in constructor.
1687 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Response"), strlen("Response")), value);
1688}
1689
1690bool setJSWorkerGlobalScopeResponseConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1691{
1692 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeResponseConstructorSetter>(*state, thisValue, encodedValue, "Response");
1693}
1694
1695#if ENABLE(STREAMS_API)
1696static inline JSValue jsWorkerGlobalScopeByteLengthQueuingStrategyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1697{
1698 UNUSED_PARAM(throwScope);
1699 UNUSED_PARAM(state);
1700 return JSByteLengthQueuingStrategy::getConstructor(state.vm(), thisObject.globalObject());
1701}
1702
1703EncodedJSValue jsWorkerGlobalScopeByteLengthQueuingStrategyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1704{
1705 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeByteLengthQueuingStrategyConstructorGetter>(*state, thisValue, "ByteLengthQueuingStrategy");
1706}
1707
1708#endif
1709
1710#if ENABLE(STREAMS_API)
1711static inline bool setJSWorkerGlobalScopeByteLengthQueuingStrategyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1712{
1713 UNUSED_PARAM(throwScope);
1714 // Shadowing a built-in constructor.
1715 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ByteLengthQueuingStrategy"), strlen("ByteLengthQueuingStrategy")), value);
1716}
1717
1718bool setJSWorkerGlobalScopeByteLengthQueuingStrategyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1719{
1720 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeByteLengthQueuingStrategyConstructorSetter>(*state, thisValue, encodedValue, "ByteLengthQueuingStrategy");
1721}
1722
1723#endif
1724
1725#if ENABLE(STREAMS_API)
1726static inline JSValue jsWorkerGlobalScopeCountQueuingStrategyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1727{
1728 UNUSED_PARAM(throwScope);
1729 UNUSED_PARAM(state);
1730 return JSCountQueuingStrategy::getConstructor(state.vm(), thisObject.globalObject());
1731}
1732
1733EncodedJSValue jsWorkerGlobalScopeCountQueuingStrategyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1734{
1735 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCountQueuingStrategyConstructorGetter>(*state, thisValue, "CountQueuingStrategy");
1736}
1737
1738#endif
1739
1740#if ENABLE(STREAMS_API)
1741static inline bool setJSWorkerGlobalScopeCountQueuingStrategyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1742{
1743 UNUSED_PARAM(throwScope);
1744 // Shadowing a built-in constructor.
1745 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CountQueuingStrategy"), strlen("CountQueuingStrategy")), value);
1746}
1747
1748bool setJSWorkerGlobalScopeCountQueuingStrategyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1749{
1750 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCountQueuingStrategyConstructorSetter>(*state, thisValue, encodedValue, "CountQueuingStrategy");
1751}
1752
1753#endif
1754
1755#if ENABLE(STREAMS_API)
1756static inline JSValue jsWorkerGlobalScopeReadableByteStreamControllerConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1757{
1758 UNUSED_PARAM(throwScope);
1759 UNUSED_PARAM(state);
1760 return JSReadableByteStreamController::getConstructor(state.vm(), thisObject.globalObject());
1761}
1762
1763EncodedJSValue jsWorkerGlobalScopeReadableByteStreamControllerConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1764{
1765 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeReadableByteStreamControllerConstructorGetter>(*state, thisValue, "ReadableByteStreamController");
1766}
1767
1768#endif
1769
1770#if ENABLE(STREAMS_API)
1771static inline bool setJSWorkerGlobalScopeReadableByteStreamControllerConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1772{
1773 UNUSED_PARAM(throwScope);
1774 // Shadowing a built-in constructor.
1775 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ReadableByteStreamController"), strlen("ReadableByteStreamController")), value);
1776}
1777
1778bool setJSWorkerGlobalScopeReadableByteStreamControllerConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1779{
1780 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeReadableByteStreamControllerConstructorSetter>(*state, thisValue, encodedValue, "ReadableByteStreamController");
1781}
1782
1783#endif
1784
1785#if ENABLE(STREAMS_API)
1786static inline JSValue jsWorkerGlobalScopeReadableStreamConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1787{
1788 UNUSED_PARAM(throwScope);
1789 UNUSED_PARAM(state);
1790 return JSReadableStream::getConstructor(state.vm(), thisObject.globalObject());
1791}
1792
1793EncodedJSValue jsWorkerGlobalScopeReadableStreamConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1794{
1795 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeReadableStreamConstructorGetter>(*state, thisValue, "ReadableStream");
1796}
1797
1798#endif
1799
1800#if ENABLE(STREAMS_API)
1801static inline bool setJSWorkerGlobalScopeReadableStreamConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1802{
1803 UNUSED_PARAM(throwScope);
1804 // Shadowing a built-in constructor.
1805 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ReadableStream"), strlen("ReadableStream")), value);
1806}
1807
1808bool setJSWorkerGlobalScopeReadableStreamConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1809{
1810 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeReadableStreamConstructorSetter>(*state, thisValue, encodedValue, "ReadableStream");
1811}
1812
1813#endif
1814
1815#if ENABLE(STREAMS_API)
1816static inline JSValue jsWorkerGlobalScopeReadableStreamBYOBReaderConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1817{
1818 UNUSED_PARAM(throwScope);
1819 UNUSED_PARAM(state);
1820 return JSReadableStreamBYOBReader::getConstructor(state.vm(), thisObject.globalObject());
1821}
1822
1823EncodedJSValue jsWorkerGlobalScopeReadableStreamBYOBReaderConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1824{
1825 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeReadableStreamBYOBReaderConstructorGetter>(*state, thisValue, "ReadableStreamBYOBReader");
1826}
1827
1828#endif
1829
1830#if ENABLE(STREAMS_API)
1831static inline bool setJSWorkerGlobalScopeReadableStreamBYOBReaderConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1832{
1833 UNUSED_PARAM(throwScope);
1834 // Shadowing a built-in constructor.
1835 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ReadableStreamBYOBReader"), strlen("ReadableStreamBYOBReader")), value);
1836}
1837
1838bool setJSWorkerGlobalScopeReadableStreamBYOBReaderConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1839{
1840 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeReadableStreamBYOBReaderConstructorSetter>(*state, thisValue, encodedValue, "ReadableStreamBYOBReader");
1841}
1842
1843#endif
1844
1845#if ENABLE(STREAMS_API)
1846static inline JSValue jsWorkerGlobalScopeReadableStreamBYOBRequestConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1847{
1848 UNUSED_PARAM(throwScope);
1849 UNUSED_PARAM(state);
1850 return JSReadableStreamBYOBRequest::getConstructor(state.vm(), thisObject.globalObject());
1851}
1852
1853EncodedJSValue jsWorkerGlobalScopeReadableStreamBYOBRequestConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1854{
1855 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeReadableStreamBYOBRequestConstructorGetter>(*state, thisValue, "ReadableStreamBYOBRequest");
1856}
1857
1858#endif
1859
1860#if ENABLE(STREAMS_API)
1861static inline bool setJSWorkerGlobalScopeReadableStreamBYOBRequestConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1862{
1863 UNUSED_PARAM(throwScope);
1864 // Shadowing a built-in constructor.
1865 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ReadableStreamBYOBRequest"), strlen("ReadableStreamBYOBRequest")), value);
1866}
1867
1868bool setJSWorkerGlobalScopeReadableStreamBYOBRequestConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1869{
1870 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeReadableStreamBYOBRequestConstructorSetter>(*state, thisValue, encodedValue, "ReadableStreamBYOBRequest");
1871}
1872
1873#endif
1874
1875#if ENABLE(STREAMS_API)
1876static inline JSValue jsWorkerGlobalScopeReadableStreamDefaultControllerConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1877{
1878 UNUSED_PARAM(throwScope);
1879 UNUSED_PARAM(state);
1880 return JSReadableStreamDefaultController::getConstructor(state.vm(), thisObject.globalObject());
1881}
1882
1883EncodedJSValue jsWorkerGlobalScopeReadableStreamDefaultControllerConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1884{
1885 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeReadableStreamDefaultControllerConstructorGetter>(*state, thisValue, "ReadableStreamDefaultController");
1886}
1887
1888#endif
1889
1890#if ENABLE(STREAMS_API)
1891static inline bool setJSWorkerGlobalScopeReadableStreamDefaultControllerConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1892{
1893 UNUSED_PARAM(throwScope);
1894 // Shadowing a built-in constructor.
1895 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ReadableStreamDefaultController"), strlen("ReadableStreamDefaultController")), value);
1896}
1897
1898bool setJSWorkerGlobalScopeReadableStreamDefaultControllerConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1899{
1900 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeReadableStreamDefaultControllerConstructorSetter>(*state, thisValue, encodedValue, "ReadableStreamDefaultController");
1901}
1902
1903#endif
1904
1905#if ENABLE(STREAMS_API)
1906static inline JSValue jsWorkerGlobalScopeReadableStreamDefaultReaderConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1907{
1908 UNUSED_PARAM(throwScope);
1909 UNUSED_PARAM(state);
1910 return JSReadableStreamDefaultReader::getConstructor(state.vm(), thisObject.globalObject());
1911}
1912
1913EncodedJSValue jsWorkerGlobalScopeReadableStreamDefaultReaderConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1914{
1915 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeReadableStreamDefaultReaderConstructorGetter>(*state, thisValue, "ReadableStreamDefaultReader");
1916}
1917
1918#endif
1919
1920#if ENABLE(STREAMS_API)
1921static inline bool setJSWorkerGlobalScopeReadableStreamDefaultReaderConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1922{
1923 UNUSED_PARAM(throwScope);
1924 // Shadowing a built-in constructor.
1925 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ReadableStreamDefaultReader"), strlen("ReadableStreamDefaultReader")), value);
1926}
1927
1928bool setJSWorkerGlobalScopeReadableStreamDefaultReaderConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1929{
1930 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeReadableStreamDefaultReaderConstructorSetter>(*state, thisValue, encodedValue, "ReadableStreamDefaultReader");
1931}
1932
1933#endif
1934
1935static inline JSValue jsWorkerGlobalScopeCloseEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1936{
1937 UNUSED_PARAM(throwScope);
1938 UNUSED_PARAM(state);
1939 return JSCloseEvent::getConstructor(state.vm(), thisObject.globalObject());
1940}
1941
1942EncodedJSValue jsWorkerGlobalScopeCloseEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1943{
1944 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCloseEventConstructorGetter>(*state, thisValue, "CloseEvent");
1945}
1946
1947static inline bool setJSWorkerGlobalScopeCloseEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1948{
1949 UNUSED_PARAM(throwScope);
1950 // Shadowing a built-in constructor.
1951 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CloseEvent"), strlen("CloseEvent")), value);
1952}
1953
1954bool setJSWorkerGlobalScopeCloseEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1955{
1956 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCloseEventConstructorSetter>(*state, thisValue, encodedValue, "CloseEvent");
1957}
1958
1959static inline JSValue jsWorkerGlobalScopeWebSocketConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1960{
1961 UNUSED_PARAM(throwScope);
1962 UNUSED_PARAM(state);
1963 return JSWebSocket::getConstructor(state.vm(), thisObject.globalObject());
1964}
1965
1966EncodedJSValue jsWorkerGlobalScopeWebSocketConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1967{
1968 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeWebSocketConstructorGetter>(*state, thisValue, "WebSocket");
1969}
1970
1971static inline bool setJSWorkerGlobalScopeWebSocketConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
1972{
1973 UNUSED_PARAM(throwScope);
1974 // Shadowing a built-in constructor.
1975 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("WebSocket"), strlen("WebSocket")), value);
1976}
1977
1978bool setJSWorkerGlobalScopeWebSocketConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
1979{
1980 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeWebSocketConstructorSetter>(*state, thisValue, encodedValue, "WebSocket");
1981}
1982
1983#if ENABLE(WEB_CRYPTO)
1984static inline JSValue jsWorkerGlobalScopeCryptoKeyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
1985{
1986 UNUSED_PARAM(throwScope);
1987 UNUSED_PARAM(state);
1988 return JSCryptoKey::getConstructor(state.vm(), thisObject.globalObject());
1989}
1990
1991EncodedJSValue jsWorkerGlobalScopeCryptoKeyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
1992{
1993 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCryptoKeyConstructorGetter>(*state, thisValue, "CryptoKey");
1994}
1995
1996#endif
1997
1998#if ENABLE(WEB_CRYPTO)
1999static inline bool setJSWorkerGlobalScopeCryptoKeyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2000{
2001 UNUSED_PARAM(throwScope);
2002 // Shadowing a built-in constructor.
2003 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CryptoKey"), strlen("CryptoKey")), value);
2004}
2005
2006bool setJSWorkerGlobalScopeCryptoKeyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2007{
2008 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCryptoKeyConstructorSetter>(*state, thisValue, encodedValue, "CryptoKey");
2009}
2010
2011#endif
2012
2013#if ENABLE(WEB_CRYPTO)
2014static inline JSValue jsWorkerGlobalScopeSubtleCryptoConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2015{
2016 UNUSED_PARAM(throwScope);
2017 UNUSED_PARAM(state);
2018 return JSSubtleCrypto::getConstructor(state.vm(), thisObject.globalObject());
2019}
2020
2021EncodedJSValue jsWorkerGlobalScopeSubtleCryptoConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2022{
2023 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeSubtleCryptoConstructorGetter>(*state, thisValue, "SubtleCrypto");
2024}
2025
2026#endif
2027
2028#if ENABLE(WEB_CRYPTO)
2029static inline bool setJSWorkerGlobalScopeSubtleCryptoConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2030{
2031 UNUSED_PARAM(throwScope);
2032 // Shadowing a built-in constructor.
2033 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("SubtleCrypto"), strlen("SubtleCrypto")), value);
2034}
2035
2036bool setJSWorkerGlobalScopeSubtleCryptoConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2037{
2038 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeSubtleCryptoConstructorSetter>(*state, thisValue, encodedValue, "SubtleCrypto");
2039}
2040
2041#endif
2042
2043static inline JSValue jsWorkerGlobalScopeDOMMatrixConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2044{
2045 UNUSED_PARAM(throwScope);
2046 UNUSED_PARAM(state);
2047 return JSDOMMatrix::getConstructor(state.vm(), thisObject.globalObject());
2048}
2049
2050EncodedJSValue jsWorkerGlobalScopeDOMMatrixConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2051{
2052 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMMatrixConstructorGetter>(*state, thisValue, "DOMMatrix");
2053}
2054
2055static inline bool setJSWorkerGlobalScopeDOMMatrixConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2056{
2057 UNUSED_PARAM(throwScope);
2058 // Shadowing a built-in constructor.
2059 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMMatrix"), strlen("DOMMatrix")), value);
2060}
2061
2062bool setJSWorkerGlobalScopeDOMMatrixConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2063{
2064 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMMatrixConstructorSetter>(*state, thisValue, encodedValue, "DOMMatrix");
2065}
2066
2067static inline JSValue jsWorkerGlobalScopeDOMMatrixReadOnlyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2068{
2069 UNUSED_PARAM(throwScope);
2070 UNUSED_PARAM(state);
2071 return JSDOMMatrixReadOnly::getConstructor(state.vm(), thisObject.globalObject());
2072}
2073
2074EncodedJSValue jsWorkerGlobalScopeDOMMatrixReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2075{
2076 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMMatrixReadOnlyConstructorGetter>(*state, thisValue, "DOMMatrixReadOnly");
2077}
2078
2079static inline bool setJSWorkerGlobalScopeDOMMatrixReadOnlyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2080{
2081 UNUSED_PARAM(throwScope);
2082 // Shadowing a built-in constructor.
2083 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMMatrixReadOnly"), strlen("DOMMatrixReadOnly")), value);
2084}
2085
2086bool setJSWorkerGlobalScopeDOMMatrixReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2087{
2088 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMMatrixReadOnlyConstructorSetter>(*state, thisValue, encodedValue, "DOMMatrixReadOnly");
2089}
2090
2091#if ENABLE(CSS_TYPED_OM)
2092static inline JSValue jsWorkerGlobalScopeStylePropertyMapReadOnlyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2093{
2094 UNUSED_PARAM(throwScope);
2095 UNUSED_PARAM(state);
2096 return JSStylePropertyMapReadOnly::getConstructor(state.vm(), thisObject.globalObject());
2097}
2098
2099EncodedJSValue jsWorkerGlobalScopeStylePropertyMapReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2100{
2101 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeStylePropertyMapReadOnlyConstructorGetter>(*state, thisValue, "StylePropertyMapReadOnly");
2102}
2103
2104#endif
2105
2106#if ENABLE(CSS_TYPED_OM)
2107static inline bool setJSWorkerGlobalScopeStylePropertyMapReadOnlyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2108{
2109 UNUSED_PARAM(throwScope);
2110 // Shadowing a built-in constructor.
2111 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("StylePropertyMapReadOnly"), strlen("StylePropertyMapReadOnly")), value);
2112}
2113
2114bool setJSWorkerGlobalScopeStylePropertyMapReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2115{
2116 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeStylePropertyMapReadOnlyConstructorSetter>(*state, thisValue, encodedValue, "StylePropertyMapReadOnly");
2117}
2118
2119#endif
2120
2121#if ENABLE(CSS_TYPED_OM)
2122static inline JSValue jsWorkerGlobalScopeCSSImageValueConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2123{
2124 UNUSED_PARAM(throwScope);
2125 UNUSED_PARAM(state);
2126 return JSTypedOMCSSImageValue::getConstructor(state.vm(), thisObject.globalObject());
2127}
2128
2129EncodedJSValue jsWorkerGlobalScopeCSSImageValueConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2130{
2131 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCSSImageValueConstructorGetter>(*state, thisValue, "CSSImageValue");
2132}
2133
2134#endif
2135
2136#if ENABLE(CSS_TYPED_OM)
2137static inline bool setJSWorkerGlobalScopeCSSImageValueConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2138{
2139 UNUSED_PARAM(throwScope);
2140 // Shadowing a built-in constructor.
2141 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CSSImageValue"), strlen("CSSImageValue")), value);
2142}
2143
2144bool setJSWorkerGlobalScopeCSSImageValueConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2145{
2146 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCSSImageValueConstructorSetter>(*state, thisValue, encodedValue, "CSSImageValue");
2147}
2148
2149#endif
2150
2151#if ENABLE(CSS_TYPED_OM)
2152static inline JSValue jsWorkerGlobalScopeCSSNumericValueConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2153{
2154 UNUSED_PARAM(throwScope);
2155 UNUSED_PARAM(state);
2156 return JSTypedOMCSSNumericValue::getConstructor(state.vm(), thisObject.globalObject());
2157}
2158
2159EncodedJSValue jsWorkerGlobalScopeCSSNumericValueConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2160{
2161 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCSSNumericValueConstructorGetter>(*state, thisValue, "CSSNumericValue");
2162}
2163
2164#endif
2165
2166#if ENABLE(CSS_TYPED_OM)
2167static inline bool setJSWorkerGlobalScopeCSSNumericValueConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2168{
2169 UNUSED_PARAM(throwScope);
2170 // Shadowing a built-in constructor.
2171 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CSSNumericValue"), strlen("CSSNumericValue")), value);
2172}
2173
2174bool setJSWorkerGlobalScopeCSSNumericValueConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2175{
2176 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCSSNumericValueConstructorSetter>(*state, thisValue, encodedValue, "CSSNumericValue");
2177}
2178
2179#endif
2180
2181#if ENABLE(CSS_TYPED_OM)
2182static inline JSValue jsWorkerGlobalScopeCSSStyleValueConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2183{
2184 UNUSED_PARAM(throwScope);
2185 UNUSED_PARAM(state);
2186 return JSTypedOMCSSStyleValue::getConstructor(state.vm(), thisObject.globalObject());
2187}
2188
2189EncodedJSValue jsWorkerGlobalScopeCSSStyleValueConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2190{
2191 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCSSStyleValueConstructorGetter>(*state, thisValue, "CSSStyleValue");
2192}
2193
2194#endif
2195
2196#if ENABLE(CSS_TYPED_OM)
2197static inline bool setJSWorkerGlobalScopeCSSStyleValueConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2198{
2199 UNUSED_PARAM(throwScope);
2200 // Shadowing a built-in constructor.
2201 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CSSStyleValue"), strlen("CSSStyleValue")), value);
2202}
2203
2204bool setJSWorkerGlobalScopeCSSStyleValueConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2205{
2206 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCSSStyleValueConstructorSetter>(*state, thisValue, encodedValue, "CSSStyleValue");
2207}
2208
2209#endif
2210
2211#if ENABLE(CSS_TYPED_OM)
2212static inline JSValue jsWorkerGlobalScopeCSSUnitValueConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2213{
2214 UNUSED_PARAM(throwScope);
2215 UNUSED_PARAM(state);
2216 return JSTypedOMCSSUnitValue::getConstructor(state.vm(), thisObject.globalObject());
2217}
2218
2219EncodedJSValue jsWorkerGlobalScopeCSSUnitValueConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2220{
2221 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCSSUnitValueConstructorGetter>(*state, thisValue, "CSSUnitValue");
2222}
2223
2224#endif
2225
2226#if ENABLE(CSS_TYPED_OM)
2227static inline bool setJSWorkerGlobalScopeCSSUnitValueConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2228{
2229 UNUSED_PARAM(throwScope);
2230 // Shadowing a built-in constructor.
2231 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CSSUnitValue"), strlen("CSSUnitValue")), value);
2232}
2233
2234bool setJSWorkerGlobalScopeCSSUnitValueConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2235{
2236 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCSSUnitValueConstructorSetter>(*state, thisValue, encodedValue, "CSSUnitValue");
2237}
2238
2239#endif
2240
2241#if ENABLE(CSS_TYPED_OM)
2242static inline JSValue jsWorkerGlobalScopeCSSUnparsedValueConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2243{
2244 UNUSED_PARAM(throwScope);
2245 UNUSED_PARAM(state);
2246 return JSTypedOMCSSUnparsedValue::getConstructor(state.vm(), thisObject.globalObject());
2247}
2248
2249EncodedJSValue jsWorkerGlobalScopeCSSUnparsedValueConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2250{
2251 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCSSUnparsedValueConstructorGetter>(*state, thisValue, "CSSUnparsedValue");
2252}
2253
2254#endif
2255
2256#if ENABLE(CSS_TYPED_OM)
2257static inline bool setJSWorkerGlobalScopeCSSUnparsedValueConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2258{
2259 UNUSED_PARAM(throwScope);
2260 // Shadowing a built-in constructor.
2261 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CSSUnparsedValue"), strlen("CSSUnparsedValue")), value);
2262}
2263
2264bool setJSWorkerGlobalScopeCSSUnparsedValueConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2265{
2266 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCSSUnparsedValueConstructorSetter>(*state, thisValue, encodedValue, "CSSUnparsedValue");
2267}
2268
2269#endif
2270
2271static inline JSValue jsWorkerGlobalScopeAbortControllerConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2272{
2273 UNUSED_PARAM(throwScope);
2274 UNUSED_PARAM(state);
2275 return JSAbortController::getConstructor(state.vm(), thisObject.globalObject());
2276}
2277
2278EncodedJSValue jsWorkerGlobalScopeAbortControllerConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2279{
2280 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeAbortControllerConstructorGetter>(*state, thisValue, "AbortController");
2281}
2282
2283static inline bool setJSWorkerGlobalScopeAbortControllerConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2284{
2285 UNUSED_PARAM(throwScope);
2286 // Shadowing a built-in constructor.
2287 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("AbortController"), strlen("AbortController")), value);
2288}
2289
2290bool setJSWorkerGlobalScopeAbortControllerConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2291{
2292 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeAbortControllerConstructorSetter>(*state, thisValue, encodedValue, "AbortController");
2293}
2294
2295static inline JSValue jsWorkerGlobalScopeAbortSignalConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2296{
2297 UNUSED_PARAM(throwScope);
2298 UNUSED_PARAM(state);
2299 return JSAbortSignal::getConstructor(state.vm(), thisObject.globalObject());
2300}
2301
2302EncodedJSValue jsWorkerGlobalScopeAbortSignalConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2303{
2304 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeAbortSignalConstructorGetter>(*state, thisValue, "AbortSignal");
2305}
2306
2307static inline bool setJSWorkerGlobalScopeAbortSignalConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2308{
2309 UNUSED_PARAM(throwScope);
2310 // Shadowing a built-in constructor.
2311 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("AbortSignal"), strlen("AbortSignal")), value);
2312}
2313
2314bool setJSWorkerGlobalScopeAbortSignalConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2315{
2316 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeAbortSignalConstructorSetter>(*state, thisValue, encodedValue, "AbortSignal");
2317}
2318
2319static inline JSValue jsWorkerGlobalScopeCustomEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2320{
2321 UNUSED_PARAM(throwScope);
2322 UNUSED_PARAM(state);
2323 return JSCustomEvent::getConstructor(state.vm(), thisObject.globalObject());
2324}
2325
2326EncodedJSValue jsWorkerGlobalScopeCustomEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2327{
2328 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCustomEventConstructorGetter>(*state, thisValue, "CustomEvent");
2329}
2330
2331static inline bool setJSWorkerGlobalScopeCustomEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2332{
2333 UNUSED_PARAM(throwScope);
2334 // Shadowing a built-in constructor.
2335 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CustomEvent"), strlen("CustomEvent")), value);
2336}
2337
2338bool setJSWorkerGlobalScopeCustomEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2339{
2340 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCustomEventConstructorSetter>(*state, thisValue, encodedValue, "CustomEvent");
2341}
2342
2343static inline JSValue jsWorkerGlobalScopeDOMExceptionConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2344{
2345 UNUSED_PARAM(throwScope);
2346 UNUSED_PARAM(state);
2347 return JSDOMException::getConstructor(state.vm(), thisObject.globalObject());
2348}
2349
2350EncodedJSValue jsWorkerGlobalScopeDOMExceptionConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2351{
2352 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMExceptionConstructorGetter>(*state, thisValue, "DOMException");
2353}
2354
2355static inline bool setJSWorkerGlobalScopeDOMExceptionConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2356{
2357 UNUSED_PARAM(throwScope);
2358 // Shadowing a built-in constructor.
2359 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMException"), strlen("DOMException")), value);
2360}
2361
2362bool setJSWorkerGlobalScopeDOMExceptionConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2363{
2364 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMExceptionConstructorSetter>(*state, thisValue, encodedValue, "DOMException");
2365}
2366
2367static inline JSValue jsWorkerGlobalScopeDOMPointConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2368{
2369 UNUSED_PARAM(throwScope);
2370 UNUSED_PARAM(state);
2371 return JSDOMPoint::getConstructor(state.vm(), thisObject.globalObject());
2372}
2373
2374EncodedJSValue jsWorkerGlobalScopeDOMPointConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2375{
2376 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMPointConstructorGetter>(*state, thisValue, "DOMPoint");
2377}
2378
2379static inline bool setJSWorkerGlobalScopeDOMPointConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2380{
2381 UNUSED_PARAM(throwScope);
2382 // Shadowing a built-in constructor.
2383 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMPoint"), strlen("DOMPoint")), value);
2384}
2385
2386bool setJSWorkerGlobalScopeDOMPointConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2387{
2388 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMPointConstructorSetter>(*state, thisValue, encodedValue, "DOMPoint");
2389}
2390
2391static inline JSValue jsWorkerGlobalScopeDOMPointReadOnlyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2392{
2393 UNUSED_PARAM(throwScope);
2394 UNUSED_PARAM(state);
2395 return JSDOMPointReadOnly::getConstructor(state.vm(), thisObject.globalObject());
2396}
2397
2398EncodedJSValue jsWorkerGlobalScopeDOMPointReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2399{
2400 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMPointReadOnlyConstructorGetter>(*state, thisValue, "DOMPointReadOnly");
2401}
2402
2403static inline bool setJSWorkerGlobalScopeDOMPointReadOnlyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2404{
2405 UNUSED_PARAM(throwScope);
2406 // Shadowing a built-in constructor.
2407 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMPointReadOnly"), strlen("DOMPointReadOnly")), value);
2408}
2409
2410bool setJSWorkerGlobalScopeDOMPointReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2411{
2412 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMPointReadOnlyConstructorSetter>(*state, thisValue, encodedValue, "DOMPointReadOnly");
2413}
2414
2415static inline JSValue jsWorkerGlobalScopeDOMQuadConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2416{
2417 UNUSED_PARAM(throwScope);
2418 UNUSED_PARAM(state);
2419 return JSDOMQuad::getConstructor(state.vm(), thisObject.globalObject());
2420}
2421
2422EncodedJSValue jsWorkerGlobalScopeDOMQuadConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2423{
2424 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMQuadConstructorGetter>(*state, thisValue, "DOMQuad");
2425}
2426
2427static inline bool setJSWorkerGlobalScopeDOMQuadConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2428{
2429 UNUSED_PARAM(throwScope);
2430 // Shadowing a built-in constructor.
2431 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMQuad"), strlen("DOMQuad")), value);
2432}
2433
2434bool setJSWorkerGlobalScopeDOMQuadConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2435{
2436 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMQuadConstructorSetter>(*state, thisValue, encodedValue, "DOMQuad");
2437}
2438
2439static inline JSValue jsWorkerGlobalScopeDOMRectConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2440{
2441 UNUSED_PARAM(throwScope);
2442 UNUSED_PARAM(state);
2443 return JSDOMRect::getConstructor(state.vm(), thisObject.globalObject());
2444}
2445
2446EncodedJSValue jsWorkerGlobalScopeDOMRectConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2447{
2448 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMRectConstructorGetter>(*state, thisValue, "DOMRect");
2449}
2450
2451static inline bool setJSWorkerGlobalScopeDOMRectConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2452{
2453 UNUSED_PARAM(throwScope);
2454 // Shadowing a built-in constructor.
2455 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMRect"), strlen("DOMRect")), value);
2456}
2457
2458bool setJSWorkerGlobalScopeDOMRectConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2459{
2460 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMRectConstructorSetter>(*state, thisValue, encodedValue, "DOMRect");
2461}
2462
2463static inline JSValue jsWorkerGlobalScopeDOMRectReadOnlyConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2464{
2465 UNUSED_PARAM(throwScope);
2466 UNUSED_PARAM(state);
2467 return JSDOMRectReadOnly::getConstructor(state.vm(), thisObject.globalObject());
2468}
2469
2470EncodedJSValue jsWorkerGlobalScopeDOMRectReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2471{
2472 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeDOMRectReadOnlyConstructorGetter>(*state, thisValue, "DOMRectReadOnly");
2473}
2474
2475static inline bool setJSWorkerGlobalScopeDOMRectReadOnlyConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2476{
2477 UNUSED_PARAM(throwScope);
2478 // Shadowing a built-in constructor.
2479 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("DOMRectReadOnly"), strlen("DOMRectReadOnly")), value);
2480}
2481
2482bool setJSWorkerGlobalScopeDOMRectReadOnlyConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2483{
2484 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeDOMRectReadOnlyConstructorSetter>(*state, thisValue, encodedValue, "DOMRectReadOnly");
2485}
2486
2487static inline JSValue jsWorkerGlobalScopeErrorEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2488{
2489 UNUSED_PARAM(throwScope);
2490 UNUSED_PARAM(state);
2491 return JSErrorEvent::getConstructor(state.vm(), thisObject.globalObject());
2492}
2493
2494EncodedJSValue jsWorkerGlobalScopeErrorEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2495{
2496 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeErrorEventConstructorGetter>(*state, thisValue, "ErrorEvent");
2497}
2498
2499static inline bool setJSWorkerGlobalScopeErrorEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2500{
2501 UNUSED_PARAM(throwScope);
2502 // Shadowing a built-in constructor.
2503 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ErrorEvent"), strlen("ErrorEvent")), value);
2504}
2505
2506bool setJSWorkerGlobalScopeErrorEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2507{
2508 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeErrorEventConstructorSetter>(*state, thisValue, encodedValue, "ErrorEvent");
2509}
2510
2511static inline JSValue jsWorkerGlobalScopeEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2512{
2513 UNUSED_PARAM(throwScope);
2514 UNUSED_PARAM(state);
2515 return JSEvent::getConstructor(state.vm(), thisObject.globalObject());
2516}
2517
2518EncodedJSValue jsWorkerGlobalScopeEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2519{
2520 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeEventConstructorGetter>(*state, thisValue, "Event");
2521}
2522
2523static inline bool setJSWorkerGlobalScopeEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2524{
2525 UNUSED_PARAM(throwScope);
2526 // Shadowing a built-in constructor.
2527 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Event"), strlen("Event")), value);
2528}
2529
2530bool setJSWorkerGlobalScopeEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2531{
2532 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeEventConstructorSetter>(*state, thisValue, encodedValue, "Event");
2533}
2534
2535static inline JSValue jsWorkerGlobalScopeEventTargetConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2536{
2537 UNUSED_PARAM(throwScope);
2538 UNUSED_PARAM(state);
2539 return JSEventTarget::getConstructor(state.vm(), thisObject.globalObject());
2540}
2541
2542EncodedJSValue jsWorkerGlobalScopeEventTargetConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2543{
2544 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeEventTargetConstructorGetter>(*state, thisValue, "EventTarget");
2545}
2546
2547static inline bool setJSWorkerGlobalScopeEventTargetConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2548{
2549 UNUSED_PARAM(throwScope);
2550 // Shadowing a built-in constructor.
2551 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("EventTarget"), strlen("EventTarget")), value);
2552}
2553
2554bool setJSWorkerGlobalScopeEventTargetConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2555{
2556 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeEventTargetConstructorSetter>(*state, thisValue, encodedValue, "EventTarget");
2557}
2558
2559#if ENABLE(CHANNEL_MESSAGING)
2560static inline JSValue jsWorkerGlobalScopeMessageChannelConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2561{
2562 UNUSED_PARAM(throwScope);
2563 UNUSED_PARAM(state);
2564 return JSMessageChannel::getConstructor(state.vm(), thisObject.globalObject());
2565}
2566
2567EncodedJSValue jsWorkerGlobalScopeMessageChannelConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2568{
2569 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeMessageChannelConstructorGetter>(*state, thisValue, "MessageChannel");
2570}
2571
2572#endif
2573
2574#if ENABLE(CHANNEL_MESSAGING)
2575static inline bool setJSWorkerGlobalScopeMessageChannelConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2576{
2577 UNUSED_PARAM(throwScope);
2578 // Shadowing a built-in constructor.
2579 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("MessageChannel"), strlen("MessageChannel")), value);
2580}
2581
2582bool setJSWorkerGlobalScopeMessageChannelConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2583{
2584 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeMessageChannelConstructorSetter>(*state, thisValue, encodedValue, "MessageChannel");
2585}
2586
2587#endif
2588
2589static inline JSValue jsWorkerGlobalScopeMessageEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2590{
2591 UNUSED_PARAM(throwScope);
2592 UNUSED_PARAM(state);
2593 return JSMessageEvent::getConstructor(state.vm(), thisObject.globalObject());
2594}
2595
2596EncodedJSValue jsWorkerGlobalScopeMessageEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2597{
2598 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeMessageEventConstructorGetter>(*state, thisValue, "MessageEvent");
2599}
2600
2601static inline bool setJSWorkerGlobalScopeMessageEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2602{
2603 UNUSED_PARAM(throwScope);
2604 // Shadowing a built-in constructor.
2605 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("MessageEvent"), strlen("MessageEvent")), value);
2606}
2607
2608bool setJSWorkerGlobalScopeMessageEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2609{
2610 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeMessageEventConstructorSetter>(*state, thisValue, encodedValue, "MessageEvent");
2611}
2612
2613static inline JSValue jsWorkerGlobalScopeMessagePortConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2614{
2615 UNUSED_PARAM(throwScope);
2616 UNUSED_PARAM(state);
2617 return JSMessagePort::getConstructor(state.vm(), thisObject.globalObject());
2618}
2619
2620EncodedJSValue jsWorkerGlobalScopeMessagePortConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2621{
2622 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeMessagePortConstructorGetter>(*state, thisValue, "MessagePort");
2623}
2624
2625static inline bool setJSWorkerGlobalScopeMessagePortConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2626{
2627 UNUSED_PARAM(throwScope);
2628 // Shadowing a built-in constructor.
2629 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("MessagePort"), strlen("MessagePort")), value);
2630}
2631
2632bool setJSWorkerGlobalScopeMessagePortConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2633{
2634 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeMessagePortConstructorSetter>(*state, thisValue, encodedValue, "MessagePort");
2635}
2636
2637static inline JSValue jsWorkerGlobalScopeProgressEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2638{
2639 UNUSED_PARAM(throwScope);
2640 UNUSED_PARAM(state);
2641 return JSProgressEvent::getConstructor(state.vm(), thisObject.globalObject());
2642}
2643
2644EncodedJSValue jsWorkerGlobalScopeProgressEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2645{
2646 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeProgressEventConstructorGetter>(*state, thisValue, "ProgressEvent");
2647}
2648
2649static inline bool setJSWorkerGlobalScopeProgressEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2650{
2651 UNUSED_PARAM(throwScope);
2652 // Shadowing a built-in constructor.
2653 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ProgressEvent"), strlen("ProgressEvent")), value);
2654}
2655
2656bool setJSWorkerGlobalScopeProgressEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2657{
2658 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeProgressEventConstructorSetter>(*state, thisValue, encodedValue, "ProgressEvent");
2659}
2660
2661static inline JSValue jsWorkerGlobalScopePromiseRejectionEventConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2662{
2663 UNUSED_PARAM(throwScope);
2664 UNUSED_PARAM(state);
2665 return JSPromiseRejectionEvent::getConstructor(state.vm(), thisObject.globalObject());
2666}
2667
2668EncodedJSValue jsWorkerGlobalScopePromiseRejectionEventConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2669{
2670 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePromiseRejectionEventConstructorGetter>(*state, thisValue, "PromiseRejectionEvent");
2671}
2672
2673static inline bool setJSWorkerGlobalScopePromiseRejectionEventConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2674{
2675 UNUSED_PARAM(throwScope);
2676 // Shadowing a built-in constructor.
2677 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PromiseRejectionEvent"), strlen("PromiseRejectionEvent")), value);
2678}
2679
2680bool setJSWorkerGlobalScopePromiseRejectionEventConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2681{
2682 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePromiseRejectionEventConstructorSetter>(*state, thisValue, encodedValue, "PromiseRejectionEvent");
2683}
2684
2685static inline JSValue jsWorkerGlobalScopeTextDecoderConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2686{
2687 UNUSED_PARAM(throwScope);
2688 UNUSED_PARAM(state);
2689 return JSTextDecoder::getConstructor(state.vm(), thisObject.globalObject());
2690}
2691
2692EncodedJSValue jsWorkerGlobalScopeTextDecoderConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2693{
2694 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeTextDecoderConstructorGetter>(*state, thisValue, "TextDecoder");
2695}
2696
2697static inline bool setJSWorkerGlobalScopeTextDecoderConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2698{
2699 UNUSED_PARAM(throwScope);
2700 // Shadowing a built-in constructor.
2701 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("TextDecoder"), strlen("TextDecoder")), value);
2702}
2703
2704bool setJSWorkerGlobalScopeTextDecoderConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2705{
2706 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeTextDecoderConstructorSetter>(*state, thisValue, encodedValue, "TextDecoder");
2707}
2708
2709static inline JSValue jsWorkerGlobalScopeTextEncoderConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2710{
2711 UNUSED_PARAM(throwScope);
2712 UNUSED_PARAM(state);
2713 return JSTextEncoder::getConstructor(state.vm(), thisObject.globalObject());
2714}
2715
2716EncodedJSValue jsWorkerGlobalScopeTextEncoderConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2717{
2718 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeTextEncoderConstructorGetter>(*state, thisValue, "TextEncoder");
2719}
2720
2721static inline bool setJSWorkerGlobalScopeTextEncoderConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2722{
2723 UNUSED_PARAM(throwScope);
2724 // Shadowing a built-in constructor.
2725 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("TextEncoder"), strlen("TextEncoder")), value);
2726}
2727
2728bool setJSWorkerGlobalScopeTextEncoderConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2729{
2730 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeTextEncoderConstructorSetter>(*state, thisValue, encodedValue, "TextEncoder");
2731}
2732
2733static inline JSValue jsWorkerGlobalScopeBlobConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2734{
2735 UNUSED_PARAM(throwScope);
2736 UNUSED_PARAM(state);
2737 return JSBlob::getConstructor(state.vm(), thisObject.globalObject());
2738}
2739
2740EncodedJSValue jsWorkerGlobalScopeBlobConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2741{
2742 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeBlobConstructorGetter>(*state, thisValue, "Blob");
2743}
2744
2745static inline bool setJSWorkerGlobalScopeBlobConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2746{
2747 UNUSED_PARAM(throwScope);
2748 // Shadowing a built-in constructor.
2749 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Blob"), strlen("Blob")), value);
2750}
2751
2752bool setJSWorkerGlobalScopeBlobConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2753{
2754 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeBlobConstructorSetter>(*state, thisValue, encodedValue, "Blob");
2755}
2756
2757static inline JSValue jsWorkerGlobalScopeFileReaderConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2758{
2759 UNUSED_PARAM(throwScope);
2760 UNUSED_PARAM(state);
2761 return JSFileReader::getConstructor(state.vm(), thisObject.globalObject());
2762}
2763
2764EncodedJSValue jsWorkerGlobalScopeFileReaderConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2765{
2766 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeFileReaderConstructorGetter>(*state, thisValue, "FileReader");
2767}
2768
2769static inline bool setJSWorkerGlobalScopeFileReaderConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2770{
2771 UNUSED_PARAM(throwScope);
2772 // Shadowing a built-in constructor.
2773 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("FileReader"), strlen("FileReader")), value);
2774}
2775
2776bool setJSWorkerGlobalScopeFileReaderConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2777{
2778 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeFileReaderConstructorSetter>(*state, thisValue, encodedValue, "FileReader");
2779}
2780
2781static inline JSValue jsWorkerGlobalScopeFileReaderSyncConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2782{
2783 UNUSED_PARAM(throwScope);
2784 UNUSED_PARAM(state);
2785 return JSFileReaderSync::getConstructor(state.vm(), thisObject.globalObject());
2786}
2787
2788EncodedJSValue jsWorkerGlobalScopeFileReaderSyncConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2789{
2790 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeFileReaderSyncConstructorGetter>(*state, thisValue, "FileReaderSync");
2791}
2792
2793static inline bool setJSWorkerGlobalScopeFileReaderSyncConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2794{
2795 UNUSED_PARAM(throwScope);
2796 // Shadowing a built-in constructor.
2797 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("FileReaderSync"), strlen("FileReaderSync")), value);
2798}
2799
2800bool setJSWorkerGlobalScopeFileReaderSyncConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2801{
2802 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeFileReaderSyncConstructorSetter>(*state, thisValue, encodedValue, "FileReaderSync");
2803}
2804
2805static inline JSValue jsWorkerGlobalScopeURLConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2806{
2807 UNUSED_PARAM(throwScope);
2808 UNUSED_PARAM(state);
2809 return JSDOMURL::getConstructor(state.vm(), thisObject.globalObject());
2810}
2811
2812EncodedJSValue jsWorkerGlobalScopeURLConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2813{
2814 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeURLConstructorGetter>(*state, thisValue, "URL");
2815}
2816
2817static inline bool setJSWorkerGlobalScopeURLConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2818{
2819 UNUSED_PARAM(throwScope);
2820 // Shadowing a built-in constructor.
2821 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("URL"), strlen("URL")), value);
2822}
2823
2824bool setJSWorkerGlobalScopeURLConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2825{
2826 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeURLConstructorSetter>(*state, thisValue, encodedValue, "URL");
2827}
2828
2829static inline JSValue jsWorkerGlobalScopeImageBitmapConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2830{
2831 UNUSED_PARAM(throwScope);
2832 UNUSED_PARAM(state);
2833 return JSImageBitmap::getConstructor(state.vm(), thisObject.globalObject());
2834}
2835
2836EncodedJSValue jsWorkerGlobalScopeImageBitmapConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2837{
2838 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeImageBitmapConstructorGetter>(*state, thisValue, "ImageBitmap");
2839}
2840
2841static inline bool setJSWorkerGlobalScopeImageBitmapConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2842{
2843 UNUSED_PARAM(throwScope);
2844 // Shadowing a built-in constructor.
2845 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ImageBitmap"), strlen("ImageBitmap")), value);
2846}
2847
2848bool setJSWorkerGlobalScopeImageBitmapConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2849{
2850 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeImageBitmapConstructorSetter>(*state, thisValue, encodedValue, "ImageBitmap");
2851}
2852
2853static inline JSValue jsWorkerGlobalScopeImageDataConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2854{
2855 UNUSED_PARAM(throwScope);
2856 UNUSED_PARAM(state);
2857 return JSImageData::getConstructor(state.vm(), thisObject.globalObject());
2858}
2859
2860EncodedJSValue jsWorkerGlobalScopeImageDataConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2861{
2862 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeImageDataConstructorGetter>(*state, thisValue, "ImageData");
2863}
2864
2865static inline bool setJSWorkerGlobalScopeImageDataConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2866{
2867 UNUSED_PARAM(throwScope);
2868 // Shadowing a built-in constructor.
2869 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("ImageData"), strlen("ImageData")), value);
2870}
2871
2872bool setJSWorkerGlobalScopeImageDataConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2873{
2874 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeImageDataConstructorSetter>(*state, thisValue, encodedValue, "ImageData");
2875}
2876
2877static inline JSValue jsWorkerGlobalScopeURLSearchParamsConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2878{
2879 UNUSED_PARAM(throwScope);
2880 UNUSED_PARAM(state);
2881 return JSURLSearchParams::getConstructor(state.vm(), thisObject.globalObject());
2882}
2883
2884EncodedJSValue jsWorkerGlobalScopeURLSearchParamsConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2885{
2886 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeURLSearchParamsConstructorGetter>(*state, thisValue, "URLSearchParams");
2887}
2888
2889static inline bool setJSWorkerGlobalScopeURLSearchParamsConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2890{
2891 UNUSED_PARAM(throwScope);
2892 // Shadowing a built-in constructor.
2893 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("URLSearchParams"), strlen("URLSearchParams")), value);
2894}
2895
2896bool setJSWorkerGlobalScopeURLSearchParamsConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2897{
2898 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeURLSearchParamsConstructorSetter>(*state, thisValue, encodedValue, "URLSearchParams");
2899}
2900
2901static inline JSValue jsWorkerGlobalScopeCanvasGradientConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2902{
2903 UNUSED_PARAM(throwScope);
2904 UNUSED_PARAM(state);
2905 return JSCanvasGradient::getConstructor(state.vm(), thisObject.globalObject());
2906}
2907
2908EncodedJSValue jsWorkerGlobalScopeCanvasGradientConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2909{
2910 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCanvasGradientConstructorGetter>(*state, thisValue, "CanvasGradient");
2911}
2912
2913static inline bool setJSWorkerGlobalScopeCanvasGradientConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2914{
2915 UNUSED_PARAM(throwScope);
2916 // Shadowing a built-in constructor.
2917 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CanvasGradient"), strlen("CanvasGradient")), value);
2918}
2919
2920bool setJSWorkerGlobalScopeCanvasGradientConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2921{
2922 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCanvasGradientConstructorSetter>(*state, thisValue, encodedValue, "CanvasGradient");
2923}
2924
2925static inline JSValue jsWorkerGlobalScopeCanvasPatternConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2926{
2927 UNUSED_PARAM(throwScope);
2928 UNUSED_PARAM(state);
2929 return JSCanvasPattern::getConstructor(state.vm(), thisObject.globalObject());
2930}
2931
2932EncodedJSValue jsWorkerGlobalScopeCanvasPatternConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2933{
2934 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCanvasPatternConstructorGetter>(*state, thisValue, "CanvasPattern");
2935}
2936
2937static inline bool setJSWorkerGlobalScopeCanvasPatternConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2938{
2939 UNUSED_PARAM(throwScope);
2940 // Shadowing a built-in constructor.
2941 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("CanvasPattern"), strlen("CanvasPattern")), value);
2942}
2943
2944bool setJSWorkerGlobalScopeCanvasPatternConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2945{
2946 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCanvasPatternConstructorSetter>(*state, thisValue, encodedValue, "CanvasPattern");
2947}
2948
2949static inline JSValue jsWorkerGlobalScopePath2DConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2950{
2951 UNUSED_PARAM(throwScope);
2952 UNUSED_PARAM(state);
2953 return JSPath2D::getConstructor(state.vm(), thisObject.globalObject());
2954}
2955
2956EncodedJSValue jsWorkerGlobalScopePath2DConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2957{
2958 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePath2DConstructorGetter>(*state, thisValue, "Path2D");
2959}
2960
2961static inline bool setJSWorkerGlobalScopePath2DConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2962{
2963 UNUSED_PARAM(throwScope);
2964 // Shadowing a built-in constructor.
2965 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Path2D"), strlen("Path2D")), value);
2966}
2967
2968bool setJSWorkerGlobalScopePath2DConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2969{
2970 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePath2DConstructorSetter>(*state, thisValue, encodedValue, "Path2D");
2971}
2972
2973static inline JSValue jsWorkerGlobalScopeCryptoConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2974{
2975 UNUSED_PARAM(throwScope);
2976 UNUSED_PARAM(state);
2977 return JSCrypto::getConstructor(state.vm(), thisObject.globalObject());
2978}
2979
2980EncodedJSValue jsWorkerGlobalScopeCryptoConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
2981{
2982 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeCryptoConstructorGetter>(*state, thisValue, "Crypto");
2983}
2984
2985static inline bool setJSWorkerGlobalScopeCryptoConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
2986{
2987 UNUSED_PARAM(throwScope);
2988 // Shadowing a built-in constructor.
2989 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Crypto"), strlen("Crypto")), value);
2990}
2991
2992bool setJSWorkerGlobalScopeCryptoConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
2993{
2994 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeCryptoConstructorSetter>(*state, thisValue, encodedValue, "Crypto");
2995}
2996
2997static inline JSValue jsWorkerGlobalScopeEventSourceConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
2998{
2999 UNUSED_PARAM(throwScope);
3000 UNUSED_PARAM(state);
3001 return JSEventSource::getConstructor(state.vm(), thisObject.globalObject());
3002}
3003
3004EncodedJSValue jsWorkerGlobalScopeEventSourceConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3005{
3006 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeEventSourceConstructorGetter>(*state, thisValue, "EventSource");
3007}
3008
3009static inline bool setJSWorkerGlobalScopeEventSourceConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3010{
3011 UNUSED_PARAM(throwScope);
3012 // Shadowing a built-in constructor.
3013 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("EventSource"), strlen("EventSource")), value);
3014}
3015
3016bool setJSWorkerGlobalScopeEventSourceConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3017{
3018 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeEventSourceConstructorSetter>(*state, thisValue, encodedValue, "EventSource");
3019}
3020
3021static inline JSValue jsWorkerGlobalScopePerformanceConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3022{
3023 UNUSED_PARAM(throwScope);
3024 UNUSED_PARAM(state);
3025 return JSPerformance::getConstructor(state.vm(), thisObject.globalObject());
3026}
3027
3028EncodedJSValue jsWorkerGlobalScopePerformanceConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3029{
3030 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceConstructorGetter>(*state, thisValue, "Performance");
3031}
3032
3033static inline bool setJSWorkerGlobalScopePerformanceConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3034{
3035 UNUSED_PARAM(throwScope);
3036 // Shadowing a built-in constructor.
3037 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("Performance"), strlen("Performance")), value);
3038}
3039
3040bool setJSWorkerGlobalScopePerformanceConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3041{
3042 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceConstructorSetter>(*state, thisValue, encodedValue, "Performance");
3043}
3044
3045static inline JSValue jsWorkerGlobalScopePerformanceEntryConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3046{
3047 UNUSED_PARAM(throwScope);
3048 UNUSED_PARAM(state);
3049 return JSPerformanceEntry::getConstructor(state.vm(), thisObject.globalObject());
3050}
3051
3052EncodedJSValue jsWorkerGlobalScopePerformanceEntryConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3053{
3054 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceEntryConstructorGetter>(*state, thisValue, "PerformanceEntry");
3055}
3056
3057static inline bool setJSWorkerGlobalScopePerformanceEntryConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3058{
3059 UNUSED_PARAM(throwScope);
3060 // Shadowing a built-in constructor.
3061 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceEntry"), strlen("PerformanceEntry")), value);
3062}
3063
3064bool setJSWorkerGlobalScopePerformanceEntryConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3065{
3066 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceEntryConstructorSetter>(*state, thisValue, encodedValue, "PerformanceEntry");
3067}
3068
3069static inline JSValue jsWorkerGlobalScopePerformanceMarkConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3070{
3071 UNUSED_PARAM(throwScope);
3072 UNUSED_PARAM(state);
3073 return JSPerformanceMark::getConstructor(state.vm(), thisObject.globalObject());
3074}
3075
3076EncodedJSValue jsWorkerGlobalScopePerformanceMarkConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3077{
3078 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceMarkConstructorGetter>(*state, thisValue, "PerformanceMark");
3079}
3080
3081static inline bool setJSWorkerGlobalScopePerformanceMarkConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3082{
3083 UNUSED_PARAM(throwScope);
3084 // Shadowing a built-in constructor.
3085 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceMark"), strlen("PerformanceMark")), value);
3086}
3087
3088bool setJSWorkerGlobalScopePerformanceMarkConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3089{
3090 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceMarkConstructorSetter>(*state, thisValue, encodedValue, "PerformanceMark");
3091}
3092
3093static inline JSValue jsWorkerGlobalScopePerformanceMeasureConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3094{
3095 UNUSED_PARAM(throwScope);
3096 UNUSED_PARAM(state);
3097 return JSPerformanceMeasure::getConstructor(state.vm(), thisObject.globalObject());
3098}
3099
3100EncodedJSValue jsWorkerGlobalScopePerformanceMeasureConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3101{
3102 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceMeasureConstructorGetter>(*state, thisValue, "PerformanceMeasure");
3103}
3104
3105static inline bool setJSWorkerGlobalScopePerformanceMeasureConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3106{
3107 UNUSED_PARAM(throwScope);
3108 // Shadowing a built-in constructor.
3109 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceMeasure"), strlen("PerformanceMeasure")), value);
3110}
3111
3112bool setJSWorkerGlobalScopePerformanceMeasureConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3113{
3114 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceMeasureConstructorSetter>(*state, thisValue, encodedValue, "PerformanceMeasure");
3115}
3116
3117static inline JSValue jsWorkerGlobalScopePerformanceObserverConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3118{
3119 UNUSED_PARAM(throwScope);
3120 UNUSED_PARAM(state);
3121 return JSPerformanceObserver::getConstructor(state.vm(), thisObject.globalObject());
3122}
3123
3124EncodedJSValue jsWorkerGlobalScopePerformanceObserverConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3125{
3126 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceObserverConstructorGetter>(*state, thisValue, "PerformanceObserver");
3127}
3128
3129static inline bool setJSWorkerGlobalScopePerformanceObserverConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3130{
3131 UNUSED_PARAM(throwScope);
3132 // Shadowing a built-in constructor.
3133 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceObserver"), strlen("PerformanceObserver")), value);
3134}
3135
3136bool setJSWorkerGlobalScopePerformanceObserverConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3137{
3138 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceObserverConstructorSetter>(*state, thisValue, encodedValue, "PerformanceObserver");
3139}
3140
3141static inline JSValue jsWorkerGlobalScopePerformanceObserverEntryListConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3142{
3143 UNUSED_PARAM(throwScope);
3144 UNUSED_PARAM(state);
3145 return JSPerformanceObserverEntryList::getConstructor(state.vm(), thisObject.globalObject());
3146}
3147
3148EncodedJSValue jsWorkerGlobalScopePerformanceObserverEntryListConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3149{
3150 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceObserverEntryListConstructorGetter>(*state, thisValue, "PerformanceObserverEntryList");
3151}
3152
3153static inline bool setJSWorkerGlobalScopePerformanceObserverEntryListConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3154{
3155 UNUSED_PARAM(throwScope);
3156 // Shadowing a built-in constructor.
3157 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceObserverEntryList"), strlen("PerformanceObserverEntryList")), value);
3158}
3159
3160bool setJSWorkerGlobalScopePerformanceObserverEntryListConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3161{
3162 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceObserverEntryListConstructorSetter>(*state, thisValue, encodedValue, "PerformanceObserverEntryList");
3163}
3164
3165static inline JSValue jsWorkerGlobalScopePerformanceResourceTimingConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3166{
3167 UNUSED_PARAM(throwScope);
3168 UNUSED_PARAM(state);
3169 return JSPerformanceResourceTiming::getConstructor(state.vm(), thisObject.globalObject());
3170}
3171
3172EncodedJSValue jsWorkerGlobalScopePerformanceResourceTimingConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3173{
3174 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceResourceTimingConstructorGetter>(*state, thisValue, "PerformanceResourceTiming");
3175}
3176
3177static inline bool setJSWorkerGlobalScopePerformanceResourceTimingConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3178{
3179 UNUSED_PARAM(throwScope);
3180 // Shadowing a built-in constructor.
3181 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceResourceTiming"), strlen("PerformanceResourceTiming")), value);
3182}
3183
3184bool setJSWorkerGlobalScopePerformanceResourceTimingConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3185{
3186 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceResourceTimingConstructorSetter>(*state, thisValue, encodedValue, "PerformanceResourceTiming");
3187}
3188
3189static inline JSValue jsWorkerGlobalScopePerformanceServerTimingConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3190{
3191 UNUSED_PARAM(throwScope);
3192 UNUSED_PARAM(state);
3193 return JSPerformanceServerTiming::getConstructor(state.vm(), thisObject.globalObject());
3194}
3195
3196EncodedJSValue jsWorkerGlobalScopePerformanceServerTimingConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3197{
3198 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopePerformanceServerTimingConstructorGetter>(*state, thisValue, "PerformanceServerTiming");
3199}
3200
3201static inline bool setJSWorkerGlobalScopePerformanceServerTimingConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3202{
3203 UNUSED_PARAM(throwScope);
3204 // Shadowing a built-in constructor.
3205 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("PerformanceServerTiming"), strlen("PerformanceServerTiming")), value);
3206}
3207
3208bool setJSWorkerGlobalScopePerformanceServerTimingConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3209{
3210 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopePerformanceServerTimingConstructorSetter>(*state, thisValue, encodedValue, "PerformanceServerTiming");
3211}
3212
3213static inline JSValue jsWorkerGlobalScopeWorkerNavigatorConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3214{
3215 UNUSED_PARAM(throwScope);
3216 UNUSED_PARAM(state);
3217 return JSWorkerNavigator::getConstructor(state.vm(), thisObject.globalObject());
3218}
3219
3220EncodedJSValue jsWorkerGlobalScopeWorkerNavigatorConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3221{
3222 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeWorkerNavigatorConstructorGetter>(*state, thisValue, "WorkerNavigator");
3223}
3224
3225static inline bool setJSWorkerGlobalScopeWorkerNavigatorConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3226{
3227 UNUSED_PARAM(throwScope);
3228 // Shadowing a built-in constructor.
3229 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("WorkerNavigator"), strlen("WorkerNavigator")), value);
3230}
3231
3232bool setJSWorkerGlobalScopeWorkerNavigatorConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3233{
3234 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeWorkerNavigatorConstructorSetter>(*state, thisValue, encodedValue, "WorkerNavigator");
3235}
3236
3237static inline JSValue jsWorkerGlobalScopeWorkerGlobalScopeConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3238{
3239 UNUSED_PARAM(throwScope);
3240 UNUSED_PARAM(state);
3241 return JSWorkerGlobalScope::getConstructor(state.vm(), thisObject.globalObject());
3242}
3243
3244EncodedJSValue jsWorkerGlobalScopeWorkerGlobalScopeConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3245{
3246 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeWorkerGlobalScopeConstructorGetter>(*state, thisValue, "WorkerGlobalScope");
3247}
3248
3249static inline bool setJSWorkerGlobalScopeWorkerGlobalScopeConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3250{
3251 UNUSED_PARAM(throwScope);
3252 // Shadowing a built-in constructor.
3253 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("WorkerGlobalScope"), strlen("WorkerGlobalScope")), value);
3254}
3255
3256bool setJSWorkerGlobalScopeWorkerGlobalScopeConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3257{
3258 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeWorkerGlobalScopeConstructorSetter>(*state, thisValue, encodedValue, "WorkerGlobalScope");
3259}
3260
3261static inline JSValue jsWorkerGlobalScopeWorkerLocationConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3262{
3263 UNUSED_PARAM(throwScope);
3264 UNUSED_PARAM(state);
3265 return JSWorkerLocation::getConstructor(state.vm(), thisObject.globalObject());
3266}
3267
3268EncodedJSValue jsWorkerGlobalScopeWorkerLocationConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3269{
3270 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeWorkerLocationConstructorGetter>(*state, thisValue, "WorkerLocation");
3271}
3272
3273static inline bool setJSWorkerGlobalScopeWorkerLocationConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3274{
3275 UNUSED_PARAM(throwScope);
3276 // Shadowing a built-in constructor.
3277 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("WorkerLocation"), strlen("WorkerLocation")), value);
3278}
3279
3280bool setJSWorkerGlobalScopeWorkerLocationConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3281{
3282 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeWorkerLocationConstructorSetter>(*state, thisValue, encodedValue, "WorkerLocation");
3283}
3284
3285static inline JSValue jsWorkerGlobalScopeXMLHttpRequestEventTargetConstructorGetter(ExecState& state, JSWorkerGlobalScope& thisObject, ThrowScope& throwScope)
3286{
3287 UNUSED_PARAM(throwScope);
3288 UNUSED_PARAM(state);
3289 return JSXMLHttpRequestEventTarget::getConstructor(state.vm(), thisObject.globalObject());
3290}
3291
3292EncodedJSValue jsWorkerGlobalScopeXMLHttpRequestEventTargetConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
3293{
3294 return IDLAttribute<JSWorkerGlobalScope>::get<jsWorkerGlobalScopeXMLHttpRequestEventTargetConstructorGetter>(*state, thisValue, "XMLHttpRequestEventTarget");
3295}
3296
3297static inline bool setJSWorkerGlobalScopeXMLHttpRequestEventTargetConstructorSetter(ExecState& state, JSWorkerGlobalScope& thisObject, JSValue value, ThrowScope& throwScope)
3298{
3299 UNUSED_PARAM(throwScope);
3300 // Shadowing a built-in constructor.
3301 return thisObject.putDirect(state.vm(), Identifier::fromString(&state.vm(), reinterpret_cast<const LChar*>("XMLHttpRequestEventTarget"), strlen("XMLHttpRequestEventTarget")), value);
3302}
3303
3304bool setJSWorkerGlobalScopeXMLHttpRequestEventTargetConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
3305{
3306 return IDLAttribute<JSWorkerGlobalScope>::set<setJSWorkerGlobalScopeXMLHttpRequestEventTargetConstructorSetter>(*state, thisValue, encodedValue, "XMLHttpRequestEventTarget");
3307}
3308
3309static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionImportScriptsBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3310{
3311 UNUSED_PARAM(state);
3312 UNUSED_PARAM(throwScope);
3313 auto& impl = castedThis->wrapped();
3314 auto urls = convertVariadicArguments<IDLUSVString>(*state, 0);
3315 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3316 propagateException(*state, throwScope, impl.importScripts(WTFMove(urls)));
3317 return JSValue::encode(jsUndefined());
3318}
3319
3320EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionImportScripts(ExecState* state)
3321{
3322 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionImportScriptsBody>(*state, "importScripts");
3323}
3324
3325static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionFetchBody(JSC::ExecState* state, typename IDLOperationReturningPromise<JSWorkerGlobalScope>::ClassParameter castedThis, Ref<DeferredPromise>&& promise, JSC::ThrowScope& throwScope)
3326{
3327 UNUSED_PARAM(state);
3328 UNUSED_PARAM(throwScope);
3329 auto& impl = castedThis->wrapped();
3330 if (UNLIKELY(state->argumentCount() < 1))
3331 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
3332 auto input = convert<IDLUnion<IDLInterface<FetchRequest>, IDLUSVString>>(*state, state->uncheckedArgument(0));
3333 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3334 auto init = convert<IDLDictionary<FetchRequestInit>>(*state, state->argument(1));
3335 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3336 WebCore::WorkerGlobalScopeFetch::fetch(impl, WTFMove(input), WTFMove(init), WTFMove(promise));
3337 return JSValue::encode(jsUndefined());
3338}
3339
3340EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionFetch(ExecState* state)
3341{
3342 return IDLOperationReturningPromise<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionFetchBody, PromiseExecutionScope::WindowOrWorker>(*state, "fetch");
3343}
3344
3345static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionSetTimeoutBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3346{
3347 UNUSED_PARAM(state);
3348 UNUSED_PARAM(throwScope);
3349 auto& impl = castedThis->wrapped();
3350 if (UNLIKELY(state->argumentCount() < 1))
3351 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
3352 auto handler = convert<IDLScheduledAction>(*state, state->uncheckedArgument(0), *castedThis->globalObject());
3353 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3354 auto timeout = convert<IDLLong>(*state, state->argument(1));
3355 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3356 auto arguments = convertVariadicArguments<IDLAny>(*state, 2);
3357 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3358 return JSValue::encode(toJS<IDLLong>(*state, throwScope, impl.setTimeout(*state, WTFMove(handler), WTFMove(timeout), WTFMove(arguments))));
3359}
3360
3361EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionSetTimeout(ExecState* state)
3362{
3363 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionSetTimeoutBody>(*state, "setTimeout");
3364}
3365
3366static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionClearTimeoutBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3367{
3368 UNUSED_PARAM(state);
3369 UNUSED_PARAM(throwScope);
3370 auto& impl = castedThis->wrapped();
3371 auto handle = convert<IDLLong>(*state, state->argument(0));
3372 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3373 impl.clearTimeout(WTFMove(handle));
3374 return JSValue::encode(jsUndefined());
3375}
3376
3377EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionClearTimeout(ExecState* state)
3378{
3379 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionClearTimeoutBody>(*state, "clearTimeout");
3380}
3381
3382static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionSetIntervalBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3383{
3384 UNUSED_PARAM(state);
3385 UNUSED_PARAM(throwScope);
3386 auto& impl = castedThis->wrapped();
3387 if (UNLIKELY(state->argumentCount() < 1))
3388 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
3389 auto handler = convert<IDLScheduledAction>(*state, state->uncheckedArgument(0), *castedThis->globalObject());
3390 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3391 auto timeout = convert<IDLLong>(*state, state->argument(1));
3392 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3393 auto arguments = convertVariadicArguments<IDLAny>(*state, 2);
3394 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3395 return JSValue::encode(toJS<IDLLong>(*state, throwScope, impl.setInterval(*state, WTFMove(handler), WTFMove(timeout), WTFMove(arguments))));
3396}
3397
3398EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionSetInterval(ExecState* state)
3399{
3400 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionSetIntervalBody>(*state, "setInterval");
3401}
3402
3403static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionClearIntervalBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3404{
3405 UNUSED_PARAM(state);
3406 UNUSED_PARAM(throwScope);
3407 auto& impl = castedThis->wrapped();
3408 auto handle = convert<IDLLong>(*state, state->argument(0));
3409 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3410 impl.clearInterval(WTFMove(handle));
3411 return JSValue::encode(jsUndefined());
3412}
3413
3414EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionClearInterval(ExecState* state)
3415{
3416 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionClearIntervalBody>(*state, "clearInterval");
3417}
3418
3419static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionQueueMicrotaskBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3420{
3421 UNUSED_PARAM(state);
3422 UNUSED_PARAM(throwScope);
3423 return JSValue::encode(castedThis->queueMicrotask(*state));
3424}
3425
3426EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionQueueMicrotask(ExecState* state)
3427{
3428 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionQueueMicrotaskBody>(*state, "queueMicrotask");
3429}
3430
3431static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionAtobBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3432{
3433 UNUSED_PARAM(state);
3434 UNUSED_PARAM(throwScope);
3435 auto& impl = castedThis->wrapped();
3436 if (UNLIKELY(state->argumentCount() < 1))
3437 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
3438 auto string = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
3439 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3440 return JSValue::encode(toJS<IDLDOMString>(*state, throwScope, impl.atob(WTFMove(string))));
3441}
3442
3443EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionAtob(ExecState* state)
3444{
3445 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionAtobBody>(*state, "atob");
3446}
3447
3448static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionBtoaBody(JSC::ExecState* state, typename IDLOperation<JSWorkerGlobalScope>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
3449{
3450 UNUSED_PARAM(state);
3451 UNUSED_PARAM(throwScope);
3452 auto& impl = castedThis->wrapped();
3453 if (UNLIKELY(state->argumentCount() < 1))
3454 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
3455 auto string = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
3456 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3457 return JSValue::encode(toJS<IDLDOMString>(*state, throwScope, impl.btoa(WTFMove(string))));
3458}
3459
3460EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionBtoa(ExecState* state)
3461{
3462 return IDLOperation<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionBtoaBody>(*state, "btoa");
3463}
3464
3465static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap1Body(JSC::ExecState* state, typename IDLOperationReturningPromise<JSWorkerGlobalScope>::ClassParameter castedThis, Ref<DeferredPromise>&& promise, JSC::ThrowScope& throwScope)
3466{
3467 UNUSED_PARAM(state);
3468 UNUSED_PARAM(throwScope);
3469 auto& impl = castedThis->wrapped();
3470 auto image = convert<IDLUnion<IDLInterface<HTMLImageElement>, IDLInterface<HTMLVideoElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<ImageBitmap>, IDLInterface<Blob>, IDLInterface<ImageData>>>(*state, state->uncheckedArgument(0));
3471 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3472 auto options = convert<IDLDictionary<ImageBitmapOptions>>(*state, state->argument(1));
3473 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3474 impl.createImageBitmap(WTFMove(image), WTFMove(options), WTFMove(promise));
3475 return JSValue::encode(jsUndefined());
3476}
3477
3478static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap2Body(JSC::ExecState* state, typename IDLOperationReturningPromise<JSWorkerGlobalScope>::ClassParameter castedThis, Ref<DeferredPromise>&& promise, JSC::ThrowScope& throwScope)
3479{
3480 UNUSED_PARAM(state);
3481 UNUSED_PARAM(throwScope);
3482 auto& impl = castedThis->wrapped();
3483 auto image = convert<IDLUnion<IDLInterface<HTMLImageElement>, IDLInterface<HTMLVideoElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<ImageBitmap>, IDLInterface<Blob>, IDLInterface<ImageData>>>(*state, state->uncheckedArgument(0));
3484 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3485 auto sx = convert<IDLLong>(*state, state->uncheckedArgument(1));
3486 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3487 auto sy = convert<IDLLong>(*state, state->uncheckedArgument(2));
3488 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3489 auto sw = convert<IDLLong>(*state, state->uncheckedArgument(3));
3490 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3491 auto sh = convert<IDLLong>(*state, state->uncheckedArgument(4));
3492 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3493 auto options = convert<IDLDictionary<ImageBitmapOptions>>(*state, state->argument(5));
3494 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
3495 impl.createImageBitmap(WTFMove(image), WTFMove(sx), WTFMove(sy), WTFMove(sw), WTFMove(sh), WTFMove(options), WTFMove(promise));
3496 return JSValue::encode(jsUndefined());
3497}
3498
3499static inline JSC::EncodedJSValue jsWorkerGlobalScopePrototypeFunctionCreateImageBitmapOverloadDispatcher(JSC::ExecState* state, typename IDLOperationReturningPromise<JSWorkerGlobalScope>::ClassParameter castedThis, Ref<DeferredPromise>&& promise, JSC::ThrowScope& throwScope)
3500{
3501 UNUSED_PARAM(state);
3502 UNUSED_PARAM(throwScope);
3503 VM& vm = state->vm();
3504 UNUSED_PARAM(vm);
3505 size_t argsCount = std::min<size_t>(6, state->argumentCount());
3506 if (argsCount == 1) {
3507 return jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap1Body(state, castedThis, WTFMove(promise), throwScope);
3508 }
3509 if (argsCount == 2) {
3510 return jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap1Body(state, castedThis, WTFMove(promise), throwScope);
3511 }
3512 if (argsCount == 5) {
3513 return jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap2Body(state, castedThis, WTFMove(promise), throwScope);
3514 }
3515 if (argsCount == 6) {
3516 return jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap2Body(state, castedThis, WTFMove(promise), throwScope);
3517 }
3518 return argsCount < 1 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
3519}
3520
3521EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionCreateImageBitmap(ExecState* state)
3522{
3523 return IDLOperationReturningPromise<JSWorkerGlobalScope>::call<jsWorkerGlobalScopePrototypeFunctionCreateImageBitmapOverloadDispatcher, PromiseExecutionScope::WindowOrWorker>(*state, "createImageBitmap");
3524}
3525
3526void JSWorkerGlobalScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
3527{
3528 auto* thisObject = jsCast<JSWorkerGlobalScope*>(cell);
3529 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
3530 Base::visitChildren(thisObject, visitor);
3531 thisObject->visitAdditionalChildren(visitor);
3532}
3533
3534void JSWorkerGlobalScope::visitOutputConstraints(JSCell* cell, SlotVisitor& visitor)
3535{
3536 auto* thisObject = jsCast<JSWorkerGlobalScope*>(cell);
3537 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
3538 Base::visitOutputConstraints(thisObject, visitor);
3539 thisObject->visitAdditionalChildren(visitor);
3540}
3541
3542void JSWorkerGlobalScope::heapSnapshot(JSCell* cell, HeapSnapshotBuilder& builder)
3543{
3544 auto* thisObject = jsCast<JSWorkerGlobalScope*>(cell);
3545 builder.setWrappedObjectForCell(cell, &thisObject->wrapped());
3546 if (thisObject->scriptExecutionContext())
3547 builder.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string());
3548 Base::heapSnapshot(cell, builder);
3549}
3550
3551WorkerGlobalScope* JSWorkerGlobalScope::toWrapped(JSC::VM& vm, JSC::JSValue value)
3552{
3553 if (auto* wrapper = jsDynamicCast<JSWorkerGlobalScope*>(vm, value))
3554 return &wrapper->wrapped();
3555 return nullptr;
3556}
3557
3558}
3559