mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
feat(webkit): roll to r1059 (#360)
This commit is contained in:
parent
1e3140e845
commit
a09235a6e3
@ -10,7 +10,7 @@
|
|||||||
"playwright": {
|
"playwright": {
|
||||||
"chromium_revision": "724623",
|
"chromium_revision": "724623",
|
||||||
"firefox_revision": "1009",
|
"firefox_revision": "1009",
|
||||||
"webkit_revision": "1055"
|
"webkit_revision": "1059"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"unit": "node test/test.js",
|
"unit": "node test/test.js",
|
||||||
|
|||||||
@ -30,7 +30,7 @@ export class WKExecutionContext implements js.ExecutionContextDelegate {
|
|||||||
_contextId: number;
|
_contextId: number;
|
||||||
private _contextDestroyedCallback: () => void;
|
private _contextDestroyedCallback: () => void;
|
||||||
private _executionContextDestroyedPromise: Promise<unknown>;
|
private _executionContextDestroyedPromise: Promise<unknown>;
|
||||||
_jsonObjectId: Protocol.Runtime.RemoteObjectId | undefined;
|
_jsonStringifyObjectId: Protocol.Runtime.RemoteObjectId | undefined;
|
||||||
|
|
||||||
constructor(client: WKTargetSession, contextPayload: Protocol.Runtime.ExecutionContextDescription) {
|
constructor(client: WKTargetSession, contextPayload: Protocol.Runtime.ExecutionContextDescription) {
|
||||||
this._session = client;
|
this._session = client;
|
||||||
@ -219,9 +219,9 @@ export class WKExecutionContext implements js.ExecutionContextDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _returnObjectByValue(objectId: Protocol.Runtime.RemoteObjectId) {
|
private _returnObjectByValue(objectId: Protocol.Runtime.RemoteObjectId) {
|
||||||
const serializeFunction = function(JSON: { stringify: (o: any) => string }) {
|
const serializeFunction = function(stringify: (o: any) => string) {
|
||||||
try {
|
try {
|
||||||
return JSON.stringify(this);
|
return stringify(this);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (e instanceof TypeError)
|
if (e instanceof TypeError)
|
||||||
return void 0;
|
return void 0;
|
||||||
@ -232,7 +232,7 @@ export class WKExecutionContext implements js.ExecutionContextDelegate {
|
|||||||
// Serialize object using standard JSON implementation to correctly pass 'undefined'.
|
// Serialize object using standard JSON implementation to correctly pass 'undefined'.
|
||||||
functionDeclaration: serializeFunction + '\n' + suffix + '\n',
|
functionDeclaration: serializeFunction + '\n' + suffix + '\n',
|
||||||
objectId: objectId,
|
objectId: objectId,
|
||||||
arguments: [ { objectId: this._jsonObjectId } ],
|
arguments: [ { objectId: this._jsonStringifyObjectId } ],
|
||||||
returnByValue: true
|
returnByValue: true
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
if (isSwappedOutError(e))
|
if (isSwappedOutError(e))
|
||||||
|
|||||||
@ -37,7 +37,7 @@ import { PNG } from 'pngjs';
|
|||||||
const UTILITY_WORLD_NAME = '__playwright_utility_world__';
|
const UTILITY_WORLD_NAME = '__playwright_utility_world__';
|
||||||
const BINDING_CALL_MESSAGE = '__playwright_binding_call__';
|
const BINDING_CALL_MESSAGE = '__playwright_binding_call__';
|
||||||
const JSON_CALL_MESSAGE = '__playwright_json_call__';
|
const JSON_CALL_MESSAGE = '__playwright_json_call__';
|
||||||
const JSON_SAVE_SCRIPT = `console.debug('${JSON_CALL_MESSAGE}', JSON)`;
|
const JSON_SAVE_SCRIPT = `console.debug('${JSON_CALL_MESSAGE}', JSON.stringify.bind(JSON))`;
|
||||||
|
|
||||||
export class WKPage implements PageDelegate {
|
export class WKPage implements PageDelegate {
|
||||||
readonly rawMouse: RawMouseImpl;
|
readonly rawMouse: RawMouseImpl;
|
||||||
@ -101,7 +101,7 @@ export class WKPage implements PageDelegate {
|
|||||||
promises.push(this._setEmulateMedia(session, this._page._state.mediaType, this._page._state.colorScheme));
|
promises.push(this._setEmulateMedia(session, this._page._state.mediaType, this._page._state.colorScheme));
|
||||||
if (contextOptions.javaScriptEnabled === false)
|
if (contextOptions.javaScriptEnabled === false)
|
||||||
promises.push(session.send('Emulation.setJavaScriptEnabled', { enabled: false }));
|
promises.push(session.send('Emulation.setJavaScriptEnabled', { enabled: false }));
|
||||||
if (this._setBootstrapScripts.length && session.isProvisional())
|
if (session.isProvisional())
|
||||||
promises.push(this._setBootstrapScripts(session));
|
promises.push(this._setBootstrapScripts(session));
|
||||||
if (contextOptions.bypassCSP)
|
if (contextOptions.bypassCSP)
|
||||||
promises.push(session.send('Page.setBypassCSP', { enabled: true }));
|
promises.push(session.send('Page.setBypassCSP', { enabled: true }));
|
||||||
@ -109,9 +109,8 @@ export class WKPage implements PageDelegate {
|
|||||||
promises.push(this._setExtraHTTPHeaders(session, this._page._state.extraHTTPHeaders));
|
promises.push(this._setExtraHTTPHeaders(session, this._page._state.extraHTTPHeaders));
|
||||||
if (this._page._state.viewport)
|
if (this._page._state.viewport)
|
||||||
promises.push(WKPage._setViewport(session, this._page._state.viewport));
|
promises.push(WKPage._setViewport(session, this._page._state.viewport));
|
||||||
if (contextOptions.javaScriptEnabled !== false)
|
|
||||||
promises.push(session.send('Page.setBootstrapScript', { source: JSON_SAVE_SCRIPT }));
|
|
||||||
await Promise.all(promises);
|
await Promise.all(promises);
|
||||||
|
await this._page.evaluate(JSON_SAVE_SCRIPT);
|
||||||
}
|
}
|
||||||
|
|
||||||
didClose() {
|
didClose() {
|
||||||
@ -224,7 +223,7 @@ export class WKPage implements PageDelegate {
|
|||||||
if (level === 'debug' && parameters && parameters[0].value === JSON_CALL_MESSAGE) {
|
if (level === 'debug' && parameters && parameters[0].value === JSON_CALL_MESSAGE) {
|
||||||
const parsedObjectId = JSON.parse(parameters[1].objectId);
|
const parsedObjectId = JSON.parse(parameters[1].objectId);
|
||||||
const context = this._contextIdToContext.get(parsedObjectId.injectedScriptId);
|
const context = this._contextIdToContext.get(parsedObjectId.injectedScriptId);
|
||||||
(context._delegate as WKExecutionContext)._jsonObjectId = parameters[1].objectId;
|
(context._delegate as WKExecutionContext)._jsonStringifyObjectId = parameters[1].objectId;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let derivedType: string = type;
|
let derivedType: string = type;
|
||||||
@ -308,7 +307,7 @@ export class WKPage implements PageDelegate {
|
|||||||
throw new Error('Not implemented');
|
throw new Error('Not implemented');
|
||||||
const width = viewport.width;
|
const width = viewport.width;
|
||||||
const height = viewport.height;
|
const height = viewport.height;
|
||||||
await session.send('Emulation.setDeviceMetricsOverride', { width, height, deviceScaleFactor: viewport.deviceScaleFactor || 1 });
|
await session.send('Emulation.setDeviceMetricsOverride', { width, height, fixedLayout: false, deviceScaleFactor: viewport.deviceScaleFactor || 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
setCacheEnabled(enabled: boolean): Promise<void> {
|
setCacheEnabled(enabled: boolean): Promise<void> {
|
||||||
@ -392,7 +391,7 @@ export class WKPage implements PageDelegate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async resetViewport(oldSize: types.Size): Promise<void> {
|
async resetViewport(oldSize: types.Size): Promise<void> {
|
||||||
await this._session.send('Emulation.setDeviceMetricsOverride', { ...oldSize, deviceScaleFactor: 0 });
|
await this._session.send('Emulation.setDeviceMetricsOverride', { ...oldSize, fixedLayout: false, deviceScaleFactor: 0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
async getContentFrame(handle: dom.ElementHandle): Promise<frames.Frame | null> {
|
async getContentFrame(handle: dom.ElementHandle): Promise<frames.Frame | null> {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user