зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1253016 - Remove legacy __defineGetter__/__defineSetter__ this behavior. r=till
This commit is contained in:
Родитель
d8a66f109b
Коммит
a3fd09a3fe
|
@ -61,14 +61,12 @@ function Object_toLocaleString() {
|
|||
}
|
||||
|
||||
function ObjectDefineSetter(name, setter) {
|
||||
var object;
|
||||
if (this === null || this === undefined) {
|
||||
if (this === null || this === undefined)
|
||||
AddContentTelemetry(TELEMETRY_DEFINE_GETTER_SETTER_THIS_NULL_UNDEFINED, 1);
|
||||
object = global;
|
||||
} else {
|
||||
else
|
||||
AddContentTelemetry(TELEMETRY_DEFINE_GETTER_SETTER_THIS_NULL_UNDEFINED, 0);
|
||||
object = ToObject(this);
|
||||
}
|
||||
|
||||
var object = ToObject(this);
|
||||
|
||||
if (!IsCallable(setter))
|
||||
ThrowTypeError(JSMSG_BAD_GETTER_OR_SETTER, "setter");
|
||||
|
@ -86,14 +84,12 @@ function ObjectDefineSetter(name, setter) {
|
|||
}
|
||||
|
||||
function ObjectDefineGetter(name, getter) {
|
||||
var object;
|
||||
if (this === null || this === undefined) {
|
||||
if (this === null || this === undefined)
|
||||
AddContentTelemetry(TELEMETRY_DEFINE_GETTER_SETTER_THIS_NULL_UNDEFINED, 1);
|
||||
object = global;
|
||||
} else {
|
||||
else
|
||||
AddContentTelemetry(TELEMETRY_DEFINE_GETTER_SETTER_THIS_NULL_UNDEFINED, 0);
|
||||
object = ToObject(this);
|
||||
}
|
||||
|
||||
var object = ToObject(this);
|
||||
|
||||
if (!IsCallable(getter))
|
||||
ThrowTypeError(JSMSG_BAD_GETTER_OR_SETTER, "getter");
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
function f(foo)
|
||||
{
|
||||
var x;
|
||||
eval("__defineGetter__(\"y\", function ()x)");
|
||||
eval("this.__defineGetter__(\"y\", function ()x)");
|
||||
}
|
||||
f("");
|
||||
try {
|
||||
|
|
|
@ -5,7 +5,7 @@ function f(param) {
|
|||
var w;
|
||||
return eval("\
|
||||
(function(){\
|
||||
__defineGetter__(\"y\", function()({\
|
||||
this.__defineGetter__(\"y\", function()({\
|
||||
x: function(){ return w }()\
|
||||
}))\
|
||||
});\
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
//
|
||||
for (c in [0]) {
|
||||
{
|
||||
let c = __defineGetter__("", function(){});
|
||||
let c = this.__defineGetter__("", function(){});
|
||||
eval("function w(){}")++
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// Binary: cache/js-dbg-64-a6d7a5677b4c-linux
|
||||
// Flags:
|
||||
//
|
||||
__defineSetter__("x", function(){})
|
||||
this.__defineSetter__("x", function(){})
|
||||
this.watch("x", "".localeCompare)
|
||||
window = x
|
||||
Object.defineProperty(this, "x", ({
|
||||
|
|
|
@ -8,5 +8,5 @@ function f() {
|
|||
print(a)
|
||||
})()
|
||||
}
|
||||
__defineGetter__("x", gc)
|
||||
this.__defineGetter__("x", gc)
|
||||
f()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// Binary: cache/js-dbg-64-54700fad8cf9-linux
|
||||
// Flags: -j
|
||||
//
|
||||
__defineSetter__("x", Object.freeze)
|
||||
this.__defineSetter__("x", Object.freeze)
|
||||
x = this;
|
||||
for (let z = 0; z < 5; z++) {
|
||||
for each(let y in [0, 0, 0]) {
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
// Binary: cache/js-dbg-64-3dd6ec45084c-linux
|
||||
// Flags:
|
||||
//
|
||||
__defineGetter__("x", eval);
|
||||
this.__defineGetter__("x", eval);
|
||||
eval.toString = toLocaleString
|
||||
eval < x
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// |jit-test| --baseline-eager; error: TypeError
|
||||
try {
|
||||
__defineGetter__("x", Iterator)()
|
||||
this.__defineGetter__("x", Iterator)()
|
||||
} catch (e) {}
|
||||
f = function() {
|
||||
return (function() {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
var global = this;
|
||||
(function() {
|
||||
__defineGetter__("x", /x/.constructor)
|
||||
global.__defineGetter__("x", /x/.constructor)
|
||||
})()
|
||||
for (var a = 0; a < 4; ++a) {
|
||||
if (a % 4 == 1) {
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
__defineSetter__("x",Math.max)
|
||||
this.__defineSetter__("x",Math.max)
|
||||
Function("({x}=[])")()
|
||||
|
|
|
@ -2,7 +2,7 @@ x = 0
|
|||
for (a = 0; a < 13; ++a) {
|
||||
if (a == 7) {
|
||||
if (!x) {
|
||||
__defineSetter__("x", Object.defineProperties)
|
||||
this.__defineSetter__("x", Object.defineProperties)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(function f() {
|
||||
let x = (new function() {})
|
||||
__defineGetter__("x", function() {
|
||||
this.__defineGetter__("x", function() {
|
||||
({
|
||||
e: x
|
||||
})
|
||||
|
|
Загрузка…
Ссылка в новой задаче