summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/puppeteer-core/src/bidi/WebWorker.ts
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/packages/puppeteer-core/src/bidi/WebWorker.ts')
-rw-r--r--remote/test/puppeteer/packages/puppeteer-core/src/bidi/WebWorker.ts48
1 files changed, 48 insertions, 0 deletions
diff --git a/remote/test/puppeteer/packages/puppeteer-core/src/bidi/WebWorker.ts b/remote/test/puppeteer/packages/puppeteer-core/src/bidi/WebWorker.ts
new file mode 100644
index 0000000000..a8b0e28846
--- /dev/null
+++ b/remote/test/puppeteer/packages/puppeteer-core/src/bidi/WebWorker.ts
@@ -0,0 +1,48 @@
+/**
+ * @license
+ * Copyright 2024 Google Inc.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+import {WebWorker} from '../api/WebWorker.js';
+import {UnsupportedOperation} from '../common/Errors.js';
+import type {CDPSession} from '../puppeteer-core.js';
+
+import type {DedicatedWorkerRealm, SharedWorkerRealm} from './core/Realm.js';
+import type {BidiFrame} from './Frame.js';
+import {BidiWorkerRealm} from './Realm.js';
+
+/**
+ * @internal
+ */
+export class BidiWebWorker extends WebWorker {
+ static from(
+ frame: BidiFrame,
+ realm: DedicatedWorkerRealm | SharedWorkerRealm
+ ): BidiWebWorker {
+ const worker = new BidiWebWorker(frame, realm);
+ return worker;
+ }
+
+ readonly #frame: BidiFrame;
+ readonly #realm: BidiWorkerRealm;
+ private constructor(
+ frame: BidiFrame,
+ realm: DedicatedWorkerRealm | SharedWorkerRealm
+ ) {
+ super(realm.origin);
+ this.#frame = frame;
+ this.#realm = BidiWorkerRealm.from(realm, this);
+ }
+
+ get frame(): BidiFrame {
+ return this.#frame;
+ }
+
+ mainRealm(): BidiWorkerRealm {
+ return this.#realm;
+ }
+
+ get client(): CDPSession {
+ throw new UnsupportedOperation();
+ }
+}