diff --git a/packages/trace-viewer/src/ui/modelUtil.ts b/packages/trace-viewer/src/ui/modelUtil.ts
index 313ec700c7..5949f4406c 100644
--- a/packages/trace-viewer/src/ui/modelUtil.ts
+++ b/packages/trace-viewer/src/ui/modelUtil.ts
@@ -409,3 +409,11 @@ function collectSources(actions: trace.ActionTraceEvent[], errorDescriptors: Err
}
return result;
}
+
+const kRouteMethods = new Set([
+ 'page.route', 'page.routefromhar', 'page.unroute', 'page.unrouteall',
+ 'browsercontext.route', 'browsercontext.routefromhar', 'browsercontext.unroute', 'browsercontext.unrouteall',
+]);
+export function isRouteAction(action: ActionTraceEventInContext) {
+ return action.class === 'Route' || kRouteMethods.has(action.apiName.toLowerCase());
+}
diff --git a/packages/trace-viewer/src/ui/uiModeView.css b/packages/trace-viewer/src/ui/uiModeView.css
index f7463aaaac..de89b911c3 100644
--- a/packages/trace-viewer/src/ui/uiModeView.css
+++ b/packages/trace-viewer/src/ui/uiModeView.css
@@ -24,7 +24,7 @@
}
.ui-mode-sidebar > .settings-view {
- margin: 0 0 3px 23px;
+ margin: 0 0 8px 23px;
}
.ui-mode-sidebar input[type=search] {
diff --git a/packages/trace-viewer/src/ui/uiModeView.tsx b/packages/trace-viewer/src/ui/uiModeView.tsx
index 7c1ed69905..5a69c84d2c 100644
--- a/packages/trace-viewer/src/ui/uiModeView.tsx
+++ b/packages/trace-viewer/src/ui/uiModeView.tsx
@@ -98,6 +98,7 @@ export const UIModeView: React.FC<{}> = ({
const [testingOptionsVisible, setTestingOptionsVisible] = React.useState(false);
const [revealSource, setRevealSource] = React.useState(false);
const onRevealSource = React.useCallback(() => setRevealSource(true), [setRevealSource]);
+ const showTestingOptions = false;
const [runWorkers, setRunWorkers] = React.useState(queryParams.workers);
const singleWorkerSetting = React.useMemo(() => {
@@ -497,19 +498,21 @@ export const UIModeView: React.FC<{}> = ({
setFilterText={setFilterText}
onRevealSource={onRevealSource}
/>
- setTestingOptionsVisible(!testingOptionsVisible)}>
-
- Testing Options
-
- {testingOptionsVisible && }
+ {showTestingOptions && <>
+ setTestingOptionsVisible(!testingOptionsVisible)}>
+
+ Testing Options
+
+ {testingOptionsVisible && }
+ >}
setSettingsVisible(!settingsVisible)}>
void,
+ initialSelection?: modelUtil.ActionTraceEventInContext,
+ onSelectionChanged?: (action: modelUtil.ActionTraceEventInContext) => void,
isLive?: boolean,
status?: UITestStatus,
inert?: boolean,
@@ -58,9 +58,9 @@ export const Workbench: React.FunctionComponent<{
onOpenExternally?: (location: modelUtil.SourceLocation) => void,
revealSource?: boolean,
}> = ({ showRouteActionsSetting, model, showSourcesFirst, rootDir, fallbackLocation, initialSelection, onSelectionChanged, isLive, status, inert, openPage, onOpenExternally, revealSource }) => {
- const [selectedAction, setSelectedActionImpl] = React.useState(undefined);
+ const [selectedAction, setSelectedActionImpl] = React.useState(undefined);
const [revealedStack, setRevealedStack] = React.useState(undefined);
- const [highlightedAction, setHighlightedAction] = React.useState();
+ const [highlightedAction, setHighlightedAction] = React.useState();
const [highlightedEntry, setHighlightedEntry] = React.useState();
const [highlightedConsoleMessage, setHighlightedConsoleMessage] = React.useState();
const [selectedNavigatorTab, setSelectedNavigatorTab] = React.useState('actions');
@@ -77,10 +77,10 @@ export const Workbench: React.FunctionComponent<{
const showRouteActions = showRouteActionsSetting[0];
const filteredActions = React.useMemo(() => {
- return (model?.actions || []).filter(action => showRouteActions || action.class !== 'Route');
+ return (model?.actions || []).filter(action => showRouteActions || !isRouteAction(action));
}, [model, showRouteActions]);
- const setSelectedAction = React.useCallback((action: ActionTraceEventInContext | undefined) => {
+ const setSelectedAction = React.useCallback((action: modelUtil.ActionTraceEventInContext | undefined) => {
setSelectedActionImpl(action);
setRevealedStack(action?.stack);
}, [setSelectedActionImpl, setRevealedStack]);
@@ -113,7 +113,7 @@ export const Workbench: React.FunctionComponent<{
}
}, [model, selectedAction, setSelectedAction, initialSelection]);
- const onActionSelected = React.useCallback((action: ActionTraceEventInContext) => {
+ const onActionSelected = React.useCallback((action: modelUtil.ActionTraceEventInContext) => {
setSelectedAction(action);
onSelectionChanged?.(action);
}, [setSelectedAction, onSelectionChanged]);
diff --git a/tests/library/trace-viewer.spec.ts b/tests/library/trace-viewer.spec.ts
index 6e79ccf0e4..43a42512fd 100644
--- a/tests/library/trace-viewer.spec.ts
+++ b/tests/library/trace-viewer.spec.ts
@@ -1357,7 +1357,6 @@ test('should allow hiding route actions', {
await traceViewer.page.getByRole('checkbox', { name: 'Show route actions' }).uncheck();
await traceViewer.page.getByText('Actions', { exact: true }).click();
await expect(traceViewer.actionTitles).toHaveText([
- /page.route/,
/page.goto.*empty.html/,
]);