[Webkit-unassigned] [Bug 80577] New: Object.freeze broken on latest Nightly
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 7 23:51:56 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=80577
Summary: Object.freeze broken on latest Nightly
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: UNCONFIRMED
Severity: Major
Priority: P1
Component: JavaScriptCore
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: erights at gmail.com
When executing the following three lines on Safari Version 5.1.3 (7534.53.10), the last correctly returned true. On WebKit Nightly Version 5.1.3 (7534.53.10, r110098), it gives false, which is wrong.
> function foo(){}
> Object.freeze(foo);
> Object.isFrozen(foo);
The problem seems to be the prototype property. On WebKit Nightly
> JSON.stringify(Object.getOwnPropertyDescriptor(foo, 'prototype'))
{"value":{},"writable":true,"enumerable":false,"configurable":false}
On Safari, we instead get the correct "writable":false
For some reason, it seems this same problem manifests differently on http://es-lab.googlecode.com/svn/trunk/src/ses/explicit.html
When freezing a particular function with a writable non-configurable prototype, this page now throws
"TypeError: Attempting to change access mechanism for an unconfigurable property"
on this latest Nightly. It did not do so on last night's Nightly. From the nature of this symptom, I'm not sure that the problem is with the 'prototype' property specifically, since the error doesn't say what property it is complaining about. Regardless, it is never correct from Object.freeze itself to fail because of (non) configurability. All the state changes it causes are always allowed.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list