Skip to content

Commit

Permalink
chore: migrate FrameManager events from Events.ts (#6179)
Browse files Browse the repository at this point in the history
  • Loading branch information
jackfranklin committed Jul 8, 2020
1 parent 6ee7139 commit 74cb2ce
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 16 deletions.
33 changes: 25 additions & 8 deletions src/common/FrameManager.ts
Expand Up @@ -17,7 +17,6 @@
import { EventEmitter } from './EventEmitter';
import { assert } from './assert';
import { helper, debugError } from './helper';
import { Events } from './Events';
import { ExecutionContext, EVALUATION_SCRIPT_URL } from './ExecutionContext';
import { LifecycleWatcher, PuppeteerLifeCycleEvent } from './LifecycleWatcher';
import { DOMWorld, WaitForSelectorOptions } from './DOMWorld';
Expand All @@ -37,6 +36,24 @@ import {

const UTILITY_WORLD_NAME = '__puppeteer_utility_world__';

/**
* We use symbols to prevent external parties listening to these events.
* They are internal to Puppeteer.
*
* @internal
*/
export const FrameManagerEmittedEvents = {
FrameAttached: Symbol('FrameManager.FrameAttached'),
FrameNavigated: Symbol('FrameManager.FrameNavigated'),
FrameDetached: Symbol('FrameManager.FrameDetached'),
LifecycleEvent: Symbol('FrameManager.LifecycleEvent'),
FrameNavigatedWithinDocument: Symbol(
'FrameManager.FrameNavigatedWithinDocument'
),
ExecutionContextCreated: Symbol('FrameManager.ExecutionContextCreated'),
ExecutionContextDestroyed: Symbol('FrameManager.ExecutionContextDestroyed'),
};

/**
* @internal
*/
Expand Down Expand Up @@ -197,14 +214,14 @@ export class FrameManager extends EventEmitter {
const frame = this._frames.get(event.frameId);
if (!frame) return;
frame._onLifecycleEvent(event.loaderId, event.name);
this.emit(Events.FrameManager.LifecycleEvent, frame);
this.emit(FrameManagerEmittedEvents.LifecycleEvent, frame);
}

_onFrameStoppedLoading(frameId: string): void {
const frame = this._frames.get(frameId);
if (!frame) return;
frame._onLoadingStopped();
this.emit(Events.FrameManager.LifecycleEvent, frame);
this.emit(FrameManagerEmittedEvents.LifecycleEvent, frame);
}

_handleFrameTree(frameTree: Protocol.Page.FrameTree): void {
Expand Down Expand Up @@ -238,7 +255,7 @@ export class FrameManager extends EventEmitter {
const parentFrame = this._frames.get(parentFrameId);
const frame = new Frame(this, parentFrame, frameId);
this._frames.set(frame._id, frame);
this.emit(Events.FrameManager.FrameAttached, frame);
this.emit(FrameManagerEmittedEvents.FrameAttached, frame);
}

_onFrameNavigated(framePayload: Protocol.Page.Frame): void {
Expand Down Expand Up @@ -274,7 +291,7 @@ export class FrameManager extends EventEmitter {
// Update frame payload.
frame._navigated(framePayload);

this.emit(Events.FrameManager.FrameNavigated, frame);
this.emit(FrameManagerEmittedEvents.FrameNavigated, frame);
}

async _ensureIsolatedWorld(name: string): Promise<void> {
Expand All @@ -301,8 +318,8 @@ export class FrameManager extends EventEmitter {
const frame = this._frames.get(frameId);
if (!frame) return;
frame._navigatedWithinDocument(url);
this.emit(Events.FrameManager.FrameNavigatedWithinDocument, frame);
this.emit(Events.FrameManager.FrameNavigated, frame);
this.emit(FrameManagerEmittedEvents.FrameNavigatedWithinDocument, frame);
this.emit(FrameManagerEmittedEvents.FrameNavigated, frame);
}

_onFrameDetached(frameId: string): void {
Expand Down Expand Up @@ -362,7 +379,7 @@ export class FrameManager extends EventEmitter {
this._removeFramesRecursively(child);
frame._detach();
this._frames.delete(frame._id);
this.emit(Events.FrameManager.FrameDetached, frame);
this.emit(FrameManagerEmittedEvents.FrameDetached, frame);
}
}

Expand Down
8 changes: 4 additions & 4 deletions src/common/LifecycleWatcher.ts
Expand Up @@ -18,7 +18,7 @@ import { assert } from './assert';
import { helper, PuppeteerEventListener } from './helper';
import { Events } from './Events';
import { TimeoutError } from './Errors';
import { FrameManager, Frame } from './FrameManager';
import { FrameManager, Frame, FrameManagerEmittedEvents } from './FrameManager';
import { HTTPRequest } from './HTTPRequest';
import { HTTPResponse } from './HTTPResponse';
import { NetworkManagerEmittedEvents } from './NetworkManager';
Expand Down Expand Up @@ -103,17 +103,17 @@ export class LifecycleWatcher {
),
helper.addEventListener(
this._frameManager,
Events.FrameManager.LifecycleEvent,
FrameManagerEmittedEvents.LifecycleEvent,
this._checkLifecycleComplete.bind(this)
),
helper.addEventListener(
this._frameManager,
Events.FrameManager.FrameNavigatedWithinDocument,
FrameManagerEmittedEvents.FrameNavigatedWithinDocument,
this._navigatedWithinDocument.bind(this)
),
helper.addEventListener(
this._frameManager,
Events.FrameManager.FrameDetached,
FrameManagerEmittedEvents.FrameDetached,
this._onFrameDetached.bind(this)
),
helper.addEventListener(
Expand Down
8 changes: 4 additions & 4 deletions src/common/Page.ts
Expand Up @@ -22,7 +22,7 @@ import { Events } from './Events';
import { Connection, CDPSession } from './Connection';
import { Dialog } from './Dialog';
import { EmulationManager } from './EmulationManager';
import { Frame, FrameManager } from './FrameManager';
import { Frame, FrameManager, FrameManagerEmittedEvents } from './FrameManager';
import { Keyboard, Mouse, Touchscreen, MouseButton } from './Input';
import { Tracing } from './Tracing';
import { assert } from './assert';
Expand Down Expand Up @@ -475,13 +475,13 @@ export class Page extends EventEmitter {
this._workers.delete(event.sessionId);
});

this._frameManager.on(Events.FrameManager.FrameAttached, (event) =>
this._frameManager.on(FrameManagerEmittedEvents.FrameAttached, (event) =>
this.emit(PageEmittedEvents.FrameAttached, event)
);
this._frameManager.on(Events.FrameManager.FrameDetached, (event) =>
this._frameManager.on(FrameManagerEmittedEvents.FrameDetached, (event) =>
this.emit(PageEmittedEvents.FrameDetached, event)
);
this._frameManager.on(Events.FrameManager.FrameNavigated, (event) =>
this._frameManager.on(FrameManagerEmittedEvents.FrameNavigated, (event) =>
this.emit(PageEmittedEvents.FrameNavigated, event)
);

Expand Down

0 comments on commit 74cb2ce

Please sign in to comment.