Confirmed users
839
edits
Line 269: | Line 269: | ||
== Stuff Mark still needs to grok == | == Stuff Mark still needs to grok == | ||
* Still a little gray on the relationship between a JSContext, a "scope" and a "global". | * Still a little gray on the relationship between a JSContext, a "scope" and a "global". [ One could say that "scope" is the 'this' property when running code, "global" is what's at the top of any object's scope chain. A JSContext always has a global object (in mozilla at least), but there's not always a 1:1 mapping. In fact now with the split window work landed, there's generally more than one global object per JSContext. -- jst] | ||
** JSContext a DOM specific concept, so script_language -> C++ -> script_language preserves the state of the globals (correct?) | ** JSContext a DOM specific concept, so script_language -> C++ -> script_language preserves the state of the globals (correct?) [Not sure what you mean by this -- jst] | ||
** What is in a "context" beyond the global object? | ** What is in a "context" beyond the global object? [For one, the stack frame for the running JS is in the context, very important for security code -- jst] | ||
* WrapNative and what it really means to this | * WrapNative and what it really means to this | ||
* Best way to tackle nsDOMClassInfo??? | * Best way to tackle nsDOMClassInfo??? [ I think the harder problem is the scriptable helpers, the nsDOMClassInfo class is fairly language neutral already -- jst] | ||
* nsBindingManager - very JS specific and not using nsIScript interfaces | * nsBindingManager - very JS specific and not using nsIScript interfaces | ||
Line 281: | Line 281: | ||
* Need to understand the desired 'undefined' semantics for the return value. Python's builtin None is closer to a JS null, so may not be suitable for 'undefined'. However, a simple 'return' will return None. | * Need to understand the desired 'undefined' semantics for the return value. Python's builtin None is closer to a JS null, so may not be suitable for 'undefined'. However, a simple 'return' will return None. | ||
* Timeouts look tricky. | * Timeouts look tricky. [Yeah, somewhat. Especially the management of timeout objects is tricky due to reentrancy of all sorts being possible there. nsTimeout probably needs now to know the language, and have code to execute different languages... -- jst] | ||
* Events look tricky | * Events look tricky [Shouldn't be too bad. There's some JS:isms in the event code, but mostly to support node.onclick=... style event handlers. Whether we want to support those in Python is a desision that'll make this potentially much harder to do :) -- jst] | ||
== Random Notes == | == Random Notes == |