[webkit-dev] JavaScript bindings changed to call scriptExecutionContext virtual function?

Adam Barth abarth at webkit.org
Sun Aug 2 02:44:29 PDT 2009


On Sun, Aug 2, 2009 at 2:09 AM, Darin Adler<darin at apple.com> wrote:
> On Aug 2, 2009, at 2:05 AM, Adam Barth wrote:
>
>> In any case:
>>
>>    https://bugs.webkit.org/show_bug.cgi?id=27931
>>
>> I'll have a patch shortly. Please let me know if there are other call
>> sites you'd like changed.
>
> Thanks! Once you pointed out this was not due to a recent change, I had
> resolved to fix it myself, but I’m glad you’re going to tackle it.
>
> Generally speaking no call site that has a Node* should call
> scriptExecutionContext(). So rather than listing the call sites I want
> changed, I’d instead suggest that we make Node::scriptExecutionContext()
> private and then make sure no Node member functions or members functions of
> friend classes call the function.

I tried this, and it looks like there are a bunch of instances in the
generated bindings that weren't found by cscope.  Basically, this line
of CodeGeneartorJS needs to know whether impl is a subclass of Node*:

push(@implContent, "    JSDOMGlobalObject* globalObject =
toJSDOMGlobalObject(imp->scriptExecutionContext());\n");

It's a bit too late at night for me to wrap my mind around the code
generator, but that's a clear next step.

Adam


More information about the webkit-dev mailing list