[webkit-dev] document()->frame()->script()->globalObject()

Eric Seidel eric at webkit.org
Thu Jul 23 17:38:58 PDT 2009


I'm trying to get a JSDOMGlobalObject from a Node*.  A Node* should
always have one, but our current path through Frame* can sometimes
fail.

-eric

On Thu, Jul 23, 2009 at 5:33 PM, Maciej Stachowiak<mjs at apple.com> wrote:
>
> On Jul 23, 2009, at 5:23 PM, Eric Seidel wrote:
>
> It seems all lookups of the current globalObject go through the frame.
> document()->frame()->script()->globalObject() is one example.
>
> Another:
> JSValue toJS(ExecState*, DOMWindow* domWindow)
> {
>    if (!domWindow)
>        return jsNull();
>    Frame* frame = domWindow->frame();
>    if (!frame)
>        return jsNull();
>    return frame->script()->windowShell();
> }
>
> Why?  Shouldn't the Document know what its JSDOMGlobalObject is,
> regardless of whether its currently in a Frame or not?
>
> The document should probably know its own inner window object, while the
> frame should hold on to the outer window. I'm not entirely clear on how the
> document relates to the code you quoted though.
>  - Maciej
>


More information about the webkit-dev mailing list