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

Dimitri Glazkov dglazkov at chromium.org
Sun Aug 2 08:22:55 PDT 2009


In this case, we could probably reuse the isNodeSubType from
CodeGeneratorV8.pm
(http://trac.webkit.org/browser/trunk/WebCore/bindings/scripts/CodeGeneratorV8.pm#L337),
which in turn uses FindParentsRecursively from CodeGenerator.pm
(http://trac.webkit.org/browser/trunk/WebCore/bindings/scripts/CodeGenerator.pm#L123).
But I haven't looked at the problem in detail, just yelling random
stuff from sidelines.

:DG<

On Sun, Aug 2, 2009 at 2:44 AM, Adam Barth<abarth at webkit.org> wrote:
> 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
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>


More information about the webkit-dev mailing list