d at domenic.me (2014-12-19T22:34:52.226Z)
Here's an unexpected weirdness, probably not deeply related. Change
your first helper page to
```html
<script>
var someName = "OLD WINDOW";
var evil = eval;
function f() {
return someName;
}
function g() {
return (1,evil)("3");
}
</script>
```
On FF and Safari, I get 3 as expected. On Chrome, I get on my console:
Uncaught EvalError: The "this" value passed to eval must be the global object from which eval originated
Especially weird, because this code doesn't pass any this to the
renamed eval. I don't know what this means.
On Thu, Dec 4, 2014 at 4:49 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: > On 12/4/14, 4:45 PM, Mark Miller wrote: >> >> On Thu, Dec 4, 2014 at 4:32 PM, Boris Zbarsky <bzbarsky at mit.edu> wrote: >>> >>> Sure, for a scope chain. Testcase at >>> >>> https://web.mit.edu/bzbarsky/www/testcases/windowproxy/use-old-window-1.html >> >> >> That page demands a client certificate. Is that intentional? > > > Er, sorry. > http://web.mit.edu/bzbarsky/www/testcases/windowproxy/use-old-window-1.html > should work for everyone. > > -Boris Here's an unexpected weirdness, probably not deeply related. Change your first helper page to <script> var someName = "OLD WINDOW"; var evil = eval; function f() { return someName; } function g() { return (1,evil)("3"); } </script> On FF and Safari, I get 3 as expected. On Chrome, I get on my console: Uncaught EvalError: The "this" value passed to eval must be the global object from which eval originated Especially weird, because this code doesn't pass any this to the renamed eval. I don't know what this means. -- Cheers, --MarkM