fix: allow persistent media salts (#22386)

* fix: allow persistent media salts

* chore: add regression test for persistent media device ids across reloads
This commit is contained in:
Samuel Attard 2020-02-26 16:03:55 -08:00 committed by GitHub
parent fc54db11f3
commit ee04c7f7ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 2 deletions

View file

@ -694,6 +694,21 @@ describe('chromium features', () => {
expect(labels.some((l: any) => l)).to.be.false()
})
it('returns the same device ids across reloads', async () => {
const ses = session.fromPartition('persist:media-device-id')
const w = new BrowserWindow({
show: false,
webPreferences: {
nodeIntegration: true,
session: ses
}
})
w.loadFile(path.join(fixturesPath, 'pages', 'media-id-reset.html'))
const [, firstDeviceIds] = await emittedOnce(ipcMain, 'deviceIds')
const [, secondDeviceIds] = await emittedOnce(ipcMain, 'deviceIds', () => w.webContents.reload())
expect(firstDeviceIds).to.deep.equal(secondDeviceIds)
})
it('can return new device id when cookie storage is cleared', async () => {
const ses = session.fromPartition('persist:media-device-id')
const w = new BrowserWindow({
@ -706,8 +721,7 @@ describe('chromium features', () => {
w.loadFile(path.join(fixturesPath, 'pages', 'media-id-reset.html'))
const [, firstDeviceIds] = await emittedOnce(ipcMain, 'deviceIds')
await ses.clearStorageData({ storages: ['cookies'] })
w.webContents.reload()
const [, secondDeviceIds] = await emittedOnce(ipcMain, 'deviceIds')
const [, secondDeviceIds] = await emittedOnce(ipcMain, 'deviceIds', () => w.webContents.reload())
expect(firstDeviceIds).to.not.deep.equal(secondDeviceIds)
})
})