Closed
Bug 761439
Opened 12 years ago
Closed 12 years ago
nativeCall on non-cross-compartment wrappers leads to infinite recursion
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla16
People
(Reporter: luke, Assigned: luke)
References
Details
Attachments
(1 file)
1.81 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
The reason is that IndirectProxyHandler::nativeCall just makes the same call. Since we have recursion checks on this path, the bug just manifests itself as a recursion error instead of a type error when you do, e.g., Data.prototype.getTime.all(window.location). Simple fix, though.
Assignee | ||
Comment 1•12 years ago
|
||
Attachment #629991 -
Flags: review?(sphink)
Comment 2•12 years ago
|
||
I'm going to guess your example test case was meant to be
Date.prototype.getTime.apply(window.location)
In the shell, wrap(new Date).getTime() works too.
Updated•12 years ago
|
Attachment #629991 -
Flags: review?(sphink) → review+
Assignee | ||
Comment 3•12 years ago
|
||
(In reply to Steve Fink [:sfink] from comment #2)
> I'm going to guess your example test case was meant to be
Well, any non-generic method exercises the path. I picked DataView since window.location isn't in the shell and Data tends to give temporal values :)
Assignee | ||
Comment 4•12 years ago
|
||
Target Milestone: --- → mozilla16
Comment 5•12 years ago
|
||
(In reply to Luke Wagner [:luke] from comment #3)
> (In reply to Steve Fink [:sfink] from comment #2)
> > I'm going to guess your example test case was meant to be
>
> Well, any non-generic method exercises the path. I picked DataView since
> window.location isn't in the shell and Data tends to give temporal values :)
I was referring to comment 0, which confused me briefly (Data, all).
Assignee | ||
Comment 6•12 years ago
|
||
Ohh, hah, I see.
Comment 7•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•