Skip to content

Commit 97f0276

Browse files
authored
Revert "feat(chromium): add ConsoleMessage support for service workers (#37368)" (#37582)
1 parent c3a933e commit 97f0276

File tree

14 files changed

+4
-251
lines changed

14 files changed

+4
-251
lines changed

docs/src/api/class-worker.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,6 @@ foreach(var pageWorker in page.Workers)
5858

5959
Emitted when this dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is terminated.
6060

61-
## event: Worker.console
62-
* since: v1.56
63-
- argument: <[ConsoleMessage]>
64-
65-
:::note
66-
Console events from Web Workers are dispatched on the page object. Note that console events are only supported on Chromium-based browsers and within Service Workers.
67-
:::
68-
69-
Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
70-
7161
## async method: Worker.evaluate
7262
* since: v1.8
7363
- returns: <[Serializable]>

packages/playwright-client/types/types.d.ts

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -10324,72 +10324,33 @@ export interface Worker {
1032410324
*/
1032510325
on(event: 'close', listener: (worker: Worker) => any): this;
1032610326

10327-
/**
10328-
* **NOTE** Console events from Web Workers are dispatched on the page object. Note that console events are only
10329-
* supported on Chromium-based browsers and within Service Workers.
10330-
*
10331-
* Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10332-
*/
10333-
on(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10334-
1033510327
/**
1033610328
* Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
1033710329
*/
1033810330
once(event: 'close', listener: (worker: Worker) => any): this;
1033910331

10340-
/**
10341-
* Adds an event listener that will be automatically removed after it is triggered once. See `addListener` for more information about this event.
10342-
*/
10343-
once(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10344-
1034510332
/**
1034610333
* Emitted when this dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is
1034710334
* terminated.
1034810335
*/
1034910336
addListener(event: 'close', listener: (worker: Worker) => any): this;
1035010337

10351-
/**
10352-
* **NOTE** Console events from Web Workers are dispatched on the page object. Note that console events are only
10353-
* supported on Chromium-based browsers and within Service Workers.
10354-
*
10355-
* Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10356-
*/
10357-
addListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10358-
1035910338
/**
1036010339
* Removes an event listener added by `on` or `addListener`.
1036110340
*/
1036210341
removeListener(event: 'close', listener: (worker: Worker) => any): this;
1036310342

10364-
/**
10365-
* Removes an event listener added by `on` or `addListener`.
10366-
*/
10367-
removeListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10368-
1036910343
/**
1037010344
* Removes an event listener added by `on` or `addListener`.
1037110345
*/
1037210346
off(event: 'close', listener: (worker: Worker) => any): this;
1037310347

10374-
/**
10375-
* Removes an event listener added by `on` or `addListener`.
10376-
*/
10377-
off(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10378-
1037910348
/**
1038010349
* Emitted when this dedicated [WebWorker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API) is
1038110350
* terminated.
1038210351
*/
1038310352
prependListener(event: 'close', listener: (worker: Worker) => any): this;
1038410353

10385-
/**
10386-
* **NOTE** Console events from Web Workers are dispatched on the page object. Note that console events are only
10387-
* supported on Chromium-based browsers and within Service Workers.
10388-
*
10389-
* Emitted when JavaScript within the worker calls one of console API methods, e.g. `console.log` or `console.dir`.
10390-
*/
10391-
prependListener(event: 'console', listener: (consoleMessage: ConsoleMessage) => any): this;
10392-
1039310354
url(): string;
1039410355
}
1039510356

packages/playwright-core/src/client/consoleMessage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ type ConsoleMessageLocation = channels.BrowserContextConsoleEvent['location'];
2626
export class ConsoleMessage implements api.ConsoleMessage {
2727

2828
private _page: Page | null;
29-
private _event: channels.WorkerConsoleEvent;
29+
private _event: channels.BrowserContextConsoleEvent | channels.ElectronApplicationConsoleEvent;
3030

31-
constructor(platform: Platform, event: channels.WorkerConsoleEvent, page: Page | null) {
31+
constructor(platform: Platform, event: channels.BrowserContextConsoleEvent | channels.ElectronApplicationConsoleEvent, page: Page | null) {
3232
this._page = page;
3333
this._event = event;
3434
if (platform.inspectCustom)

packages/playwright-core/src/client/events.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ export const Events = {
8787

8888
Worker: {
8989
Close: 'close',
90-
Console: 'console',
9190
},
9291

9392
ElectronApplication: {

packages/playwright-core/src/client/worker.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616

1717
import { ChannelOwner } from './channelOwner';
18-
import { ConsoleMessage } from './consoleMessage';
1918
import { TargetClosedError } from './errors';
2019
import { Events } from './events';
2120
import { JSHandle, assertMaxArguments, parseResult, serializeArgument } from './jsHandle';
@@ -46,13 +45,7 @@ export class Worker extends ChannelOwner<channels.WorkerChannel> implements api.
4645
this._context._serviceWorkers.delete(this);
4746
this.emit(Events.Worker.Close, this);
4847
});
49-
this._channel.on('console', event => {
50-
this.emit(Events.Worker.Console, new ConsoleMessage(this._page?.context()._platform ?? this._context?._platform!, event, null));
51-
});
5248
this.once(Events.Worker.Close, () => this._closedScope.close(this._page?._closeErrorWithReason() || new TargetClosedError()));
53-
this._setEventToSubscriptionMapping(new Map<string, channels.WorkerUpdateSubscriptionParams['event']>([
54-
[Events.Worker.Console, 'console'],
55-
]));
5649
}
5750

5851
url(): string {

packages/playwright-core/src/protocol/validator.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1947,16 +1947,6 @@ scheme.WorkerInitializer = tObject({
19471947
url: tString,
19481948
});
19491949
scheme.WorkerCloseEvent = tOptional(tObject({}));
1950-
scheme.WorkerConsoleEvent = tObject({
1951-
type: tString,
1952-
text: tString,
1953-
args: tArray(tChannel(['ElementHandle', 'JSHandle'])),
1954-
location: tObject({
1955-
url: tString,
1956-
lineNumber: tInt,
1957-
columnNumber: tInt,
1958-
}),
1959-
});
19601950
scheme.WorkerEvaluateExpressionParams = tObject({
19611951
expression: tString,
19621952
isFunction: tOptional(tBoolean),
@@ -1973,11 +1963,6 @@ scheme.WorkerEvaluateExpressionHandleParams = tObject({
19731963
scheme.WorkerEvaluateExpressionHandleResult = tObject({
19741964
handle: tChannel(['ElementHandle', 'JSHandle']),
19751965
});
1976-
scheme.WorkerUpdateSubscriptionParams = tObject({
1977-
event: tEnum(['console']),
1978-
enabled: tBoolean,
1979-
});
1980-
scheme.WorkerUpdateSubscriptionResult = tOptional(tObject({}));
19811966
scheme.JSHandleInitializer = tObject({
19821967
preview: tString,
19831968
});

packages/playwright-core/src/server/chromium/crServiceWorker.ts

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
* limitations under the License.
1515
*/
1616
import { Worker } from '../page';
17-
import { createHandle, CRExecutionContext } from './crExecutionContext';
17+
import { CRExecutionContext } from './crExecutionContext';
1818
import { CRNetworkManager } from './crNetworkManager';
1919
import { BrowserContext } from '../browserContext';
20-
import { ConsoleMessage } from '../console';
2120
import * as network from '../network';
22-
import { toConsoleMessageLocation } from './crProtocolHelper';
2321

2422
import type { CRBrowserContext } from './crBrowser';
2523
import type { CRSession } from './crConnection';
@@ -53,13 +51,6 @@ export class CRServiceWorker extends Worker {
5351
// Resume service worker after restart.
5452
session._sendMayFail('Runtime.runIfWaitingForDebugger', {});
5553
});
56-
session.on('Runtime.consoleAPICalled', event => {
57-
if (!this.existingExecutionContext)
58-
return;
59-
const args = event.args.map(o => createHandle(this.existingExecutionContext!, o));
60-
const message = new ConsoleMessage(null, event.type, undefined, args, toConsoleMessageLocation(event.stackTrace));
61-
this.emit(Worker.Events.Console, message);
62-
});
6354
}
6455

6556
override didClose() {

packages/playwright-core/src/server/dispatchers/pageDispatcher.ts

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import { urlMatches } from '../../utils/isomorphic/urlMatch';
3131
import type { Artifact } from '../artifact';
3232
import type { BrowserContext } from '../browserContext';
3333
import type { CRCoverage } from '../chromium/crCoverage';
34-
import type { ConsoleMessage } from '../console';
3534
import type { Download } from '../download';
3635
import type { FileChooser } from '../fileChooser';
3736
import type { JSHandle } from '../javascript';
@@ -41,6 +40,7 @@ import type { RouteHandler } from '../network';
4140
import type { InitScript, PageBinding } from '../page';
4241
import type * as channels from '@protocol/channels';
4342
import type { Progress } from '@protocol/progress';
43+
import type { ConsoleMessage } from '../console';
4444

4545
export class PageDispatcher extends Dispatcher<Page, channels.PageChannel, BrowserContextDispatcher> implements channels.PageChannel {
4646
_type_EventTarget = true;
@@ -414,7 +414,6 @@ export class PageDispatcher extends Dispatcher<Page, channels.PageChannel, Brows
414414

415415
export class WorkerDispatcher extends Dispatcher<Worker, channels.WorkerChannel, PageDispatcher | BrowserContextDispatcher> implements channels.WorkerChannel {
416416
_type_Worker = true;
417-
private readonly _subscriptions = new Set<channels.WorkerUpdateSubscriptionParams['event']>();
418417

419418
static fromNullable(scope: PageDispatcher | BrowserContextDispatcher, worker: Worker | null): WorkerDispatcher | undefined {
420419
if (!worker)
@@ -428,23 +427,6 @@ export class WorkerDispatcher extends Dispatcher<Worker, channels.WorkerChannel,
428427
url: worker.url
429428
});
430429
this.addObjectListener(Worker.Events.Close, () => this._dispatchEvent('close'));
431-
this.addObjectListener(Worker.Events.Console, (message: ConsoleMessage) => {
432-
if (!this._subscriptions.has('console'))
433-
return;
434-
this._dispatchEvent('console', {
435-
type: message.type(),
436-
text: message.text(),
437-
args: message.args().map(a => JSHandleDispatcher.fromJSHandle(this, a)),
438-
location: message.location(),
439-
});
440-
});
441-
}
442-
443-
async updateSubscription(params: channels.WorkerUpdateSubscriptionParams, progress: Progress): Promise<void> {
444-
if (params.enabled)
445-
this._subscriptions.add(params.event);
446-
else
447-
this._subscriptions.delete(params.event);
448430
}
449431

450432
async evaluateExpression(params: channels.WorkerEvaluateExpressionParams, progress: Progress): Promise<channels.WorkerEvaluateExpressionResult> {

packages/playwright-core/src/server/page.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,6 @@ export class Page extends SdkObject {
868868
export class Worker extends SdkObject {
869869
static Events = {
870870
Close: 'close',
871-
Console: 'console',
872871
};
873872

874873
readonly url: string;

packages/playwright-core/src/utils/isomorphic/protocolMetainfo.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@ export const methodMetainfo = new Map<string, { internal?: boolean, title?: stri
188188
['Frame.expect', { title: 'Expect "{expression}"', snapshot: true, pausesBeforeAction: true, }],
189189
['Worker.evaluateExpression', { title: 'Evaluate', }],
190190
['Worker.evaluateExpressionHandle', { title: 'Evaluate', }],
191-
['Worker.updateSubscription', { internal: true, }],
192191
['JSHandle.dispose', { internal: true, }],
193192
['ElementHandle.dispose', { internal: true, }],
194193
['JSHandle.evaluateExpression', { title: 'Evaluate', snapshot: true, pausesBeforeAction: true, }],

0 commit comments

Comments
 (0)