@@ -45,7 +45,8 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
4545 } ,
4646 set : ( value : string ) : void => {
4747 if ( value ) {
48- value = value . replace ( / f i l e : \/ \/ / g, "/resource" ) ;
48+ const resourceBaseUrl = location . pathname . replace ( / \/ $ / , "" ) + "/resource" ;
49+ value = value . replace ( / f i l e : \/ \/ / g, resourceBaseUrl ) ;
4950 }
5051 oldSrc ! . set ! . call ( img , value ) ;
5152 } ,
@@ -66,7 +67,8 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
6667 } ,
6768 set : ( value : string ) : void => {
6869 if ( value ) {
69- value = value . replace ( / f i l e : \/ \/ / g, "/resource" ) ;
70+ const resourceBaseUrl = location . pathname . replace ( / \/ $ / , "" ) + "/resource" ;
71+ value = value . replace ( / f i l e : \/ \/ / g, resourceBaseUrl ) ;
7072 }
7173 oldInnerHtml ! . set ! . call ( style , value ) ;
7274 } ,
@@ -80,7 +82,8 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
8082 if ( sheet && ! overridden ) {
8183 const oldInsertRule = sheet . insertRule ;
8284 sheet . insertRule = ( rule : string , index ?: number ) : void => {
83- rule = rule . replace ( / f i l e : \/ \/ / g, "/resource" ) ;
85+ const resourceBaseUrl = location . pathname . replace ( / \/ $ / , "" ) + "/resource" ;
86+ rule = rule . replace ( / f i l e : \/ \/ / g, resourceBaseUrl ) ;
8487 oldInsertRule . call ( sheet , rule , index ) ;
8588 } ;
8689 overridden = true ;
@@ -145,8 +148,9 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
145148 ( view as any ) . send = ( channel : string , ...args : any [ ] ) : void => { // tslint:disable-line no-any
146149 if ( args [ 0 ] && typeof args [ 0 ] === "object" && args [ 0 ] . contents ) {
147150 // TODO
148- args [ 0 ] . contents = ( args [ 0 ] . contents as string ) . replace ( / " ( f i l e : \/ \/ [ ^ " ] * ) " / g, ( m1 ) => `"/resource${ m1 } "` ) ;
149- args [ 0 ] . contents = ( args [ 0 ] . contents as string ) . replace ( / " v s c o d e - r e s o u r c e : ( [ ^ " ] * ) " / g, ( m , m1 ) => `"/resource${ m1 } "` ) ;
151+ const resourceBaseUrl = location . pathname . replace ( / \/ $ / , "" ) + "/resource" ;
152+ args [ 0 ] . contents = ( args [ 0 ] . contents as string ) . replace ( / " ( f i l e : \/ \/ [ ^ " ] * ) " / g, ( m1 ) => `"${ resourceBaseUrl } ${ m1 } "` ) ;
153+ args [ 0 ] . contents = ( args [ 0 ] . contents as string ) . replace ( / " v s c o d e - r e s o u r c e : ( [ ^ " ] * ) " / g, ( m , m1 ) => `"${ resourceBaseUrl } ${ m1 } "` ) ;
150154 args [ 0 ] . contents = ( args [ 0 ] . contents as string ) . replace ( / s t y l e - s r c v s c o d e - c o r e - r e s o u r c e : / g, "style-src 'self'" ) ;
151155 }
152156 if ( view . contentWindow ) {
0 commit comments