Merge pull request #5430 from deepak1556/ipc_renderer_patch
ipcRenderer: fix crash with multiple listeners to sync message
This commit is contained in:
commit
b05fa2ed5b
2 changed files with 19 additions and 1 deletions
|
@ -45,7 +45,10 @@ bool Event::SendReply(const base::string16& json) {
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
AtomViewHostMsg_Message_Sync::WriteReplyParams(message_, json);
|
AtomViewHostMsg_Message_Sync::WriteReplyParams(message_, json);
|
||||||
return sender_->Send(message_);
|
bool success = sender_->Send(message_);
|
||||||
|
message_ = NULL;
|
||||||
|
sender_ = NULL;
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
|
|
|
@ -200,6 +200,21 @@ describe('ipc module', function () {
|
||||||
})
|
})
|
||||||
w.loadURL('file://' + path.join(fixtures, 'api', 'send-sync-message.html'))
|
w.loadURL('file://' + path.join(fixtures, 'api', 'send-sync-message.html'))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('does not crash when reply is sent by multiple listeners', function (done) {
|
||||||
|
var w = new BrowserWindow({
|
||||||
|
show: false
|
||||||
|
})
|
||||||
|
ipcMain.on('send-sync-message', function (event) {
|
||||||
|
event.returnValue = null
|
||||||
|
})
|
||||||
|
ipcMain.on('send-sync-message', function (event) {
|
||||||
|
event.returnValue = null
|
||||||
|
w.destroy()
|
||||||
|
done()
|
||||||
|
})
|
||||||
|
w.loadURL('file://' + path.join(fixtures, 'api', 'send-sync-message.html'))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('remote listeners', function () {
|
describe('remote listeners', function () {
|
||||||
|
|
Loading…
Add table
Reference in a new issue