diff --git a/spec/chromium-spec.ts b/spec/chromium-spec.ts index da0a183d1e7b..f7db52bf31ba 100644 --- a/spec/chromium-spec.ts +++ b/spec/chromium-spec.ts @@ -3271,7 +3271,12 @@ describe('navigator.clipboard.read', () => { await w.loadFile(path.join(fixturesPath, 'pages', 'blank.html')); }); - const readClipboard: any = () => { + const readClipboard = async () => { + if (!w.webContents.isFocused()) { + const focus = once(w.webContents, 'focus'); + w.webContents.focus(); + await focus; + } return w.webContents.executeJavaScript(` navigator.clipboard.read().then(clipboard => clipboard.toString()).catch(err => err.message); `, true); @@ -3289,11 +3294,7 @@ describe('navigator.clipboard.read', () => { it('returns an error when permission denied', async () => { session.defaultSession.setPermissionRequestHandler((wc, permission, callback) => { - if (permission === 'clipboard-read') { - callback(false); - } else { - callback(true); - } + callback(permission !== 'clipboard-read'); }); const clipboard = await readClipboard(); expect(clipboard).to.contain('Read permission denied.'); @@ -3301,11 +3302,7 @@ describe('navigator.clipboard.read', () => { it('returns clipboard contents when permission is granted', async () => { session.defaultSession.setPermissionRequestHandler((wc, permission, callback) => { - if (permission === 'clipboard-read') { - callback(true); - } else { - callback(false); - } + callback(permission === 'clipboard-read'); }); const clipboard = await readClipboard(); expect(clipboard).to.not.contain('Read permission denied.'); @@ -3319,7 +3316,12 @@ describe('navigator.clipboard.write', () => { await w.loadFile(path.join(fixturesPath, 'pages', 'blank.html')); }); - const writeClipboard: any = () => { + const writeClipboard = async () => { + if (!w.webContents.isFocused()) { + const focus = once(w.webContents, 'focus'); + w.webContents.focus(); + await focus; + } return w.webContents.executeJavaScript(` navigator.clipboard.writeText('Hello World!').catch(err => err.message); `, true); @@ -3361,7 +3363,13 @@ describe('navigator.clipboard.write', () => { }); describe('paste execCommand', () => { - const readClipboard: any = (w: BrowserWindow) => { + const readClipboard = async (w: BrowserWindow) => { + if (!w.webContents.isFocused()) { + const focus = once(w.webContents, 'focus'); + w.webContents.focus(); + await focus; + } + return w.webContents.executeJavaScript(` new Promise((resolve) => { const timeout = setTimeout(() => {