tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

observable-array-no-leak-of-internals.window.js (579B)


      1 "use strict";
      2 
      3 test(() => {
      4  const observableArray = document.adoptedStyleSheets;
      5 
      6  let leaked_target = null;
      7  let leaked_handler = null;
      8 
      9  let target_leaker = (target) => { leaked_target = target; return null; };
     10  Object.defineProperty(Object.prototype, "getPrototypeOf", {get: function() {
     11    leaked_handler = this;
     12    return target_leaker;
     13  }})
     14  Object.getPrototypeOf(observableArray);
     15 
     16  assert_equals(leaked_target, null, "The proxy target leaked.");
     17  assert_equals(leaked_handler, null, "The proxy handler leaked.");
     18 }, "ObservableArray's internals won't leak");