In this case, we could probably reuse the isNodeSubType from CodeGeneratorV8.pm (http://trac.webkit.org/browser/trunk/WebCore/bindings/scripts/CodeGeneratorV...), which in turn uses FindParentsRecursively from CodeGenerator.pm (http://trac.webkit.org/browser/trunk/WebCore/bindings/scripts/CodeGenerator....). 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@webkit.org> wrote:
On Sun, Aug 2, 2009 at 2:09 AM, Darin Adler<darin@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@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev