Closed Bug 417387 Opened 15 years ago Closed 15 years ago

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

Categories

(Core :: JavaScript Engine, defect, P2)

x86
All
defect

Tracking

()

VERIFIED FIXED
mozilla1.9beta4

People

(Reporter: bc, Assigned: mrbkap)

References

()

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

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
yes, see summary ^^^, try the url ^^^
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
Attached patch So, this fixes it (obsolete) — Splinter Review
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)
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
That was more of a "they are there" moment. I'll remove them.
Attached patch UpdatedSplinter Review
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+
Priority: -- → P2
Fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.