I discussed this a bit with Darin and Geoff, and we came to the
conclusion that the correct fix is to have each JS DOMObject store
a JSGlobalObject pointer and augment the toJS methods to pass a
global object instead of an ExecState (close to you #1). I would
not advocate storing more data on the ExecState.
Sam and I just noticed that, to fully support this behavior, any host
object that lazily constructs function properties using the functions
in lookup.h must either
(a) change in the same way as DOM objects must change
or
(b) eagerly construct its function properties with the correct
prototype.
Consider this case, which does not involve a DOM object:
frames[0].Array.prototype.push.__proto__ ==
Array.prototype.push.__proto__
Geoff
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev