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

Co-authored-by: Jeremy Rose <jeremya@chromium.org>
This commit is contained in:
trop[bot]
2021-06-25 17:11:01 +09:00
committed by GitHub
parent 5c3670c68c
commit 272f9db3f8
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

@@ -322,6 +322,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', () => {