@@ -76,6 +76,12 @@ export class BackgroundGrant {
7676 send ( this . rand ) ;
7777 } ) ;
7878 try {
79+ const reqOpt = [ 'blocking' , 'requestHeaders' ] ;
80+ const respOpt = [ 'blocking' , 'responseHeaders' ] ;
81+ if ( ! isFirefox ( ) ) {
82+ reqOpt . push ( 'extraHeaders' ) ;
83+ respOpt . push ( 'extraHeaders' ) ;
84+ }
7985 chrome . webRequest . onBeforeSendHeaders . addListener ( ( data ) => {
8086 let setCookie = '' ;
8187 let cookie = '' ;
@@ -158,10 +164,11 @@ export class BackgroundGrant {
158164 }
159165 } , {
160166 urls : [ '<all_urls>' ] ,
161- } , [ 'blocking' , 'requestHeaders' , 'extraHeaders' ] ) ;
167+ } , reqOpt ) ;
162168 const responseHeader : { [ key : string ] : boolean } = { 'set-cookie' : true } ;
163- chrome . webRequest . onHeadersReceived . addListener ( ( details ) => {
164- if ( details . initiator && chrome . extension . getURL ( '' ) . startsWith ( details . initiator ) ) {
169+ chrome . webRequest . onHeadersReceived . addListener ( ( details : chrome . webRequest . WebResponseHeadersDetails & { originUrl ?: string } ) => {
170+ if ( ( details . initiator && chrome . extension . getURL ( '' ) . startsWith ( details . initiator ) ) ||
171+ ( details . originUrl && details . originUrl . startsWith ( chrome . extension . getURL ( '' ) ) ) ) {
165172 details . responseHeaders ?. forEach ( val => {
166173 if ( responseHeader [ val . name ] ) {
167174 details . responseHeaders ?. push ( {
@@ -177,8 +184,9 @@ export class BackgroundGrant {
177184 }
178185 } , {
179186 urls : [ '<all_urls>' ] ,
180- } , [ 'blocking' , 'responseHeaders' , 'extraHeaders' ] ) ;
187+ } , respOpt ) ;
181188 } catch ( e ) {
189+ console . log ( e ) ;
182190 }
183191 }
184192
@@ -223,8 +231,6 @@ export class BackgroundGrant {
223231 // TODO: 使用map优化效率
224232 if ( ! permission . default ) {
225233 let flag = false ;
226- console . log ( metaGrant ) ;
227- console . log ( propertyName ) ;
228234 for ( let i = 0 ; i < metaGrant . length ; i ++ ) {
229235 if ( metaGrant [ i ] == propertyName || metaGrant [ i ] . replace ( '.' , '_' ) == propertyName ) {
230236 flag = true ;
0 commit comments