Implement BrowserPluginGuestDelegate::CreateNewGuestWindow for nativeWindowOpen

This commit is contained in:
Kevin Sawicki 2017-05-23 13:26:19 -07:00
parent a16cd0bd03
commit 7baf472c0f
4 changed files with 34 additions and 1 deletions

View file

@ -36,8 +36,9 @@ BrowserWindow.prototype._init = function () {
frameName) => {
v8Util.setHiddenValue(webContents, 'url-framename', {url, frameName})
})
// Create a new browser window for the native implementation of
// "window.open"(sandbox mode only)
// "window.open", used in sandbox and nativeWindowOpen mode
this.webContents.on('-add-new-contents', (event, webContents, disposition,
userGesture, left, top, width,
height) => {

View file

@ -116,6 +116,20 @@ const createGuest = function (embedder, params) {
guest.allowPopups = params.allowpopups
})
guest.on('-add-new-contents', (...args) => {
const embedder = getEmbedder(guestInstanceId)
if (embedder != null) {
embedder.emit('-add-new-contents', ...args)
}
})
guest.on('-web-contents-created', (...args) => {
const embedder = getEmbedder(guestInstanceId)
if (embedder != null) {
embedder.emit('-web-contents-created', ...args)
}
})
const sendToEmbedder = (channel, ...args) => {
const embedder = getEmbedder(guestInstanceId)
if (embedder != null) {