summaryrefslogtreecommitdiff
path: root/runtime/js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js')
-rw-r--r--runtime/js/10_permissions.js4
-rw-r--r--runtime/js/11_workers.js19
-rw-r--r--runtime/js/98_global_scope.js33
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,
+ );
}
}