});
app.on('before-quit', function(event) {
console.log('before-quit');
+ wrt.exit();
});
app.on('will-quit', function(event) {
console.log('will-quit');
});
app.on('quit', function(event) {
console.log('quit');
- wrt.exit();
});
app.on('browser-window-blur', function() {
console.log('browser-window-blur');
});
app.on('window-all-closed', function(event) {
console.log('window-all-closed');
- app.quit();
+ // For Tizen Apps, quit will be called from web_application.js
+ if (!_this.webApplication)
+ app.quit();
});
app.on('will-finish-launching', function(event) {
console.log('will-finish-launching');
});
wrt.on('suspend', function() {
console.log('suspend');
- _this.webApplication.suspend();
+ if (_this.webApplication)
+ _this.webApplication.suspend();
});
wrt.on('resume', function() {
console.log('resume');
- _this.webApplication.resume();
+ if (_this.webApplication)
+ _this.webApplication.resume();
});
wrt.on('terminate', function() {
console.log('terminate');
- _this.webApplication.terminate();
+ if (_this.webApplication)
+ _this.webApplication.terminate();
+ else app.quit();
});
}
onLanguageChanged() {}
console.log(`window closed : #${self.windowList.length}`);
let index = self.windowList.indexOf(window);
self.windowList.splice(index, 1);
- if (!self.isTerminating && index === self.windowList.length && self.windowList.length > 0)
+ if (!self.windowList.length)
+ self.terminate();
+ else if (index === self.windowList.length)
self.windowList[self.windowList.length - 1].show();
});
});
app.on('web-contents-created', function(event, webContents) {
webContents.on('crashed', function() {
console.error('webContents crashed');
- app.exit(100);
+ self.terminate();
});
webContents.session.setPermissionRequestHandler(function(webContents, permission, callback) {
console.log(`handlePermissionRequests for ${permission}`);
let windows = BrowserWindow.getAllWindows();
if (!this.multitaskingSupport) {
console.log('multitasking is not supported; quitting app')
- app.quit();
+ this.terminate();
} else if (!this.backgroundSupport) {
windows.forEach((window) => window.setEnabled(false));
}
this.windowList[this.windowList.length - 1].show();
}
terminate() {
- this.isTerminating = true;
+ console.log('WebApplication : terminate');
+ if (!this.isTerminating) {
+ console.log('terminating app');
+ this.isTerminating = true;
+ app.quit();
+ } else console.log('termination is already in progress');
}
sendAppControlEvent() {
const kAppControlEventScript =