[webkit-dev] virtual functions in ChromeClient and other clients

Adam Treat treat at kde.org
Thu Oct 22 12:46:44 PDT 2009


If i remember correctly another strike against this is SVG.  I believe that 
SVG uses a different set of empty clients.  This would make that more difficult?

On Thursday 22 October 2009 03:29:28 pm Yong Li wrote:
> Oops, even m_page is a data member.
>
> Hm... I need to think more about it.
>
> -Yong
>
> ----- Original Message -----
> From: "Yong Li" <yong.li at torchmobile.com>
> To: "Adam Barth" <abarth at webkit.org>
> Cc: "WebKit Development" <webkit-dev at lists.webkit.org>
> Sent: Thursday, October 22, 2009 3:28 PM
> Subject: Re: [webkit-dev] virtual functions in ChromeClient and other
> clients
>
> > Usually, those clients call WebPage or WebFrame to access the data
> > members.
> >
> > For example:
> >
> > ChromeClient::doSomething()
> > {
> >    m_page->doSomething();
> > }
> >
> > -Yong
> >
> > ----- Original Message -----
> > From: "Adam Barth" <abarth at webkit.org>
> > To: "Yong Li" <yong.li at torchmobile.com>
> > Cc: "WebKit Development" <webkit-dev at lists.webkit.org>
> > Sent: Thursday, October 22, 2009 3:25 PM
> > Subject: Re: [webkit-dev] virtual functions in ChromeClient and other
> > clients
> >
> >
> > How would the class implementing ChromeClient hold any data members?
> > I guess we could use pimpl...
> >
> > Adam
> >
> > On Thu, Oct 22, 2009 at 12:20 PM, Yong Li <yong.li at torchmobile.com> wrote:
> >> Hi All,
> >>
> >> ChromeClient and other clients defined in webkit are using a lot of
> >> WebCore
> >> objects. So it seems impossible to provide a ChromeClient from another
> >> binary other than webkit itself. In other words, ChromeClient is almost
> >> always implemented in a static lib that's linked with WebCore together.
> >>
> >> If that's true, why do we need those "virtual" functions? One reason
> >> might
> >> be for this case:
> >>
> >> class WebPage: public ChromeClient, public EditorClient, public ..... {
> >> };
> >>
> >> But I see most ports implement these clients with single classes. If we
> >> can
> >> make this mandatory, then we can remove these "virtual" words from these
> >> client interface, and then the compilers could make those functions
> >> "inline"
> >> whenever suitable. I guess this could boost performance a little bit.
> >>
> >> Best regards,
> >>
> >> Yong Li
> >> _______________________________________________
> >> webkit-dev mailing list
> >> webkit-dev at lists.webkit.org
> >> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
> _______________________________________________
> 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