{
+ setSidebarLocation('bottom');
+ }} />
+ ]}
+ mode={!browserCollapsed && sidebarLocation === 'right' ? 'select' : 'default'}
+ />;
+
return
{!hideTimeline && }
+ main={browserCollapsed ? propertiesView : snapshotView}
sidebar={
}
/>}
- sidebar={ {
- setSidebarLocation('right');
- }} /> :
- {
- setSidebarLocation('bottom');
- }} />
- ]}
- mode={sidebarLocation === 'bottom' ? 'default' : 'select'}
- />}
+ sidebar={propertiesView}
/>
;
};
diff --git a/tests/library/trace-viewer.spec.ts b/tests/library/trace-viewer.spec.ts
index e8bc8e1d359c3..a7030d5c1386e 100644
--- a/tests/library/trace-viewer.spec.ts
+++ b/tests/library/trace-viewer.spec.ts
@@ -459,6 +459,22 @@ test('should have correct snapshot size', async ({ showTraceViewer }, testInfo)
await expect(traceViewer.snapshotContainer).toHaveCSS('height', '600px');
});
+test('should collapse and expand browser', async ({ showTraceViewer }) => {
+ const traceViewer = await showTraceViewer(traceFile);
+ await traceViewer.selectAction('Click');
+ await expect(traceViewer.snapshotContainer).toBeVisible();
+
+ // Collapse the browser, the network/properties panel becomes the central panel.
+ await traceViewer.page.getByRole('button', { name: 'Collapse browser' }).click();
+ await expect(traceViewer.snapshotContainer).toBeHidden();
+ await traceViewer.showNetworkTab();
+ await expect(traceViewer.networkRequests.first()).toBeVisible();
+
+ // Restore the browser.
+ await traceViewer.page.getByRole('button', { name: 'Show browser' }).click();
+ await expect(traceViewer.snapshotContainer).toBeVisible();
+});
+
test('should have correct stack trace', async ({ showTraceViewer }) => {
const traceViewer = await showTraceViewer(traceFile);