mirror of
https://github.com/denoland/deno.git
synced 2025-03-03 09:31:22 -05:00
simplify global properties (#7502)
This commit is contained in:
parent
81ca7096c5
commit
f58b10ec64
1 changed files with 23 additions and 37 deletions
|
@ -206,66 +206,56 @@ delete Object.prototype.__proto__;
|
|||
}
|
||||
|
||||
// https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope
|
||||
const windowOrWorkerGlobalScopeMethods = {
|
||||
atob: util.writable(atob),
|
||||
btoa: util.writable(btoa),
|
||||
clearInterval: util.writable(timers.clearInterval),
|
||||
clearTimeout: util.writable(timers.clearTimeout),
|
||||
fetch: util.writable(fetch.fetch),
|
||||
// queueMicrotask is bound in Rust
|
||||
setInterval: util.writable(timers.setInterval),
|
||||
setTimeout: util.writable(timers.setTimeout),
|
||||
};
|
||||
|
||||
// Other properties shared between WindowScope and WorkerGlobalScope
|
||||
const windowOrWorkerGlobalScopeProperties = {
|
||||
console: util.writable(new Console(core.print)),
|
||||
const windowOrWorkerGlobalScope = {
|
||||
Blob: util.nonEnumerable(blob.Blob),
|
||||
ByteLengthQueuingStrategy: util.nonEnumerable(
|
||||
queuingStrategy.ByteLengthQueuingStrategy,
|
||||
),
|
||||
CloseEvent: util.nonEnumerable(CloseEvent),
|
||||
CountQueuingStrategy: util.nonEnumerable(
|
||||
queuingStrategy.CountQueuingStrategy,
|
||||
),
|
||||
crypto: util.readOnly(crypto),
|
||||
File: util.nonEnumerable(domFile.DomFile),
|
||||
FileReader: util.nonEnumerable(fileReader.FileReader),
|
||||
CustomEvent: util.nonEnumerable(CustomEvent),
|
||||
DOMException: util.nonEnumerable(DOMException),
|
||||
ErrorEvent: util.nonEnumerable(ErrorEvent),
|
||||
CloseEvent: util.nonEnumerable(CloseEvent),
|
||||
MessageEvent: util.nonEnumerable(MessageEvent),
|
||||
Event: util.nonEnumerable(Event),
|
||||
EventTarget: util.nonEnumerable(EventTarget),
|
||||
Headers: util.nonEnumerable(headers.Headers),
|
||||
File: util.nonEnumerable(domFile.DomFile),
|
||||
FileReader: util.nonEnumerable(fileReader.FileReader),
|
||||
FormData: util.nonEnumerable(formData.FormData),
|
||||
WebSocket: util.nonEnumerable(webSocket.WebSocket),
|
||||
ReadableStream: util.nonEnumerable(streams.ReadableStream),
|
||||
Request: util.nonEnumerable(request.Request),
|
||||
Response: util.nonEnumerable(fetch.Response),
|
||||
performance: util.writable(new performance.Performance()),
|
||||
Headers: util.nonEnumerable(headers.Headers),
|
||||
MessageEvent: util.nonEnumerable(MessageEvent),
|
||||
Performance: util.nonEnumerable(performance.Performance),
|
||||
PerformanceEntry: util.nonEnumerable(performance.PerformanceEntry),
|
||||
PerformanceMark: util.nonEnumerable(performance.PerformanceMark),
|
||||
PerformanceMeasure: util.nonEnumerable(performance.PerformanceMeasure),
|
||||
ProgressEvent: util.nonEnumerable(progressEvent.ProgressEvent),
|
||||
ReadableStream: util.nonEnumerable(streams.ReadableStream),
|
||||
Request: util.nonEnumerable(request.Request),
|
||||
Response: util.nonEnumerable(fetch.Response),
|
||||
TextDecoder: util.nonEnumerable(TextDecoder),
|
||||
TextEncoder: util.nonEnumerable(TextEncoder),
|
||||
TransformStream: util.nonEnumerable(streams.TransformStream),
|
||||
URL: util.nonEnumerable(url.URL),
|
||||
URLSearchParams: util.nonEnumerable(url.URLSearchParams),
|
||||
WebSocket: util.nonEnumerable(webSocket.WebSocket),
|
||||
Worker: util.nonEnumerable(worker.Worker),
|
||||
WritableStream: util.nonEnumerable(streams.WritableStream),
|
||||
};
|
||||
|
||||
const eventTargetProperties = {
|
||||
addEventListener: util.readOnly(
|
||||
EventTarget.prototype.addEventListener,
|
||||
),
|
||||
addEventListener: util.readOnly(EventTarget.prototype.addEventListener),
|
||||
atob: util.writable(atob),
|
||||
btoa: util.writable(btoa),
|
||||
clearInterval: util.writable(timers.clearInterval),
|
||||
clearTimeout: util.writable(timers.clearTimeout),
|
||||
console: util.writable(new Console(core.print)),
|
||||
crypto: util.readOnly(crypto),
|
||||
dispatchEvent: util.readOnly(EventTarget.prototype.dispatchEvent),
|
||||
fetch: util.writable(fetch.fetch),
|
||||
performance: util.writable(new performance.Performance()),
|
||||
removeEventListener: util.readOnly(
|
||||
EventTarget.prototype.removeEventListener,
|
||||
),
|
||||
setInterval: util.writable(timers.setInterval),
|
||||
setTimeout: util.writable(timers.setTimeout),
|
||||
};
|
||||
|
||||
const mainRuntimeGlobalProperties = {
|
||||
|
@ -300,9 +290,7 @@ delete Object.prototype.__proto__;
|
|||
delete globalThis.bootstrap;
|
||||
util.log("bootstrapMainRuntime");
|
||||
hasBootstrapped = true;
|
||||
Object.defineProperties(globalThis, windowOrWorkerGlobalScopeMethods);
|
||||
Object.defineProperties(globalThis, windowOrWorkerGlobalScopeProperties);
|
||||
Object.defineProperties(globalThis, eventTargetProperties);
|
||||
Object.defineProperties(globalThis, windowOrWorkerGlobalScope);
|
||||
Object.defineProperties(globalThis, mainRuntimeGlobalProperties);
|
||||
eventTarget.setEventTargetData(globalThis);
|
||||
// Registers the handler for window.onload function.
|
||||
|
@ -368,10 +356,8 @@ delete Object.prototype.__proto__;
|
|||
delete globalThis.bootstrap;
|
||||
util.log("bootstrapWorkerRuntime");
|
||||
hasBootstrapped = true;
|
||||
Object.defineProperties(globalThis, windowOrWorkerGlobalScopeMethods);
|
||||
Object.defineProperties(globalThis, windowOrWorkerGlobalScopeProperties);
|
||||
Object.defineProperties(globalThis, windowOrWorkerGlobalScope);
|
||||
Object.defineProperties(globalThis, workerRuntimeGlobalProperties);
|
||||
Object.defineProperties(globalThis, eventTargetProperties);
|
||||
Object.defineProperties(globalThis, { name: util.readOnly(name) });
|
||||
eventTarget.setEventTargetData(globalThis);
|
||||
const { unstableFlag, pid, noColor, args } = runtimeStart(
|
||||
|
|
Loading…
Add table
Reference in a new issue