XrayWrapper::defineProperty is stricter than ordinary Object.defineProperty about what sort of redefinition is permitted. But it doesn't report failure in any way when the rules are broken; it just silently doesn't define anything. There's even a comment: // We should technically report non-configurability in strict mode, but // doing that via JSAPI is a lot of trouble. With bug 1113369, it's not much trouble anymore. (In fact it's trivial, but it should be tested somehow.)
You need to log in before you can comment on or make changes to this bug.