Skip to content

Commit f1d1dfb

Browse files
dgozmanpavelfeldman
authored andcommitted
fix(webkit): rewrite global object retrieval errors (#640)
1 parent fb9ec96 commit f1d1dfb

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/webkit/wkExecutionContext.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,15 @@ export class WKExecutionContext implements js.ExecutionContextDelegate {
111111
serializableArgs = args;
112112
}
113113

114-
const thisObjectId = await this._contextGlobalObjectId();
114+
let thisObjectId;
115+
try {
116+
thisObjectId = await this._contextGlobalObjectId();
117+
} catch (error) {
118+
if (error.message.includes('Missing injected script for given'))
119+
throw new Error('Execution context was destroyed, most likely because of a navigation.');
120+
throw error;
121+
}
122+
115123
let callFunctionOnPromise;
116124
try {
117125
callFunctionOnPromise = this._session.send('Runtime.callFunctionOn', {

test/screenshot.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,8 @@ module.exports.describe = function({testRunner, expect, product, FFOX, CHROMIUM,
181181
const screenshot = await page.screenshot();
182182
expect(screenshot).toBeGolden('screenshot-webgl.png');
183183
});
184-
// firefox and webkit are flaky
185-
it.skip(FFOX || WEBKIT)('should work while navigating', async({page, server}) => {
184+
// firefox is flaky
185+
it.skip(FFOX)('should work while navigating', async({page, server}) => {
186186
await page.setViewport({width: 500, height: 500});
187187
await page.goto(server.PREFIX + '/redirectloop1.html');
188188
for (let i = 0; i < 10; i++) {

0 commit comments

Comments
 (0)