Make BrowserWindow inheirt TopLevelWindow in JS
This commit is contained in:
parent
71ebd99dfa
commit
e38f511737
3 changed files with 18 additions and 12 deletions
|
@ -397,7 +397,6 @@ mate::WrappableBase* BrowserWindow::New(mate::Arguments* args) {
|
|||
// static
|
||||
void BrowserWindow::BuildPrototype(v8::Isolate* isolate,
|
||||
v8::Local<v8::FunctionTemplate> prototype) {
|
||||
TopLevelWindow::BuildPrototype(isolate, prototype);
|
||||
prototype->SetClassName(mate::StringToV8(isolate, "BrowserWindow"));
|
||||
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
|
||||
.SetMethod("focusOnWebView", &BrowserWindow::FocusOnWebView)
|
||||
|
|
|
@ -1,22 +1,18 @@
|
|||
'use strict'
|
||||
|
||||
const electron = require('electron')
|
||||
const {ipcMain} = electron
|
||||
const {EventEmitter} = require('events')
|
||||
const {ipcMain, TopLevelWindow} = electron
|
||||
const {BrowserWindow} = process.atomBinding('window')
|
||||
const v8Util = process.atomBinding('v8_util')
|
||||
|
||||
Object.setPrototypeOf(BrowserWindow.prototype, EventEmitter.prototype)
|
||||
Object.setPrototypeOf(BrowserWindow.prototype, TopLevelWindow.prototype)
|
||||
|
||||
BrowserWindow.prototype._init = function () {
|
||||
// Avoid recursive require.
|
||||
const {app} = require('electron')
|
||||
// Call parent class's _init.
|
||||
TopLevelWindow.prototype._init.call(this)
|
||||
|
||||
// Simulate the application menu on platforms other than macOS.
|
||||
if (process.platform !== 'darwin') {
|
||||
const menu = app.getApplicationMenu()
|
||||
if (menu) this.setMenu(menu)
|
||||
}
|
||||
// Avoid recursive require.
|
||||
const {app} = electron
|
||||
|
||||
// Make new windows requested by links behave like "window.open"
|
||||
this.webContents.on('-new-window', (event, url, frameName, disposition,
|
||||
|
|
|
@ -1,9 +1,20 @@
|
|||
'use strict'
|
||||
|
||||
const electron = require('electron')
|
||||
const {EventEmitter} = require('events')
|
||||
const {TopLevelWindow} = process.atomBinding('top_level_window')
|
||||
const v8Util = process.atomBinding('v8_util')
|
||||
|
||||
Object.setPrototypeOf(TopLevelWindow.prototype, EventEmitter.prototype)
|
||||
|
||||
TopLevelWindow.prototype._init = function () {
|
||||
// Avoid recursive require.
|
||||
const {app} = electron
|
||||
|
||||
// Simulate the application menu on platforms other than macOS.
|
||||
if (process.platform !== 'darwin') {
|
||||
const menu = app.getApplicationMenu()
|
||||
if (menu) this.setMenu(menu)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = TopLevelWindow
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue