<html>

<body>
  <webview nodeintegration src="app://host1" id="view" partition="webview-temp" />
</body>
<script>
  const { ipcRenderer, webFrame } = require('electron')
  const view = document.getElementById('view')

  let values = {
    initialZoomLevel: 0,
    switchZoomLevel: 0,
    finalZoomLevel: 0,
  }

  view.addEventListener('dom-ready', async () => {
    view.setZoomLevel(2.0)
    values.initialZoomLevel = view.getZoomLevel()

    await view.loadURL('app://host2')
    view.setZoomLevel(3.0)
    values.switchZoomLevel = view.getZoomLevel()

    await view.loadURL('app://host1')
    values.finalZoomLevel = view.getZoomLevel()

    ipcRenderer.send('webview-zoom-persist-level', values)
  })
</script>

</html>