feat: convert webContents primitives to properties (#18998)
* feat: convert webContents primitives to properties * address feedback from review
This commit is contained in:
parent
de072c6ef5
commit
8782d06ed6
9 changed files with 152 additions and 49 deletions
|
@ -3034,6 +3034,7 @@ describe('BrowserWindow module', () => {
|
|||
})
|
||||
})
|
||||
|
||||
// TODO(codebytere): remove in Electron v8.0.0
|
||||
describe('window.webContents.getFrameRate()', () => {
|
||||
it('has default frame rate', (done) => {
|
||||
w.webContents.once('paint', function (event, rect, data) {
|
||||
|
@ -3044,6 +3045,7 @@ describe('BrowserWindow module', () => {
|
|||
})
|
||||
})
|
||||
|
||||
// TODO(codebytere): remove in Electron v8.0.0
|
||||
describe('window.webContents.setFrameRate(frameRate)', () => {
|
||||
it('sets custom frame rate', (done) => {
|
||||
w.webContents.on('dom-ready', () => {
|
||||
|
@ -3056,6 +3058,27 @@ describe('BrowserWindow module', () => {
|
|||
w.loadFile(path.join(fixtures, 'api', 'offscreen-rendering.html'))
|
||||
})
|
||||
})
|
||||
|
||||
describe('window.webContents.FrameRate', () => {
|
||||
it('has default frame rate', (done) => {
|
||||
w.webContents.once('paint', function (event, rect, data) {
|
||||
expect(w.webContents.frameRate).to.equal(60)
|
||||
done()
|
||||
})
|
||||
w.loadFile(path.join(fixtures, 'api', 'offscreen-rendering.html'))
|
||||
})
|
||||
|
||||
it('sets custom frame rate', (done) => {
|
||||
w.webContents.on('dom-ready', () => {
|
||||
w.webContents.frameRate = 30
|
||||
w.webContents.once('paint', function (event, rect, data) {
|
||||
expect(w.webContents.frameRate).to.equal(30)
|
||||
done()
|
||||
})
|
||||
})
|
||||
w.loadFile(path.join(fixtures, 'api', 'offscreen-rendering.html'))
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -589,7 +589,7 @@ describe('webContents module', () => {
|
|||
const {ipcRenderer, remote} = require('electron')
|
||||
ipcRenderer.send('set-zoom', window.location.hostname)
|
||||
ipcRenderer.on(window.location.hostname + '-zoom-set', () => {
|
||||
const zoomLevel = remote.getCurrentWebContents().getZoomLevel()
|
||||
const { zoomLevel } = remote.getCurrentWebContents()
|
||||
ipcRenderer.send(window.location.hostname + '-zoom-level', zoomLevel)
|
||||
})
|
||||
</script>`
|
||||
|
@ -602,7 +602,8 @@ describe('webContents module', () => {
|
|||
protocol.unregisterProtocol(zoomScheme, (error) => done(error))
|
||||
})
|
||||
|
||||
it('can set the correct zoom level', async () => {
|
||||
// TODO(codebytere): remove in Electron v8.0.0
|
||||
it('can set the correct zoom level (functions)', async () => {
|
||||
try {
|
||||
await w.loadURL('about:blank')
|
||||
const zoomLevel = w.webContents.getZoomLevel()
|
||||
|
@ -615,11 +616,25 @@ describe('webContents module', () => {
|
|||
}
|
||||
})
|
||||
|
||||
it('can set the correct zoom level', async () => {
|
||||
try {
|
||||
await w.loadURL('about:blank')
|
||||
const zoomLevel = w.webContents.zoomLevel
|
||||
expect(zoomLevel).to.eql(0.0)
|
||||
w.webContents.zoomLevel = 0.5
|
||||
const newZoomLevel = w.webContents.zoomLevel
|
||||
expect(newZoomLevel).to.eql(0.5)
|
||||
} finally {
|
||||
w.webContents.zoomLevel = 0
|
||||
}
|
||||
})
|
||||
|
||||
it('can persist zoom level across navigation', (done) => {
|
||||
let finalNavigation = false
|
||||
ipcMain.on('set-zoom', (e, host) => {
|
||||
const zoomLevel = hostZoomMap[host]
|
||||
if (!finalNavigation) w.webContents.setZoomLevel(zoomLevel)
|
||||
if (!finalNavigation) w.webContents.zoomLevel = zoomLevel
|
||||
console.log()
|
||||
e.sender.send(`${host}-zoom-set`)
|
||||
})
|
||||
ipcMain.on('host1-zoom-level', (e, zoomLevel) => {
|
||||
|
@ -645,17 +660,17 @@ describe('webContents module', () => {
|
|||
show: false
|
||||
})
|
||||
w2.webContents.on('did-finish-load', () => {
|
||||
const zoomLevel1 = w.webContents.getZoomLevel()
|
||||
const zoomLevel1 = w.webContents.zoomLevel
|
||||
expect(zoomLevel1).to.equal(hostZoomMap.host3)
|
||||
|
||||
const zoomLevel2 = w2.webContents.getZoomLevel()
|
||||
const zoomLevel2 = w2.webContents.zoomLevel
|
||||
expect(zoomLevel1).to.equal(zoomLevel2)
|
||||
w2.setClosable(true)
|
||||
w2.close()
|
||||
done()
|
||||
})
|
||||
w.webContents.on('did-finish-load', () => {
|
||||
w.webContents.setZoomLevel(hostZoomMap.host3)
|
||||
w.webContents.zoomLevel = hostZoomMap.host3
|
||||
w2.loadURL(`${zoomScheme}://host3`)
|
||||
})
|
||||
w.loadURL(`${zoomScheme}://host3`)
|
||||
|
@ -674,10 +689,10 @@ describe('webContents module', () => {
|
|||
}, (error) => {
|
||||
if (error) return done(error)
|
||||
w2.webContents.on('did-finish-load', () => {
|
||||
const zoomLevel1 = w.webContents.getZoomLevel()
|
||||
const zoomLevel1 = w.webContents.zoomLevel
|
||||
expect(zoomLevel1).to.equal(hostZoomMap.host3)
|
||||
|
||||
const zoomLevel2 = w2.webContents.getZoomLevel()
|
||||
const zoomLevel2 = w2.webContents.zoomLevel
|
||||
expect(zoomLevel2).to.equal(0)
|
||||
expect(zoomLevel1).to.not.equal(zoomLevel2)
|
||||
|
||||
|
@ -689,7 +704,7 @@ describe('webContents module', () => {
|
|||
})
|
||||
})
|
||||
w.webContents.on('did-finish-load', () => {
|
||||
w.webContents.setZoomLevel(hostZoomMap.host3)
|
||||
w.webContents.zoomLevel = hostZoomMap.host3
|
||||
w2.loadURL(`${zoomScheme}://host3`)
|
||||
})
|
||||
w.loadURL(`${zoomScheme}://host3`)
|
||||
|
@ -707,16 +722,16 @@ describe('webContents module', () => {
|
|||
const content = `<iframe src=${url}></iframe>`
|
||||
w.webContents.on('did-frame-finish-load', (e, isMainFrame) => {
|
||||
if (!isMainFrame) {
|
||||
const zoomLevel = w.webContents.getZoomLevel()
|
||||
const zoomLevel = w.webContents.zoomLevel
|
||||
expect(zoomLevel).to.equal(2.0)
|
||||
|
||||
w.webContents.setZoomLevel(0)
|
||||
w.webContents.zoomLevel = 0
|
||||
server.close()
|
||||
done()
|
||||
}
|
||||
})
|
||||
w.webContents.on('dom-ready', () => {
|
||||
w.webContents.setZoomLevel(2.0)
|
||||
w.webContents.zoomLevel = 2.0
|
||||
})
|
||||
w.loadURL(`data:text/html,${content}`)
|
||||
})
|
||||
|
@ -728,10 +743,10 @@ describe('webContents module', () => {
|
|||
show: false
|
||||
})
|
||||
w2.webContents.on('did-finish-load', () => {
|
||||
const zoomLevel1 = w.webContents.getZoomLevel()
|
||||
const zoomLevel1 = w.webContents.zoomLevel
|
||||
expect(zoomLevel1).to.equal(finalZoomLevel)
|
||||
|
||||
const zoomLevel2 = w2.webContents.getZoomLevel()
|
||||
const zoomLevel2 = w2.webContents.zoomLevel
|
||||
expect(zoomLevel2).to.equal(0)
|
||||
expect(zoomLevel1).to.not.equal(zoomLevel2)
|
||||
|
||||
|
@ -757,7 +772,7 @@ describe('webContents module', () => {
|
|||
if (initialNavigation) {
|
||||
w.webContents.executeJavaScript(source)
|
||||
} else {
|
||||
const zoomLevel = w.webContents.getZoomLevel()
|
||||
const zoomLevel = w.webContents.zoomLevel
|
||||
expect(zoomLevel).to.equal(0)
|
||||
done()
|
||||
}
|
||||
|
|
|
@ -679,7 +679,7 @@ const template = <Electron.MenuItemConstructorOptions[]> [
|
|||
accelerator: 'CmdOrCtrl+0',
|
||||
click: (item, focusedWindow) => {
|
||||
if (focusedWindow) {
|
||||
focusedWindow.webContents.setZoomLevel(0)
|
||||
focusedWindow.webContents.zoomLevel = 0
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -689,8 +689,7 @@ const template = <Electron.MenuItemConstructorOptions[]> [
|
|||
click: (item, focusedWindow) => {
|
||||
if (focusedWindow) {
|
||||
const { webContents } = focusedWindow
|
||||
const zoomLevel = webContents.getZoomLevel()
|
||||
webContents.setZoomLevel(zoomLevel + 0.5)
|
||||
webContents.zoomLevel += 0.5
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -700,8 +699,7 @@ const template = <Electron.MenuItemConstructorOptions[]> [
|
|||
click: (item, focusedWindow) => {
|
||||
if (focusedWindow) {
|
||||
const { webContents } = focusedWindow
|
||||
const zoomLevel = webContents.getZoomLevel()
|
||||
webContents.setZoomLevel(zoomLevel - 0.5)
|
||||
webContents.zoomLevel -= 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue