Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
authorverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 2 Jun 2014 11:02:06 +0000 (11:02 +0000)
committerverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 2 Jun 2014 11:02:06 +0000 (11:02 +0000)
commit60a71d8a8ca9c30a1b59b46d0e5e560b80047908
tree42b6424bb78ee331f5617b3c5023254769138bc7
parent92022c117582f6f4ead8b22b1870fbb15ddf83ea
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.

v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.

The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.

LOG=y
R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/306203002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
include/v8.h
src/accessors.cc
src/api.cc
src/objects-inl.h
src/objects.cc
src/objects.h
test/cctest/test-accessors.cc