webContents: handle POST navigation for new windows
This commit is contained in:
parent
7cfe1dd0af
commit
0410a184ce
10 changed files with 187 additions and 49 deletions
|
@ -84,7 +84,7 @@ const setupGuest = function (embedder, frameName, guest, options) {
|
|||
}
|
||||
|
||||
// Create a new guest created by |embedder| with |options|.
|
||||
const createGuest = function (embedder, url, frameName, options) {
|
||||
const createGuest = function (embedder, url, frameName, options, postData) {
|
||||
let guest = frameToGuest[frameName]
|
||||
if (frameName && (guest != null)) {
|
||||
guest.loadURL(url)
|
||||
|
@ -119,7 +119,10 @@ const createGuest = function (embedder, url, frameName, options) {
|
|||
//
|
||||
// The above code would not work if a navigation to "about:blank" is done
|
||||
// here, since the window would be cleared of all changes in the next tick.
|
||||
guest.loadURL(url)
|
||||
const loadOptions = {}
|
||||
if (postData)
|
||||
loadOptions.postData = postData
|
||||
guest.loadURL(url, loadOptions)
|
||||
}
|
||||
|
||||
return setupGuest(embedder, frameName, guest, options)
|
||||
|
@ -140,7 +143,9 @@ const getGuestWindow = function (guestId) {
|
|||
}
|
||||
|
||||
// Routed window.open messages.
|
||||
ipcMain.on('ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_OPEN', function (event, url, frameName, disposition, options, additionalFeatures) {
|
||||
ipcMain.on('ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_OPEN', function (event, url, frameName,
|
||||
disposition, options,
|
||||
additionalFeatures, postData) {
|
||||
options = mergeBrowserWindowOptions(event.sender, options)
|
||||
event.sender.emit('new-window', event, url, frameName, disposition, options, additionalFeatures)
|
||||
const newGuest = event.newGuest
|
||||
|
@ -151,7 +156,7 @@ ipcMain.on('ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_OPEN', function (event, url, fr
|
|||
event.returnValue = null
|
||||
}
|
||||
} else {
|
||||
event.returnValue = createGuest(event.sender, url, frameName, options)
|
||||
event.returnValue = createGuest(event.sender, url, frameName, options, postData)
|
||||
}
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue