> On Aug 22, 2014, at 11:07, Antti Koivisto <koivi...@iki.fi> wrote:
> 
> Hi,
> 
> To make callbacks from WebCore to WebKit(2) we have generally used approach 
> where WebCore exports an abstract client interface which is then implemented 
> on the WebKit side.
> 
> More recently there has been some proliferation of a pattern where we inherit 
> directly from a concrete WebCore type and specialize it on the WebKit side, 
> in some cases with a completely different implementation:
> 
> class WebResourceLoadScheduler : public WebCore::ResourceLoadScheduler {
> class GraphicsLayerCARemote final : public WebCore::GraphicsLayerCA {
> etc.
> 
> I don't think this is a good pattern. It makes understanding the code harder 
> as you can no longer reason about it within the WebCore only (the WebCore 
> side implementation you are looking at may be effectively dead code). It also 
> blurs the library boundary (which is still useful at least as long as we 
> support both WebKit and WebKit2). 
> 
> I think we should avoid this pattern in new code and possibly refactor some 
> of the existing examples.

Agreed, I think as the remote layer tree project went on we realized that this 
(all of the WebKit2-side *Remote subclasses) was a huge mistake, and just 
haven’t fixed it yet (not sure how straightforward it will be to fix, either, 
but we should try).

> 
>    antti
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to