feat(webkit): basic isMobile viewport support (#348)
This commit is contained in:
parent
c01224f249
commit
d83d3c3851
|
|
@ -315,11 +315,12 @@ export class WKPage implements PageDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
async setViewport(viewport: types.Viewport): Promise<void> {
|
async setViewport(viewport: types.Viewport): Promise<void> {
|
||||||
if (viewport.isMobile || viewport.isLandscape || viewport.hasTouch)
|
if (viewport.isLandscape || viewport.hasTouch)
|
||||||
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 this._pageProxySession.send('Emulation.setDeviceMetricsOverride', { width, height, fixedLayout: false, deviceScaleFactor: viewport.deviceScaleFactor || 1 });
|
const fixedLayout = !!viewport.isMobile;
|
||||||
|
await this._pageProxySession.send('Emulation.setDeviceMetricsOverride', {width, height, fixedLayout, deviceScaleFactor: viewport.deviceScaleFactor || 1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
setCacheEnabled(enabled: boolean): Promise<void> {
|
setCacheEnabled(enabled: boolean): Promise<void> {
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,16 @@ module.exports.describe = function({testRunner, expect, playwright, FFOX, CHROME
|
||||||
await page.setViewport(iPhone.viewport);
|
await page.setViewport(iPhone.viewport);
|
||||||
expect((await event2).text()).toBe('2');
|
expect((await event2).text()).toBe('2');
|
||||||
});
|
});
|
||||||
|
it.skip(FFOX)('default mobile viewports to 980 width', async({page, server}) => {
|
||||||
|
await page.setViewport({width: 320, height: 480, isMobile: true});
|
||||||
|
await page.goto(server.PREFIX + '/empty.html');
|
||||||
|
expect(await page.evaluate(() => window.innerWidth)).toBe(980);
|
||||||
|
});
|
||||||
|
it.skip(FFOX)('respect meta viewport tag', async({page, server}) => {
|
||||||
|
await page.setViewport({width: 320, height: 480, isMobile: true});
|
||||||
|
await page.goto(server.PREFIX + '/mobile.html');
|
||||||
|
expect(await page.evaluate(() => window.innerWidth)).toBe(320);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Page.emulate', function() {
|
describe('Page.emulate', function() {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue