diff options
Diffstat (limited to 'runtime/js')
-rw-r--r-- | runtime/js/10_permissions.js | 4 | ||||
-rw-r--r-- | runtime/js/11_workers.js | 19 | ||||
-rw-r--r-- | runtime/js/98_global_scope.js | 33 |
3 files changed, 50 insertions, 6 deletions
diff --git a/runtime/js/10_permissions.js b/runtime/js/10_permissions.js index ab310930c..075291a1b 100644 --- a/runtime/js/10_permissions.js +++ b/runtime/js/10_permissions.js @@ -112,10 +112,10 @@ class PermissionStatus extends EventTarget { return dispatched; } - [SymbolFor("Deno.privateCustomInspect")](inspect) { + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { const object = { state: this.state, onchange: this.onchange }; if (this.partial) object.partial = this.partial; - return `${this.constructor.name} ${inspect(object)}`; + return `${this.constructor.name} ${inspect(object, inspectOptions)}`; } } diff --git a/runtime/js/11_workers.js b/runtime/js/11_workers.js index f5548d8d1..bd0d1afc8 100644 --- a/runtime/js/11_workers.js +++ b/runtime/js/11_workers.js @@ -9,10 +9,12 @@ const { ObjectPrototypeIsPrototypeOf, String, StringPrototypeStartsWith, + SymbolFor, SymbolIterator, SymbolToStringTag, } = primordials; import * as webidl from "ext:deno_webidl/00_webidl.js"; +import { createFilteredInspectProxy } from "ext:deno_console/01_console.js"; import { URL } from "ext:deno_url/00_url.js"; import { getLocationHref } from "ext:deno_web/12_location.js"; import { serializePermissions } from "ext:runtime/10_permissions.js"; @@ -242,9 +244,26 @@ class Worker extends EventTarget { } } + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + return inspect( + createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(WorkerPrototype, this), + keys: [ + "onerror", + "onmessage", + "onmessageerror", + ], + }), + inspectOptions, + ); + } + [SymbolToStringTag] = "Worker"; } +const WorkerPrototype = Worker.prototype; + defineEventHandler(Worker.prototype, "error"); defineEventHandler(Worker.prototype, "message"); defineEventHandler(Worker.prototype, "messageerror"); diff --git a/runtime/js/98_global_scope.js b/runtime/js/98_global_scope.js index aada57d70..cc2fe3f9d 100644 --- a/runtime/js/98_global_scope.js +++ b/runtime/js/98_global_scope.js @@ -5,6 +5,7 @@ const ops = core.ops; const primordials = globalThis.__bootstrap.primordials; const { ObjectDefineProperties, + ObjectPrototypeIsPrototypeOf, SymbolFor, } = primordials; @@ -151,8 +152,20 @@ class Navigator { webidl.illegalConstructor(); } - [SymbolFor("Deno.privateCustomInspect")](inspect) { - return `${this.constructor.name} ${inspect({})}`; + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + return inspect( + console.createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(NavigatorPrototype, this), + keys: [ + "hardwareConcurrency", + "userAgent", + "language", + "languages", + ], + }), + inspectOptions, + ); } } @@ -213,8 +226,20 @@ class WorkerNavigator { webidl.illegalConstructor(); } - [SymbolFor("Deno.privateCustomInspect")](inspect) { - return `${this.constructor.name} ${inspect({})}`; + [SymbolFor("Deno.privateCustomInspect")](inspect, inspectOptions) { + return inspect( + console.createFilteredInspectProxy({ + object: this, + evaluate: ObjectPrototypeIsPrototypeOf(WorkerNavigatorPrototype, this), + keys: [ + "hardwareConcurrency", + "userAgent", + "language", + "languages", + ], + }), + inspectOptions, + ); } } |