From 206d6f3d034802748e265755a219f0d5d34f7a0a Mon Sep 17 00:00:00 2001 From: Jeff Walden Date: Tue, 20 Apr 2010 10:04:16 -0700 Subject: [PATCH] Backed out changeset 7bb4a2e5d0cf, looks to be orange everywhere... :-\ --- js/src/jsobj.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/js/src/jsobj.cpp b/js/src/jsobj.cpp index 2a8c80da9ae3..961beb2208cb 100644 --- a/js/src/jsobj.cpp +++ b/js/src/jsobj.cpp @@ -5034,15 +5034,16 @@ js_SetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, uintN defineHow, if (!sprop->writable()) { JS_UNLOCK_SCOPE(cx, scope); + /* Strict mode: report a read-only strict warning. */ + if (JS_HAS_STRICT_OPTION(cx)) + return ReportReadOnly(cx, id, JSREPORT_STRICT | JSREPORT_WARNING); + + /* Just return true per ECMA if not in strict mode. */ PCMETER((defineHow & JSDNP_CACHE_RESULT) && JS_PROPERTY_CACHE(cx).rofills++); if (defineHow & JSDNP_CACHE_RESULT) { JS_ASSERT_NOT_ON_TRACE(cx); TRACE_2(SetPropHit, JS_NO_PROP_CACHE_FILL, sprop); } - - /* Warn in strict mode, otherwise do nothing. */ - if (JS_HAS_STRICT_OPTION(cx)) - return ReportReadOnly(cx, id, JSREPORT_STRICT | JSREPORT_WARNING); return JS_TRUE; #ifdef JS_TRACER