diff --git a/spec-main/extensions-spec.ts b/spec-main/extensions-spec.ts index e69d8eb85622a..ba96efb880f31 100644 --- a/spec-main/extensions-spec.ts +++ b/spec-main/extensions-spec.ts @@ -207,6 +207,17 @@ ifdescribe(process.electronBinding('features').isExtensionsEnabled())('chrome ex const receivedMessage = await w.webContents.executeJavaScript(`window.completionPromise`) expect(receivedMessage).to.deep.equal({ some: 'message' }) }) + + it('can open devtools of background page', async () => { + const customSession = session.fromPartition(`persist:${require('uuid').v4()}`) + await customSession.loadExtension(path.join(fixtures, 'extensions', 'persistent-background-page')) + const w = new BrowserWindow({ show: false, webPreferences: { session: customSession } }) + const promise = emittedOnce(app, 'web-contents-created') + await w.loadURL(`about:blank`) + const [, bgPageContents] = await promise + expect(bgPageContents.getType()).to.equal('backgroundPage') + bgPageContents.openDevTools() + }) }) describe('devtools extensions', () => { diff --git a/spec-main/fixtures/extensions/persistent-background-page/background.js b/spec-main/fixtures/extensions/persistent-background-page/background.js new file mode 100644 index 0000000000000..2a49b2bd9e686 --- /dev/null +++ b/spec-main/fixtures/extensions/persistent-background-page/background.js @@ -0,0 +1 @@ +/* eslint-disable no-undef */ diff --git a/spec-main/fixtures/extensions/persistent-background-page/manifest.json b/spec-main/fixtures/extensions/persistent-background-page/manifest.json new file mode 100644 index 0000000000000..bbfe42a5d94b6 --- /dev/null +++ b/spec-main/fixtures/extensions/persistent-background-page/manifest.json @@ -0,0 +1,9 @@ +{ + "name": "persistent-background-page", + "version": "1.0", + "background": { + "scripts": ["background.js"], + "persistent": true + }, + "manifest_version": 2 +}