File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -356,27 +356,35 @@ var RequestGuard = (() => {
356356 }
357357
358358 let normalizeRequest = request => {
359+
360+ function fakeOriginFromTab ( { tabId} = request ) {
361+ let tab = tabId !== - 1 && TabCache . get ( tabId ) ;
362+ if ( tab ) {
363+ return request . initiator = request . originUrl = request . documentUrl = tab . url ;
364+ }
365+ }
366+
359367 if ( "initiator" in request && ! ( "originUrl" in request ) ) {
360- if ( request . frameId > 0 && request . initiator === "null" ) {
361- // Chromium sandboxed frame?
362- try {
363- request . initiator = request . originUrl = request . documentUrl = TabCache . get ( request . tabId ) . url ;
364- } catch ( e ) { }
368+ if ( request . initiator === "null" ) {
369+ // Chromium sandboxed content?
370+ fakeOriginFromTab ( ) ;
365371 }
366372 request . originUrl = request . initiator ;
367373 if ( request . type !== "main_frame" && ! ( "documentUrl" in request ) ) {
368374 request . documentUrl = request . initiator ;
369375 }
370376 }
371- if ( "frameAncestors" in request && ( ! request . originUrl || request . documentUrl ) && request . frameAncestors . length > 0 ) {
372- // Gecko sandboxed frame ?
377+ if ( "frameAncestors" in request && ( ! request . originUrl || request . documentUrl ) ) {
378+ // Gecko sandboxed content ?
373379 for ( let f of request . frameAncestors ) {
374380 if ( f . url !== "null" && ! f . url . startsWith ( "moz-nullprincipal:" ) ) {
375381 request . originUrl = request . documentUrl = f . url ;
376382 break ;
377383 }
378384 }
379-
385+ if ( ! request . originUrl ) {
386+ fakeOriginFromTab ( ) ;
387+ }
380388 }
381389 } ;
382390
You can’t perform that action at this time.
0 commit comments