diff --git a/spec-main/api-web-contents-spec.ts b/spec-main/api-web-contents-spec.ts index 132d778f8ed2..766160e741dc 100644 --- a/spec-main/api-web-contents-spec.ts +++ b/spec-main/api-web-contents-spec.ts @@ -1383,8 +1383,7 @@ describe('webContents module', () => { } }); - // TODO (jkleinsc) - reenable this test on WOA once https://github.com/electron/electron/issues/26045 is resolved - ifdescribe(process.platform !== 'win32' || process.arch !== 'arm64')('did-change-theme-color event', () => { + describe('did-change-theme-color event', () => { afterEach(closeAllWindows); it('is triggered with correct theme color', (done) => { const w = new BrowserWindow({ show: true }); diff --git a/spec-main/webview-spec.ts b/spec-main/webview-spec.ts index 1ae50a80581b..958aa358a13f 100644 --- a/spec-main/webview-spec.ts +++ b/spec-main/webview-spec.ts @@ -1,4 +1,5 @@ import * as path from 'path'; +import * as url from 'url'; import { BrowserWindow, session, ipcMain, app, WebContents } from 'electron/main'; import { closeAllWindows } from './window-helpers'; import { emittedOnce, emittedUntil } from './events-helpers'; @@ -181,6 +182,31 @@ describe(' tag', function () { }); }); + describe('did-change-theme-color event', () => { + it('emits when theme color changes', async () => { + const w = new BrowserWindow({ + webPreferences: { + webviewTag: true + } + }); + await w.loadURL('about:blank'); + const src = url.format({ + pathname: `${fixtures.replace(/\\/g, '/')}/pages/theme-color.html`, + protocol: 'file', + slashes: true + }); + const message = await w.webContents.executeJavaScript(`new Promise((resolve, reject) => { + const webview = new WebView() + webview.setAttribute('src', '${src}') + webview.addEventListener('did-change-theme-color', (e) => { + resolve('ok') + }) + document.body.appendChild(webview) + })`); + expect(message).to.equal('ok'); + }); + }); + it('loads devtools extensions registered on the parent window', async () => { const w = new BrowserWindow({ show: false, diff --git a/spec/webview-spec.js b/spec/webview-spec.js index eb68ad954bff..d44e91963e9e 100644 --- a/spec/webview-spec.js +++ b/spec/webview-spec.js @@ -992,16 +992,6 @@ describe(' tag', function () { }); }); - // TODO (jkleinsc) - reenable this test on WOA once https://github.com/electron/electron/issues/26045 is resolved - ifdescribe(process.platform !== 'win32' || process.arch !== 'arm64')('did-change-theme-color event', () => { - it('emits when theme color changes', async () => { - loadWebView(webview, { - src: `file://${fixtures}/pages/theme-color.html` - }); - await waitForEvent(webview, 'did-change-theme-color'); - }); - }); - describe('.getWebContentsId', () => { it('can return the WebContents ID', async () => { const src = 'about:blank';