File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -46,12 +46,15 @@ export default class ChromeStorage {
4646 const ret : { [ key : string ] : any } = { } ;
4747 const prefix = this . buildKey ( "" ) ;
4848 this . storage . get ( ( items ) => {
49+ if ( ! items ) {
50+ return resolve ( { } ) ;
51+ }
4952 Object . keys ( items ) . forEach ( ( key ) => {
5053 if ( key . startsWith ( prefix ) ) {
5154 ret [ key . substring ( prefix . length ) ] = items [ key ] ;
5255 }
5356 } ) ;
54- resolve ( ret ) ;
57+ return resolve ( ret ) ;
5558 } ) ;
5659 } ) ;
5760 }
Original file line number Diff line number Diff line change @@ -175,13 +175,17 @@ export function listenerWebRequest(headerFlag: string) {
175175 chrome . webRequest . onHeadersReceived . addListener (
176176 ( details ) => {
177177 if ( ! isExtensionRequest ( details ) ) {
178- // 判断是否为页面请求
179- if (
180- ! ( details . type === "main_frame" || details . type === "sub_frame" ) ||
181- ! isFirefox ( )
182- ) {
178+ // 只对firefox进行处理
179+ if ( ! isFirefox ( ) ) {
183180 return { } ;
184181 }
182+ // 判断是否为页面请求
183+ if ( ! ( details . type === "main_frame" || details . type === "sub_frame" ) ) {
184+ // 处理service worker的情况
185+ if ( ! ( details . type === "xmlhttprequest" && details . tabId === - 1 ) ) {
186+ return { } ;
187+ }
188+ }
185189 // 判断页面上是否有脚本会运行,如果有判断是否有csp,有则移除csp策略
186190 const runtime = IoC . instance ( Runtime ) as Runtime ;
187191 // 这块代码与runtime里的pageLoad一样,考虑后面要不要优化
@@ -197,16 +201,17 @@ export function listenerWebRequest(headerFlag: string) {
197201 } ) ;
198202 if ( result . length > 0 && details . responseHeaders ) {
199203 // 移除csp
204+ const newResponseHeaders : chrome . webRequest . HttpHeader [ ] = [ ] ;
200205 for ( let i = 0 ; i < details . responseHeaders . length ; i += 1 ) {
201206 if (
202- details . responseHeaders [ i ] . name . toLowerCase ( ) = ==
207+ details . responseHeaders [ i ] . name . toLowerCase ( ) ! ==
203208 "content-security-policy"
204209 ) {
205- details . responseHeaders [ i ] . value = "" ;
210+ newResponseHeaders . push ( details . responseHeaders [ i ] ) ;
206211 }
207212 }
208213 return {
209- responseHeaders : details . responseHeaders ,
214+ responseHeaders : newResponseHeaders ,
210215 } ;
211216 }
212217 return { } ;
You can’t perform that action at this time.
0 commit comments