This reverts commit 048d6669fd.
This change caused the crash for
https://github.com/microsoft/playwright/issues/30339#issuecomment-2049870789.
If we don't execute this code, it does not crash.
Reverting it for now until the Chromium fix lands in Beta/Stable.
This commit is contained in:
parent
15c29f4a91
commit
96053ed0b5
|
|
@ -1692,17 +1692,6 @@ export class Frame extends SdkObject {
|
||||||
if (db.name)
|
if (db.name)
|
||||||
indexedDB.deleteDatabase(db.name!);
|
indexedDB.deleteDatabase(db.name!);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clean StorageManager
|
|
||||||
const root = await navigator.storage.getDirectory();
|
|
||||||
const entries = await (root as any).entries();
|
|
||||||
// Manual loop instead of for await because in Firefox's utility context instanceof AsyncIterable is not working.
|
|
||||||
let entry = await entries.next();
|
|
||||||
while (!entry.done) {
|
|
||||||
const [name] = entry.value;
|
|
||||||
await root.removeEntry(name, { recursive: true });
|
|
||||||
entry = await entries.next();
|
|
||||||
}
|
|
||||||
}, { ls: newStorage?.localStorage }).catch(() => {});
|
}, { ls: newStorage?.localStorage }).catch(() => {});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,16 +15,13 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { browserTest, expect } from '../config/browserTest';
|
import { browserTest, expect } from '../config/browserTest';
|
||||||
import type { BrowserContext, BrowserContextOptions } from '@playwright/test';
|
import type { BrowserContext } from '@playwright/test';
|
||||||
|
|
||||||
const test = browserTest.extend<{ reusedContext: (options?: BrowserContextOptions) => Promise<BrowserContext> }>({
|
const test = browserTest.extend<{ reusedContext: () => Promise<BrowserContext> }>({
|
||||||
reusedContext: async ({ browserType, browser }, use) => {
|
reusedContext: async ({ browserType, browser }, use) => {
|
||||||
await use(async (options: BrowserContextOptions = {}) => {
|
await use(async () => {
|
||||||
const defaultContextOptions = (browserType as any)._defaultContextOptions;
|
const defaultContextOptions = (browserType as any)._defaultContextOptions;
|
||||||
const context = await (browser as any)._newContextForReuse({
|
const context = await (browser as any)._newContextForReuse(defaultContextOptions);
|
||||||
...defaultContextOptions,
|
|
||||||
...options,
|
|
||||||
});
|
|
||||||
return context;
|
return context;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -238,33 +235,6 @@ test('should reset mouse position', async ({ reusedContext, browserName, platfor
|
||||||
await expect(page.locator('#two')).toHaveCSS('background-color', 'rgb(0, 0, 255)');
|
await expect(page.locator('#two')).toHaveCSS('background-color', 'rgb(0, 0, 255)');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should reset Origin Private File System', async ({ reusedContext, httpsServer, browserName }) => {
|
|
||||||
test.skip(browserName === 'webkit', 'getDirectory is not supported in ephemeral context in WebKit https://github.com/microsoft/playwright/issues/18235#issuecomment-1289792576');
|
|
||||||
test.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/29901' });
|
|
||||||
|
|
||||||
let context = await reusedContext({ ignoreHTTPSErrors: true });
|
|
||||||
let page = await context.newPage();
|
|
||||||
await page.goto(httpsServer.EMPTY_PAGE);
|
|
||||||
await page.evaluate(async () => {
|
|
||||||
const root = await navigator.storage.getDirectory();
|
|
||||||
await root.getDirectoryHandle('someDirectoryName', { create: true });
|
|
||||||
await root.getFileHandle('foo.txt', { create: true });
|
|
||||||
});
|
|
||||||
|
|
||||||
context = await reusedContext({ ignoreHTTPSErrors: true });
|
|
||||||
page = await context.newPage();
|
|
||||||
await page.goto(httpsServer.EMPTY_PAGE);
|
|
||||||
const { directoryExits, fileExits } = await page.evaluate(async () => {
|
|
||||||
const root = await navigator.storage.getDirectory();
|
|
||||||
let directoryExits = true, fileExits = true;
|
|
||||||
await root.getDirectoryHandle('someDirectoryName').catch(() => { directoryExits = false; });
|
|
||||||
await root.getFileHandle('foo.txt').catch(() => { fileExits = false; });
|
|
||||||
return { directoryExits, fileExits };
|
|
||||||
});
|
|
||||||
expect(directoryExits).toBe(false);
|
|
||||||
expect(fileExits).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('should reset tracing', async ({ reusedContext, trace }, testInfo) => {
|
test('should reset tracing', async ({ reusedContext, trace }, testInfo) => {
|
||||||
test.skip(trace === 'on');
|
test.skip(trace === 'on');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue