test_safe-getter.js 772 B

1234567891011121314151617181920212223242526
  1. function run_test() {
  2. Components.utils.import("resource://gre/modules/jsdebugger.jsm");
  3. addDebuggerToGlobal(this);
  4. var g = testGlobal("test");
  5. var dbg = new Debugger();
  6. var gw = dbg.addDebuggee(g);
  7. g.eval(`
  8. // This is not a CCW.
  9. Object.defineProperty(this, "bar", {
  10. get: function() { return "bar"; },
  11. configurable: true,
  12. enumerable: true
  13. });
  14. Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
  15. // This is a CCW.
  16. XPCOMUtils.defineLazyGetter(this, "foo", function() { return "foo"; });
  17. `);
  18. // Neither scripted getter should be considered safe.
  19. assert(!DevToolsUtils.hasSafeGetter(gw.getOwnPropertyDescriptor("bar")));
  20. assert(!DevToolsUtils.hasSafeGetter(gw.getOwnPropertyDescriptor("foo")));
  21. }