trusted-prevent-dom-bypass
1 parent 5e9737d commit 68a256bCopy full SHA for 68a256b
1 file changed
src/js/resources/scriptlets.js
@@ -2686,7 +2686,16 @@ function trustedPreventDomBypass(
2686
}
2687
2688
if ( targetProp !== '' ) {
2689
- elem.contentWindow[targetProp] = self[targetProp];
+ let me = self, it = elem.contentWindow;
2690
+ let chain = targetProp;
2691
+ for (;;) {
2692
+ const pos = chain.indexOf('.');
2693
+ if ( pos === -1 ) { break; }
2694
+ const prop = chain.slice(0, pos)
2695
+ me = me[prop]; it = it[prop];
2696
+ chain = chain.slice(pos+1);
2697
+ }
2698
+ it[chain] = me[chain];
2699
} else {
2700
Object.defineProperty(elem, 'contentWindow', { value: self });
2701
0 commit comments