• verwaest's avatar
    Throw TypeError when reading global references through a JSProxy · 01b8e7c7
    verwaest authored
    Allowing global references to be read through a proxy results in cross-origin information leaks. The ES6 spec currently does not mitigate this in any way. This CL adds a workaround that's easy for V8: throw whenever an unresolved reference would result in a proxy trap to be fired. I'm landing this so we can move forwards with staging proxies without putting users of --harmony at risk.
    
    BUG=chromium:399951
    LOG=n
    
    Review URL: https://codereview.chromium.org/1529303003
    
    Cr-Commit-Position: refs/heads/master@{#32949}
    01b8e7c7
Name
Last commit
Last update
..
regress Loading commit data...
array-concat.js Loading commit data...
atomics.js Loading commit data...
block-conflicts-sloppy.js Loading commit data...
block-const-assign-sloppy.js Loading commit data...
block-eval-var-over-legacy-const.js Loading commit data...
block-eval-var-over-let.js Loading commit data...
block-for-sloppy.js Loading commit data...
block-lazy-compile.js Loading commit data...
block-leave-sloppy.js Loading commit data...
block-let-contextual-sloppy.js Loading commit data...
block-let-crankshaft-sloppy.js Loading commit data...
block-let-declaration-sloppy.js Loading commit data...
block-let-semantics-sloppy.js Loading commit data...
block-scope-class.js Loading commit data...
block-scoping-sloppy.js Loading commit data...
block-scoping-top-level-sloppy.js Loading commit data...
block-sloppy-function.js Loading commit data...
classes-derived-return-type.js Loading commit data...
completion.js Loading commit data...
dataview-accessors.js Loading commit data...
debug-stepin-default-parameters.js Loading commit data...
debug-stepin-proxies.js Loading commit data...
default-parameters-debug.js Loading commit data...
default-parameters-destructuring.js Loading commit data...
default-parameters.js Loading commit data...
destructuring-assignment.js Loading commit data...
destructuring-parameters-literalcount-nolazy.js Loading commit data...
destructuring-parameters-literalcount.js Loading commit data...
destructuring.js Loading commit data...
do-expressions.js Loading commit data...
function-name.js Loading commit data...
futex.js Loading commit data...
module-linking.js Loading commit data...
module-parsing-eval.js Loading commit data...
module-recompile.js Loading commit data...
module-resolution.js Loading commit data...
modules.js Loading commit data...
private.js Loading commit data...
proxies-accesschecks.js Loading commit data...
proxies-apply.js Loading commit data...
proxies-bind.js Loading commit data...
proxies-construct.js Loading commit data...
proxies-cross-realm-exception.js Loading commit data...
proxies-define-property.js Loading commit data...
proxies-delete-property.js Loading commit data...
proxies-enumerate.js Loading commit data...
proxies-example-membrane.js Loading commit data...
proxies-for.js Loading commit data...
proxies-function.js Loading commit data...
proxies-get-own-property-descriptor.js Loading commit data...
proxies-get-prototype-of.js Loading commit data...
proxies-get.js Loading commit data...
proxies-global-reference.js Loading commit data...
proxies-has-own-property.js Loading commit data...
proxies-has.js Loading commit data...
proxies-hash.js Loading commit data...
proxies-integrity.js Loading commit data...
proxies-is-extensible.js Loading commit data...
proxies-json.js Loading commit data...
proxies-keys.js Loading commit data...
proxies-object-assign.js Loading commit data...
proxies-ownkeys.js Loading commit data...
proxies-prevent-extensions.js Loading commit data...
proxies-property-is-enumerable.js Loading commit data...
proxies-prototype-handler-stackoverflow.js Loading commit data...
proxies-prototype-target-stackoverflow.js Loading commit data...
proxies-revocable.js Loading commit data...
proxies-set-prototype-of.js Loading commit data...
proxies-set.js Loading commit data...
proxies-with-unscopables.js Loading commit data...
proxies-with.js Loading commit data...
proxies.js Loading commit data...
reflect-apply.js Loading commit data...
reflect-construct.js Loading commit data...
reflect-define-property.js Loading commit data...
reflect-enumerate-delete.js Loading commit data...
reflect-enumerate-opt.js Loading commit data...
reflect-enumerate-special-cases.js Loading commit data...
reflect-enumerate.js Loading commit data...
reflect-get-own-property-descriptor.js Loading commit data...
reflect-get-prototype-of.js Loading commit data...
reflect-own-keys.js Loading commit data...
reflect-prevent-extensions.js Loading commit data...
reflect-set-prototype-of.js Loading commit data...
reflect.js Loading commit data...
regexp-flags.js Loading commit data...
regexp-lookbehind.js Loading commit data...
regexp-sticky.js Loading commit data...
set-prototype-of.js Loading commit data...
sharedarraybuffer.js Loading commit data...
simd.js Loading commit data...
string-match.js Loading commit data...
string-split.js Loading commit data...
to-length.js Loading commit data...
to-name.js Loading commit data...
to-number.js Loading commit data...
to-primitive.js Loading commit data...
to-string.js Loading commit data...
unicode-escapes-in-regexps.js Loading commit data...