add zoom specs based on standard protocols
This commit is contained in:
parent
0c022fdc36
commit
a57af31b99
5 changed files with 79 additions and 14 deletions
|
@ -1527,6 +1527,21 @@ describe('<webview> tag', function () {
|
|||
})
|
||||
|
||||
describe('zoom behavior', () => {
|
||||
const zoomScheme = remote.getGlobal('zoomScheme')
|
||||
const webviewSession = session.fromPartition('webview-temp')
|
||||
|
||||
before((done) => {
|
||||
const protocol = webviewSession.protocol
|
||||
protocol.registerStringProtocol(zoomScheme, (request, callback) => {
|
||||
callback('hello')
|
||||
}, (error) => done(error))
|
||||
})
|
||||
|
||||
after((done) => {
|
||||
const protocol = webviewSession.protocol
|
||||
protocol.unregisterProtocol(zoomScheme, (error) => done(error))
|
||||
})
|
||||
|
||||
it('inherits the zoomFactor of the parent window', (done) => {
|
||||
w = new BrowserWindow({
|
||||
show: false,
|
||||
|
@ -1534,7 +1549,7 @@ describe('<webview> tag', function () {
|
|||
zoomFactor: 1.2
|
||||
}
|
||||
})
|
||||
ipcMain.once('webview-zoom-level', (event, zoomFactor, zoomLevel) => {
|
||||
ipcMain.once('webview-parent-zoom-level', (event, zoomFactor, zoomLevel) => {
|
||||
assert.equal(zoomFactor, 1.2)
|
||||
assert.equal(zoomLevel, 1)
|
||||
done()
|
||||
|
@ -1542,24 +1557,39 @@ describe('<webview> tag', function () {
|
|||
w.loadURL(`file://${fixtures}/pages/webview-zoom-factor.html`)
|
||||
})
|
||||
|
||||
it('inherits the zoomLevel of parent window on navigation', (done) => {
|
||||
it('maintains zoom level on navigation', (done) => {
|
||||
w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
zoomFactor: 1.2
|
||||
}
|
||||
})
|
||||
ipcMain.on('webview-zoom-level', (event, zoomLevel, zoomFactor, final) => {
|
||||
if (!final) {
|
||||
ipcMain.on('webview-zoom-level', (event, zoomLevel, zoomFactor, newHost, final) => {
|
||||
if (!newHost) {
|
||||
assert.equal(zoomFactor, 1.44)
|
||||
assert.equal(zoomLevel, 2.0)
|
||||
} else {
|
||||
assert.equal(zoomFactor, 1.2)
|
||||
assert.equal(zoomLevel, 1)
|
||||
done()
|
||||
}
|
||||
if (final) done()
|
||||
})
|
||||
w.loadURL(`file://${fixtures}/pages/webview-custom-zoom-level.html`)
|
||||
})
|
||||
|
||||
it('maintains zoom level when navigating within same page', (done) => {
|
||||
w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
zoomFactor: 1.2
|
||||
}
|
||||
})
|
||||
ipcMain.on('webview-zoom-in-page', (event, zoomLevel, zoomFactor, final) => {
|
||||
assert.equal(zoomFactor, 1.44)
|
||||
assert.equal(zoomLevel, 2.0)
|
||||
if (final) done()
|
||||
})
|
||||
w.loadURL(`file://${fixtures}/pages/webview-in-page-navigate.html`)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue