fix: send null in debugger callback when no error (#14814)

Fixes #13811
This commit is contained in:
Samuel Attard 2018-09-27 17:43:45 +10:00 committed by GitHub
parent 985d35fc1c
commit 7dc7cd1d89
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 4 deletions

View file

@ -67,14 +67,17 @@ void Debugger::DispatchProtocolMessage(DevToolsAgentHost* agent_host,
return;
base::DictionaryValue* error_body = nullptr;
base::DictionaryValue error;
if (dict->GetDictionary("error", &error_body))
bool has_error;
if ((has_error = dict->GetDictionary("error", &error_body))) {
error.Swap(error_body);
}
base::DictionaryValue* result_body = nullptr;
base::DictionaryValue result;
if (dict->GetDictionary("result", &result_body))
result.Swap(result_body);
send_command_callback.Run(error, result);
send_command_callback.Run(has_error ? error.Clone() : base::Value(),
result);
}
}

View file

@ -111,7 +111,7 @@ describe('debugger module', () => {
}
const callback = (err, res) => {
expect(err.message).to.be.undefined()
expect(err).to.be.null()
expect(res.wasThrown).to.be.undefined()
expect(res.result.value).to.equal(6)
@ -131,7 +131,7 @@ describe('debugger module', () => {
return done(`unexpected error : ${err}`)
}
const callback = (err, res) => {
expect(err.message).to.be.undefined()
expect(err).to.be.null()
expect(res.wasThrown).to.be.undefined()
expect(res.result.value).to.equal(6)
w.webContents.debugger.detach()
@ -178,6 +178,7 @@ describe('debugger module', () => {
}
w.webContents.debugger.sendCommand('Test', err => {
expect(err).to.not.be.null()
expect(err.message).to.equal("'Test' wasn't found")
w.webContents.debugger.detach()
done()