Bug 18048
Summary: | The "thisObject" parameter to JSEvaluateScript is not used properly | ||
---|---|---|---|
Product: | WebKit | Reporter: | Scott Thompson <easco> |
Component: | JavaScriptCore | Assignee: | Sam Weinig <sam> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | ||
Priority: | P2 | ||
Version: | 525.x (Safari 3.1) | ||
Hardware: | Mac | ||
OS: | OS X 10.5 |
Scott Thompson
I created some code that tried to use JSEvaluateScript to pass a script to an object. My expectation was that the script would be evaluated in the context of the object passed into the "thisObject" parameter, but I found that the script is always evaluated in the global context.
For example, I tried to do something like
JSObjectRef myDocumentObject = GetObjectRefForDocument(<some document here>);
JSEvaluateScript(jsContext, myScript, myDocumentObject, ... other args ...);
I wanted to pass the script:
this.addDocumentElement()
but that came up with a type error. I had to use:
this.documents[0].addDocumentElement()
Which says to me that the script was evaluated in my global context, and not the context of my document object.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Sam Weinig
Fix landed in r31267.