I'm using JavaScript core to integrate JavaScript as an embedded scripting engine in my application.

I've gotten a lot of "stuff" working (which is a lot of fun, BTW). I've been able to run scripts and see them manipulate objects in my application model (windows and the like... just to see if I could) as well as objects in the object model (in the MVC sense) of my problem domain.

I've added a scripting menu. I want the scripts that are run through that menu to be executed "in the scope" of the frontmost document. That is, I would like the a script whose textual content is the word "this" to evaluate to the document object of the frontmost document. To that end, I'm calling JSEvaluateScript and I'm passing the JSObjectRef for my document object as it's third parameter, "thisObject".

Even when doing so, however, I find that within my scripts the variable "this" still refers to the global context and not the frontmost document. For example, I'm able to successfully evaluate the script:

this.documents[0].addDocumentElement()

(where documents is a property I add to the global context and is roughly equivalent to [NSApp orderedDocuments]) I would rather have the script:

this.addDocumentElement()

do the same thing... that is JSEvaluateScript should use the document object for "this"

Am I simply misinterpreting the purpose of the "thisObject" parameter to JSEvaluateScript?

Scott

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to