Skip to content

Commit 9aa5539

Browse files
authored
feat(trace): Pin copy address button to the right in the address bar (#37802)
1 parent b4eef24 commit 9aa5539

File tree

3 files changed

+11
-18
lines changed

3 files changed

+11
-18
lines changed

packages/trace-viewer/src/ui/browserFrame.css

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,16 @@
2929
font: 400 16px Arial,sans-serif;
3030
margin: 0 16px 0 8px;
3131
padding: 5px 15px;
32-
overflow: hidden;
33-
text-overflow: ellipsis;
34-
white-space: nowrap;
3532
display: flex;
3633
align-items: center;
3734
height: 28px;
3835
}
3936

40-
.browser-frame-address-bar > button {
41-
visibility: hidden;
42-
}
43-
44-
.browser-frame-address-bar:hover > button {
45-
visibility: visible;
37+
.browser-frame-address {
38+
flex: auto;
39+
overflow: hidden;
40+
text-overflow: ellipsis;
41+
white-space: nowrap;
4642
}
4743

4844
.browser-frame-menu-bar {

packages/trace-viewer/src/ui/browserFrame.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export const BrowserFrame: React.FunctionComponent<{
3131
className='browser-frame-address-bar'
3232
title={url || 'about:blank'}
3333
>
34-
{url || 'about:blank'}
34+
<span className='browser-frame-address'>{url || 'about:blank'}</span>
3535
{url && (
3636
<CopyToClipboard value={url} />
3737
)}

tests/library/trace-viewer.spec.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -506,20 +506,17 @@ test('should have network request overrides 2', async ({ page, server, runAndTra
506506
await expect.soft(traceViewer.networkRequests).toContainText([/script.jsGET200application\/javascript.*continued/]);
507507
});
508508

509-
test('should show snapshot URL', async ({ page, runAndTrace, server }) => {
509+
test('should show snapshot URL and copy button', async ({ page, runAndTrace, server }) => {
510510
const traceViewer = await runAndTrace(async () => {
511511
await page.goto(server.EMPTY_PAGE);
512512
await page.evaluate('2+2');
513513
});
514514
await traceViewer.snapshotFrame('Evaluate');
515-
const browserFrameAddressBarLocator = traceViewer.page.locator('.browser-frame-address-bar');
516-
await expect(browserFrameAddressBarLocator).toHaveText(server.EMPTY_PAGE);
517-
const copySelectorLocator = browserFrameAddressBarLocator.getByRole('button', { name: 'Copy' });
518-
await expect(copySelectorLocator).toBeHidden();
519-
await browserFrameAddressBarLocator.hover();
520-
await expect(copySelectorLocator).toBeVisible();
515+
const addressBar = traceViewer.page.locator('.browser-frame-address-bar');
516+
await expect(addressBar).toHaveText(server.EMPTY_PAGE);
517+
521518
await traceViewer.page.context().grantPermissions(['clipboard-read', 'clipboard-write']);
522-
await copySelectorLocator.click();
519+
await addressBar.getByRole('button', { name: 'Copy' }).click();
523520
expect(await traceViewer.page.evaluate(() => navigator.clipboard.readText())).toBe(server.EMPTY_PAGE);
524521
});
525522

0 commit comments

Comments
 (0)