feat: add <webview> 'did-redirect-navigation' event (#30457)

This commit is contained in:
Milan Burda 2021-08-23 16:26:00 +02:00 committed by GitHub
parent 34f1bc0e82
commit aad1c0d493
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 53 additions and 0 deletions

View file

@ -564,6 +564,45 @@ describe('<webview> tag', function () {
});
});
describe('did-redirect-navigation event', () => {
let server = null;
let uri = null;
before((done) => {
server = http.createServer((req, res) => {
if (req.url === '/302') {
res.setHeader('Location', '/200');
res.statusCode = 302;
res.end();
} else {
res.end();
}
});
server.listen(0, '127.0.0.1', () => {
uri = `http://127.0.0.1:${(server.address()).port}`;
done();
});
});
after(() => {
server.close();
});
it('is emitted on redirects', async () => {
loadWebView(webview, {
src: `${uri}/302`
});
const event = await waitForEvent(webview, 'did-redirect-navigation');
expect(event.url).to.equal(`${uri}/200`);
expect(event.isInPlace).to.be.false();
expect(event.isMainFrame).to.be.true();
expect(event.frameProcessId).to.be.a('number');
expect(event.frameRoutingId).to.be.a('number');
});
});
describe('will-navigate event', () => {
it('emits when a url that leads to oustide of the page is clicked', async () => {
loadWebView(webview, {