File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed
Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change 1- [ performance ]
1+ // [performance]
22
33const response_bodies = $WPT_BODIES ;
44const script_response_bodies = $WPT_BODIES . filter ( body => body . type === 'Script' ) ;
@@ -347,12 +347,13 @@ async function getSpeculationRules() {
347347 // Get rules from Speculation-Rules HTTP Header on the document
348348 let httpRules = [ ] ;
349349
350- const documentRequest = $WPT_REQUESTS . find ( req => req . url === document . location . href ) ;
350+ // Get the first request matching the navigation as that should be the final document request (after any redirects)
351+ // and only Speculation-Rules HTTP headers on that request count
352+ const documentRequest = $WPT_REQUESTS . find ( req => req . url === performance . getEntriesByType ( 'navigation' ) [ 0 ] . name ) ;
351353 if ( documentRequest ) {
352-
354+ // Get all Speculation-Rules headers
353355 const speculationRulesHeaders = getParameterCaseInsensitive ( documentRequest . response_headers , 'Speculation-Rules' ) ;
354356 if ( speculationRulesHeaders ) {
355-
356357 await Promise . all ( speculationRulesHeaders . split ( ',' ) . map ( async ( speculationRuleLocation ) => {
357358 try {
358359 let url = decodeURI ( speculationRuleLocation ) . slice ( 1 , - 1 ) ;
You can’t perform that action at this time.
0 commit comments