@@ -45,7 +45,8 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
45
45
} ,
46
46
set : ( value : string ) : void => {
47
47
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 ) ;
49
50
}
50
51
oldSrc ! . set ! . call ( img , value ) ;
51
52
} ,
@@ -66,7 +67,8 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
66
67
} ,
67
68
set : ( value : string ) : void => {
68
69
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 ) ;
70
72
}
71
73
oldInnerHtml ! . set ! . call ( style , value ) ;
72
74
} ,
@@ -80,7 +82,8 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
80
82
if ( sheet && ! overridden ) {
81
83
const oldInsertRule = sheet . insertRule ;
82
84
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 ) ;
84
87
oldInsertRule . call ( sheet , rule , index ) ;
85
88
} ;
86
89
overridden = true ;
@@ -145,8 +148,9 @@ const newCreateElement = <K extends keyof HTMLElementTagNameMap>(tagName: K): HT
145
148
( view as any ) . send = ( channel : string , ...args : any [ ] ) : void => { // tslint:disable-line no-any
146
149
if ( args [ 0 ] && typeof args [ 0 ] === "object" && args [ 0 ] . contents ) {
147
150
// 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 } "` ) ;
150
154
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'" ) ;
151
155
}
152
156
if ( view . contentWindow ) {
0 commit comments