codeGenerator no longer depends on Frame

This commit is contained in:
Rui Figueira 2024-04-07 23:06:54 +01:00
parent 569ace65e0
commit e3e5355876
2 changed files with 10 additions and 9 deletions

View file

@ -494,7 +494,7 @@ class ContextRecorder extends EventEmitter {
private async _onPage(page: Page) {
// First page is called page, others are called popup1, popup2, etc.
const frame = page.mainFrame();
page.on('close', () => {
page.on(Page.Events.Close, () => {
this._generator.addAction({
frame: this._describeMainFrame(page),
committed: true,
@ -673,26 +673,28 @@ class ContextRecorder extends EventEmitter {
}
private _onFrameNavigated(frame: Frame, page: Page) {
if (frame._page.mainFrame() !== frame)
return;
const pageAlias = this._pageAliases.get(page);
this._generator.signal(pageAlias!, frame, { name: 'navigation', url: frame.url() });
this._generator.signal(pageAlias!, { name: 'navigation', url: frame.url() });
}
private _onPopup(page: Page, popup: Page) {
const pageAlias = this._pageAliases.get(page)!;
const popupAlias = this._pageAliases.get(popup)!;
this._generator.signal(pageAlias, page.mainFrame(), { name: 'popup', popupAlias });
this._generator.signal(pageAlias, { name: 'popup', popupAlias });
}
private _onDownload(page: Page) {
const pageAlias = this._pageAliases.get(page)!;
++this._lastDownloadOrdinal;
this._generator.signal(pageAlias, page.mainFrame(), { name: 'download', downloadAlias: this._lastDownloadOrdinal ? String(this._lastDownloadOrdinal) : '' });
this._generator.signal(pageAlias, { name: 'download', downloadAlias: this._lastDownloadOrdinal ? String(this._lastDownloadOrdinal) : '' });
}
private _onDialog(page: Page) {
const pageAlias = this._pageAliases.get(page)!;
++this._lastDialogOrdinal;
this._generator.signal(pageAlias, page.mainFrame(), { name: 'dialog', dialogAlias: this._lastDialogOrdinal ? String(this._lastDialogOrdinal) : '' });
this._generator.signal(pageAlias, { name: 'dialog', dialogAlias: this._lastDialogOrdinal ? String(this._lastDialogOrdinal) : '' });
}
}

View file

@ -16,7 +16,6 @@
import { EventEmitter } from 'events';
import type { BrowserContextOptions, LaunchOptions } from '../../..';
import type { Frame } from '../frames';
import type { LanguageGenerator, LanguageGeneratorOptions } from './language';
import type { Action, Signal, FrameDescription } from './recorderActions';
@ -121,7 +120,7 @@ export class CodeGenerator extends EventEmitter {
action.committed = true;
}
signal(pageAlias: string, frame: Frame, signal: Signal) {
signal(pageAlias: string, signal: Signal) {
if (!this._enabled)
return;
@ -141,7 +140,7 @@ export class CodeGenerator extends EventEmitter {
return;
}
if (signal.name === 'navigation' && frame._page.mainFrame() === frame) {
if (signal.name === 'navigation') {
this.addAction({
frame: {
pageAlias,
@ -150,7 +149,7 @@ export class CodeGenerator extends EventEmitter {
committed: true,
action: {
name: 'navigate',
url: frame.url(),
url: signal.url,
signals: [],
},
});