mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 05:37:11 +00:00
395e2e581b
- Bug 1219494 - Part 2. gfx/2d and gfxCrash. r=milan (2beb096938) - Bug 1233069 - add override declarations to Windows graphics headers; r=Bas (a7f6e7d7f4) - Bug 1230357. Enable subpixel text on skia content backends. r=lsalzman (86d91dece3) - Bug 1225977 - fix DrawTargetSkia::MaskSurface with non-zero offset. r=jmuizelaar (5d63e35dc7) - Bug 1230740 - wallpaper patch for a missing nullptr scenario. r=bas (bdfadb90ae) - Bug 1233401 - Do Statistics static initialization from JS_Init; r=jandem (5f8383cd4a) - Bug 1232113 - "Make the format specifiers in JS_snprintf() invocations more portable". r=evilpies (4b0481a222) - Bug 1233722 - Add a documentation comment for JSOP_DEBUGCHECKSELFHOSTED. DONTBUILD. r=efaust (741fedfca9) - Bug 1233722 - Followup: Differentiate between non-debug and opt builds. (rs=arai) DONTBUILD comment-only (234db53445) - Bug 1227144 - Remove unused AutoRegExpStaticsBuffer; r=jonco (b7a21b5471) - Bug 1233302: Don't seed the SavedStacks PRNG unless we're actually going to use it. r=fitzgen (4763a5eab5) - Bug 1233187 - Use normal Rooted for AutoLocationValueRooter; r=fitzgen (90aea4363c) - Bug 1208850 - Inline functions exported to self-hosting global. r=till (b0fbfc7245) - Bug 1197932 - Remove Nightly-only restriction from ES6 Classes. (r=jorendorff) (11e58dfe79) - Bug 1233011 - SharedArrayBuffer subclassing + tests. r=efaust (95c08f129e) - Bug 1232264 - SharedArrayBuffer is only a constructor. r=arai (ae98086e9b) - Bug 1233863 - ARM64: Set up pseudo stack pointer in proglogues. r=sstangl (9db659f62b) - Bug 1232269 - Use the correct receiver when calling an own getter or setter on an unboxed object, r=jandem. (b28b8e4061) - Bug 1233096 - Give JS::ubi::RootList its full type name as its concreteTypeName; r=jimb (6cab2fd056) - Bug 1229829 - make sameBuffer more discriminating. r=waldo (fa7723a152) - Bug 1233175 - refine an assertion. r=terrence (3bc1da0783) - Bug 1231314 - Turn mozilla-config.h and js-confdefs.h into CONFIGURE_DEFINE_FILES. r=gps (b20e88acbb) - Bug 1233966 - build fixes for FreeBSD. r=jrmuizel (a94c01b3aa)
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
// Make sure we get the proper side effects.
|
|
// |delete super.prop| and |delete super[expr]| throw universally.
|
|
|
|
class base {
|
|
constructor() { }
|
|
}
|
|
|
|
class derived extends base {
|
|
constructor() { super(); }
|
|
testDeleteProp() { delete super.prop; }
|
|
testDeleteElem() {
|
|
let sideEffect = 0;
|
|
assertThrowsInstanceOf(() => delete super[sideEffect = 1], ReferenceError);
|
|
assertEq(sideEffect, 1);
|
|
}
|
|
testDeleteElemPropValFirst() {
|
|
// The deletion error is a reference error, but by munging the prototype
|
|
// chain, we can force a typeerror from JSOP_SUPERBASE
|
|
delete super[Object.setPrototypeOf(derived.prototype, null)];
|
|
}
|
|
}
|
|
|
|
var d = new derived();
|
|
assertThrowsInstanceOf(() => d.testDeleteProp(), ReferenceError);
|
|
d.testDeleteElem();
|
|
assertThrowsInstanceOf(() => d.testDeleteElemPropValFirst(), TypeError);
|
|
|
|
// |delete super.x| does not delete anything before throwing.
|
|
var thing1 = {
|
|
go() { delete super.toString; }
|
|
};
|
|
let saved = Object.prototype.toString;
|
|
assertThrowsInstanceOf(() => thing1.go(), ReferenceError);
|
|
assertEq(Object.prototype.toString, saved);
|
|
|
|
// |delete super.x| does not tell the prototype to delete anything, when it's a proxy.
|
|
var thing2 = {
|
|
go() { delete super.prop; }
|
|
};
|
|
Object.setPrototypeOf(thing2, new Proxy({}, {
|
|
deleteProperty(x) { throw "FAIL"; }
|
|
}));
|
|
assertThrowsInstanceOf(() => thing2.go(), ReferenceError);
|
|
|
|
if (typeof reportCompare === 'function')
|
|
reportCompare(0,0,"OK");
|