[webkit-dev] Runtime JSObject
Ashish Agrawal
meetashish at gmail.com
Tue Jan 22 03:48:12 PST 2008
Hi David,
i am working on the same problem with Ankush.
We tried your solution and it worked, but we have one additional
problem, WebFrame::windowObjectCleared() is triggered for each frame
refresh so our handler gets called each time.
Before our handler is called, the frame gets destroyed and we see a
segmentation fault in our handler.
Can you suggest any way by which prevent calling of our handler for each
frame refresh.
Thanks
Ashish
On Jan 19, 2008 6:05 PM, David Carson <dacarson at gmail.com> wrote:
> Ankush,
> I have run into this same problem too, and I was pointed to
> WebFrame::windowObjectCleared(). If you re-attach your handler in that
> method, everything will work, including frames and iframes.
>
> For Mac look at:
> WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
> WebKit/mac/WebCoreSupport/WebFrameBridge.mm
> Windows:
> WebKit/win/WebFrame.cpp
> Gtk:
> WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
>
> Cheers
> Davidc
>
> On Fri, Jan 18, 2008 at 10:48 AM, <jligman at mindspring.com> wrote:
> >
> > Hi Ankush,
> >
> > Not sure if this is exactly the right way to do this, or what your
> looking
> > for, but I think something like the following might work.
> >
> > KJS::Window* window = KJS::Window::retrieveWindow(frame);
> > if (window) {
> > ExecState* exec = window->interpreter()->globalExec();
> > window->put( exec, "your object name here", your object here,
> > KJS::DontDelete );
> > }
> >
> > Thanks
> > Joe
> >
> >
> >
> > -----Original Message-----
> > From: ankush tiwari
> > Sent: Jan 18, 2008 7:55 AM
> > To: webkit-dev at lists.webkit.org
> > Subject: [webkit-dev] Runtime JSObject
> >
> > Hi All,
> >
> > We are creating a run time JSObject "myImplementation" by using the NPN
> > framework (C binding) available in webkit. Currently we are facing a
> problem
> > that our object is not getting recognized when we navigate to a new
> page.
> >
> > (Note: Our object is not released, its just not getting recognized in
> the
> > new page's interpreter context)
> >
> > We want to retain our object till the time the interpreter is valid but
> we
> > are not able to do so. We observed that for every script handler a
> context
> > is created and if we put our code in KJSProxy::evaluate and insert our
> > object every time its working fine.
> >
> > But this way we are creating too many unnecessary instances of our
> object.
> >
> > Can someone suggest a better way for retaining the object throughout the
> > interpreters life cycle?
> >
> > Thanks,
> > Ankush.
> >
> > _______________________________________________
> > webkit-dev mailing list
> > webkit-dev at lists.webkit.org
> > http://lists.webkit.org/mailman/listinfo/webkit-dev
> >
> >
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20080122/5ad8f43c/attachment.html
More information about the webkit-dev
mailing list