Skip to content

Commit a35ef62

Browse files
jackfranklinDevtools-frontend LUCI CQ
authored andcommitted
RPP: detect URLs for ParseAuthorStyleSheet events
R=nancyly@chromium.org Bug: 400354443 Change-Id: Ifdb048c844bc963560f9980643e70dd5708e64c2 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6524567 Auto-Submit: Jack Franklin <jacktfranklin@chromium.org> Reviewed-by: Nancy Li <nancyly@chromium.org> Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
1 parent 34199e7 commit a35ef62

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

front_end/models/trace/handlers/helpers.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,14 @@ describeWithEnvironment('getNonResolvedURL', () => {
2525
assert.strictEqual(url, profileCall.callFrame.url);
2626
});
2727

28+
it('parses out the URL For a ParseAuthorStyleSheet', async function() {
29+
const {parsedTrace} = await TraceLoader.traceEngine(this, 'web-dev-with-commit.json.gz');
30+
const parseStyle = parsedTrace.Renderer.allTraceEntries.find(Trace.Types.Events.isParseAuthorStyleSheetEvent);
31+
assert.isOk(parseStyle);
32+
const url = Trace.Handlers.Helpers.getNonResolvedURL(parseStyle, parsedTrace);
33+
assert.strictEqual(url, parseStyle.args?.data.url);
34+
});
35+
2836
it('uses the request URL for a network request', async function() {
2937
const {parsedTrace} = await TraceLoader.traceEngine(this, 'web-dev-with-commit.json.gz');
3038
const request = parsedTrace.NetworkRequests.byTime[0];

front_end/models/trace/handlers/helpers.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ export function getNonResolvedURL(
4545
return entry.args.data.url as Platform.DevToolsPath.UrlString;
4646
}
4747

48+
if (Types.Events.isParseAuthorStyleSheetEvent(entry) && entry.args) {
49+
return entry.args.data.stylesheetUrl as Platform.DevToolsPath.UrlString;
50+
}
51+
4852
if (entry.args?.data?.stackTrace && entry.args.data.stackTrace.length > 0) {
4953
return entry.args.data.stackTrace[0].url as Platform.DevToolsPath.UrlString;
5054
}

front_end/models/trace/types/TraceEvents.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2840,6 +2840,19 @@ export function isFlowPhaseEvent(event: Event): event is FlowEvent {
28402840
return event.ph === Phase.FLOW_START || event.ph === Phase.FLOW_STEP || event.ph === Phase.FLOW_END;
28412841
}
28422842

2843+
export interface ParseAuthorStyleSheet extends Complete {
2844+
name: Name.PARSE_AUTHOR_STYLE_SHEET;
2845+
args?: Args&{
2846+
data: {
2847+
stylesheetUrl: string,
2848+
},
2849+
};
2850+
}
2851+
2852+
export function isParseAuthorStyleSheetEvent(event: Event): event is ParseAuthorStyleSheet {
2853+
return event.name === Name.PARSE_AUTHOR_STYLE_SHEET;
2854+
}
2855+
28432856
/**
28442857
* This is an exhaustive list of events we track in the Performance
28452858
* panel. Note not all of them are necessarliry shown in the flame

0 commit comments

Comments
 (0)