fix: deny instead of canceling when certificate-error passes false (#29826)

This commit is contained in:
Jeremy Rose 2021-06-23 16:40:51 -07:00 committed by GitHub
parent d9d2f01563
commit 2c01deae03
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 1 deletions

View file

@ -412,7 +412,7 @@ struct Converter<content::CertificateRequestResultType> {
if (!ConvertFromV8(isolate, val, &b))
return false;
*out = b ? content::CERTIFICATE_REQUEST_RESULT_TYPE_CONTINUE
: content::CERTIFICATE_REQUEST_RESULT_TYPE_CANCEL;
: content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY;
return true;
}
};

View file

@ -319,6 +319,24 @@ describe('app module', () => {
w.loadURL(secureUrl);
await emittedOnce(app, 'certificate-error');
});
describe('when denied', () => {
before(() => {
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
callback(false);
});
});
after(() => {
app.removeAllListeners('certificate-error');
});
it('causes did-fail-load', async () => {
const w = new BrowserWindow({ show: false });
w.loadURL(secureUrl);
await emittedOnce(w.webContents, 'did-fail-load');
});
});
});
// xdescribe('app.importCertificate', () => {