js1_5/Regress/regress-68498-001.js FAIL browser only

VERIFIED FIXED in mozilla1.9beta4

Status

()

Core
JavaScript Engine
P2
normal
VERIFIED FIXED
11 years ago
11 years ago

People

(Reporter: bc, Assigned: mrbkap)

Tracking

({regression})

Trunk
mozilla1.9beta4
x86
All
regression
Points:
---
Bug Flags:
blocking1.9 +
in-testsuite +
in-litmus -

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

11 years ago
BUGNUMBER: 68498
STATUS: Testing that variable statement outside any eval creates a DontDelete property of the global object
FAILED! expected: [reported from test()] Expected value 'false', Actual value 'true' 

regressed approximately sometime between 2008-02-12 04:00 (nightly) and 2008-02-13 00:00

<http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fjs%2Fsrc&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-02-12+04%3A00%3A00&maxdate=2008-02-13+00%3A00%3A00&cvsroot=%2Fcvsroot>

bug 417033 ?
Flags: in-testsuite+
Flags: in-litmus-
Flags: blocking1.9?
(In reply to comment #0)
> BUGNUMBER: 68498
> bug 417033 ?

No, that was a DEBUG-only change.

All of these tests are passing for me:

./js1_5/Regress/regress-68498-001.js
./js1_5/Regress/regress-68498-002.js
./js1_5/Regress/regress-68498-003.js
./js1_5/Regress/regress-68498-004.js

What am I missing?

/be


Passing in the shell, I should say. Are you seeing browser-only failures?

/be
(Reporter)

Comment 3

11 years ago
yes, see summary ^^^, try the url ^^^
(Assignee)

Comment 4

11 years ago
This is fallout from bug 416931. Given a global variable |var v|, setting |v| will now hit the JS_DefineProperty at the end of nsWindowSH::SetProperty that re-defines |v| with only JSPROP_ENUMERATE, throwing out the fact that |v| was originally (and should continue to be) JSPROP_PERMANENT.
Blocks: 416931
(Assignee)

Comment 5

11 years ago
Created attachment 303482 [details] [diff] [review]
So, this fixes it

This fix ensures that we propagate any interesting attributes onto our new property.
Assignee: general → mrbkap
Status: NEW → ASSIGNED
Attachment #303482 - Flags: superreview?(brendan)
Attachment #303482 - Flags: review?(jst)

Updated

11 years ago
Flags: blocking1.9? → blocking1.9+
Target Milestone: --- → mozilla1.9beta4
Comment on attachment 303482 [details] [diff] [review]
So, this fixes it

>+                            attrs & (JSPROP_ENUMERATE |
>+                                     JSPROP_PERMANENT |
>+                                     JSPROP_EXPORTED |
>+                                     JSPROP_SHARED));

Have my doubts about EXPORTED and SHARED -- can you defend them?

/be
(Assignee)

Comment 7

11 years ago
That was more of a "they are there" moment. I'll remove them.
(Assignee)

Comment 8

11 years ago
Created attachment 303549 [details] [diff] [review]
Updated

This also doesn't lose exceptions thrown from under ::JS_DefineProperty and doesn't return a JSBool from a function that returns nsresult!
Attachment #303482 - Attachment is obsolete: true
Attachment #303549 - Flags: superreview?(brendan)
Attachment #303549 - Flags: review?(jst)
Attachment #303482 - Flags: superreview?(brendan)
Attachment #303482 - Flags: review?(jst)
Comment on attachment 303549 [details] [diff] [review]
Updated

Looks good.
Attachment #303549 - Flags: superreview?(brendan)
Attachment #303549 - Flags: superreview+
Attachment #303549 - Flags: review?(jst)
Attachment #303549 - Flags: review+
(Assignee)

Updated

11 years ago
Priority: -- → P2
Fix checked in.
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
(Reporter)

Comment 11

11 years ago
verified
(Reporter)

Updated

11 years ago
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.