Closed
Bug 415723
Opened 18 years ago
Closed 18 years ago
Impossible to have multiple scripts sharing a global object
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tamarin Graveyard
Virtual Machine
Tracking
(Not tracked)
VERIFIED
DUPLICATE
of bug 417342
People
(Reporter: markh, Unassigned)
Details
ScreamingMonkey and ActionMonkey both have the requirement that they can compile multiple script blocks using a shared global. This is currently impossible. I'm pasting some notes from Edwin's email:
"""
I think there probably is no good way in tamarin to make a couple of different objects behave like a single one... too many issues fall through the cracks, as you are finding.
...
Perhaps the time has come to bend tamarin a bit; make esc compile toplevel far/function defs like ES3 compilers to (dynamically create the binding on a pre-existing global object), and make tamarin able to use an externally defined global object (window, in this case). A global object could in fact be a window object, and it could have no statically defined traits.
"""
and from a later mail:
"""
here are what seem to be the options
1. have esc compile toplevel defs into expando setproperty ops, and
mod tamarin to accept a host-defined object as a script's global object.
this === window === global
2. have esc compile toplevel defs into a global object's traits, but
also let the host define the base class of the global object (say,
global extends window). this === window === global.
3. (current) have esc compile defs into global object's traits, and
global extends Object. this === global but this !== window
i think (2) is closest to what we want. it itsn't fully js compatible
since traits cannot be expanded once defined and (obviously) toplevel
defs create DontDelete fixtures unlike in js.
"""
Reporter | ||
Comment 1•18 years ago
|
||
Marking this as a dupe of the new 417342, but this bug has some nice info from edwin
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
Updated•16 years ago
|
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•