[ve] Fix a circular dependency between cross-tool- and sources-helpers Bug: 356793735 Change-Id: I5515672db2d0ab971efacf716cbb35d9092e30f5 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5752668 Auto-Submit: Danil Somsikov <dsv@chromium.org> Commit-Queue: Danil Somsikov <dsv@chromium.org> Reviewed-by: Alex Rudenko <alexrudenko@chromium.org>
diff --git a/test/e2e/helpers/cross-tool-helper.ts b/test/e2e/helpers/cross-tool-helper.ts index 43b241f..acd41b3 100644 --- a/test/e2e/helpers/cross-tool-helper.ts +++ b/test/e2e/helpers/cross-tool-helper.ts
@@ -53,10 +53,13 @@ return Boolean(tab); }; -export async function reloadDevTools( - options?: DevToolsFrontendReloadOptions& - {expectClosedPanels?: string[], enableExperiments?: string[], disableExperiments?: string[]}) { - const {frontend} = getBrowserAndPages(); +export async function reloadDevTools(options?: DevToolsFrontendReloadOptions&{ + expectClosedPanels?: string[], + enableExperiments?: string[], + disableExperiments?: string[], + removeBackendState?: boolean, +}) { + const {frontend, target} = getBrowserAndPages(); const enableExperiments = options?.enableExperiments || []; const disableExperiments = options?.disableExperiments || []; if (enableExperiments.length || disableExperiments.length) { @@ -70,6 +73,10 @@ } })()`); } + if (options?.removeBackendState) { + // Navigate to a different site to make sure that back-end state will be removed. + await target.goto('about:blank'); + } await baseReloadDevTools(options); const selectedPanel = options?.selectedPanel?.name || options?.queryParams?.panel || 'elements'; await waitFor(`.panel.${selectedPanel}`);
diff --git a/test/e2e/helpers/sources-helpers.ts b/test/e2e/helpers/sources-helpers.ts index dd5ed18..e8cf24c 100644 --- a/test/e2e/helpers/sources-helpers.ts +++ b/test/e2e/helpers/sources-helpers.ts
@@ -34,7 +34,6 @@ } from '../../shared/helper.js'; import {openSoftContextMenuAndClickOnItem} from './context-menu-helpers.js'; -import {reloadDevTools} from './cross-tool-helper.js'; import {veImpression} from './visual-logging-helpers.js'; export const ACTIVE_LINE = '.CodeMirror-activeline > pre > span'; @@ -734,12 +733,6 @@ await frontend.keyboard.up('Shift'); } -export async function refreshDevToolsAndRemoveBackendState(target: puppeteer.Page) { - // Navigate to a different site to make sure that back-end state will be removed. - await target.goto('about:blank'); - await reloadDevTools({selectedPanel: {name: 'sources'}}); -} - export async function enableLocalOverrides() { await clickMoreTabsButton(); await click(OVERRIDES_TAB_SELECTOR);
diff --git a/test/e2e/sources/breakpoint-javascript_test.ts b/test/e2e/sources/breakpoint-javascript_test.ts index d312bab..749bb47 100644 --- a/test/e2e/sources/breakpoint-javascript_test.ts +++ b/test/e2e/sources/breakpoint-javascript_test.ts
@@ -17,6 +17,7 @@ withControlOrMetaKey, } from '../../shared/helper.js'; import {describe, it} from '../../shared/mocha-extensions.js'; +import {reloadDevTools} from '../helpers/cross-tool-helper.js'; import {getMenuItemAtPosition, getMenuItemTitleAtPosition, openFileQuickOpen} from '../helpers/quick_open-helpers.js'; import { addBreakpointForLine, @@ -26,7 +27,6 @@ isEqualOrAbbreviation, openSourceCodeEditorForFile, PAUSE_INDICATOR_SELECTOR, - refreshDevToolsAndRemoveBackendState, RESUME_BUTTON, retrieveTopCallFrameWithoutResuming, } from '../helpers/sources-helpers.js'; @@ -170,7 +170,7 @@ it('can hit a breakpoint on the main thread on a fresh DevTools', async () => { await enableExperiment('instrumentation-breakpoints'); - const {frontend, target} = getBrowserAndPages(); + const {frontend} = getBrowserAndPages(); await step('navigate to a page and open the Sources tab', async () => { await openSourceCodeEditorForFile('breakpoint-hit-on-first-load.js', 'breakpoint-hit-on-first-load.html'); @@ -181,7 +181,7 @@ }); await step('Navigate to a different site to refresh devtools and remove back-end state', async () => { - await refreshDevToolsAndRemoveBackendState(target); + await reloadDevTools({removeBackendState: true, selectedPanel: {name: 'sources'}}); }); await step('Navigate back to test page', () => { @@ -204,7 +204,7 @@ '[crbug.com/1229541] can hit a breakpoint in an inline script on the main thread on a fresh DevTools', async () => { await enableExperiment('instrumentation-breakpoints'); - const {frontend, target} = getBrowserAndPages(); + const {frontend} = getBrowserAndPages(); await step('navigate to a page and open the Sources tab', async () => { await openSourceCodeEditorForFile('breakpoint-hit-on-first-load.html', 'breakpoint-hit-on-first-load.html'); @@ -215,7 +215,7 @@ }); await step('Navigate to a different site to refresh devtools and remove back-end state', async () => { - await refreshDevToolsAndRemoveBackendState(target); + await reloadDevTools({removeBackendState: true, selectedPanel: {name: 'sources'}}); }); await step('Navigate back to test page', () => { @@ -235,7 +235,7 @@ it('can hit a breakpoint in an inline script with sourceURL comment on the main thread on a fresh DevTools', async () => { await enableExperiment('instrumentation-breakpoints'); - const {frontend, target} = getBrowserAndPages(); + const {frontend} = getBrowserAndPages(); await step('navigate to a page and open the Sources tab', async () => { await openSourceCodeEditorForFile('breakpoint-hit-on-first-load.html', 'breakpoint-hit-on-first-load.html'); @@ -256,7 +256,7 @@ }); await step('Navigate to a different site to refresh devtools and remove back-end state', async () => { - await refreshDevToolsAndRemoveBackendState(target); + await reloadDevTools({removeBackendState: true, selectedPanel: {name: 'sources'}}); }); await step('Navigate back to test page', () => {
diff --git a/test/e2e/sources/sourcemap_test.ts b/test/e2e/sources/sourcemap_test.ts index c6f434b..7528cf7 100644 --- a/test/e2e/sources/sourcemap_test.ts +++ b/test/e2e/sources/sourcemap_test.ts
@@ -24,6 +24,7 @@ import {describe, it} from '../../shared/mocha-extensions.js'; import {CONSOLE_TAB_SELECTOR, focusConsolePrompt, getCurrentConsoleMessages} from '../helpers/console-helpers.js'; import {openSoftContextMenuAndClickOnItem} from '../helpers/context-menu-helpers.js'; +import {reloadDevTools} from '../helpers/cross-tool-helper.js'; import { clickNthChildOfSelectedElementNode, focusElementsTree, @@ -42,7 +43,6 @@ openSourceCodeEditorForFile, openSourcesPanel, PAUSE_INDICATOR_SELECTOR, - refreshDevToolsAndRemoveBackendState, reloadPageAndWaitForSourceFile, removeBreakpointForLine, RESUME_BUTTON, @@ -400,7 +400,7 @@ it('reliably hits breakpoints on worker with source map', async () => { await enableExperiment('instrumentation-breakpoints'); - const {target, frontend} = getBrowserAndPages(); + const {frontend} = getBrowserAndPages(); await openSourceCodeEditorForFile('sourcemap-stepping-source.js', 'sourcemap-breakpoint.html'); await step('Add a breakpoint at first line of function multiline', async () => { @@ -408,7 +408,7 @@ }); await step('Navigate to a different site to refresh devtools and remove back-end state', async () => { - await refreshDevToolsAndRemoveBackendState(target); + await reloadDevTools({removeBackendState: true, selectedPanel: {name: 'sources'}}); }); await step('Navigate back to test page', () => {