Correctly set initial visibilityState

This commit is contained in:
Cheng Zhao 2016-04-13 22:56:11 +09:00
parent 07a4c52919
commit 43c44da50b
8 changed files with 37 additions and 17 deletions

View file

@ -47,11 +47,7 @@ electron.ipcRenderer.on('ELECTRON_INTERNAL_RENDERER_ASYNC_WEB_FRAME_METHOD', (ev
// Process command line arguments.
var nodeIntegration = 'false'
var preloadScript = null
var ref = process.argv
var i, len, arg
for (i = 0, len = ref.length; i < len; i++) {
arg = ref[i]
for (let arg of process.argv) {
if (arg.indexOf('--guest-instance-id=') === 0) {
// This is a guest web view.
process.guestInstanceId = parseInt(arg.substr(arg.indexOf('=') + 1))
@ -62,6 +58,8 @@ for (i = 0, len = ref.length; i < len; i++) {
nodeIntegration = arg.substr(arg.indexOf('=') + 1)
} else if (arg.indexOf('--preload=') === 0) {
preloadScript = arg.substr(arg.indexOf('=') + 1)
} else if (arg.indexOf('--visibility-state=') === 0) {
process.visibilityState = arg.substr(arg.indexOf('=') + 1)
}
}

View file

@ -5,7 +5,6 @@ const remote = require('electron').remote
// Helper function to resolve relative url.
var a = window.top.document.createElement('a')
var resolveURL = function (url) {
a.href = url
return a.href
@ -160,8 +159,6 @@ window.alert = function (message, title) {
title: title,
buttons: buttons
})
// Alert should always return undefined.
}
// And the confirm().
@ -227,8 +224,13 @@ Object.defineProperty(window.history, 'length', {
}
})
// The initial visibilityState.
let cachedVisibilityState = 'visible'
if (process.visibilityState) {
cachedVisibilityState = process.visibilityState
}
// Subscribe to visibilityState changes.
let cachedVisibilityState = 'hidden'
ipcRenderer.on('ELECTRON_RENDERER_WINDOW_VISIBILITY_CHANGE', function (event, visibilityState) {
if (cachedVisibilityState != visibilityState) {
cachedVisibilityState = visibilityState