[webkit-dev] WebCore/platform standalone library

Benjamin Poulain benjamin at webkit.org
Thu Mar 19 15:03:48 PDT 2015


On 3/19/15 2:49 PM, Maciej Stachowiak wrote:
>
>> On Mar 19, 2015, at 1:47 PM, Benjamin Poulain <benjamin at webkit.org> wrote:
>>
>> On 3/18/15 9:43 PM, Myles C. Maxfield wrote:
>>> Hello, all,
>>>
>>> I’d like to announce that I intend to create a standalone static library from the current contents of WebCore/platform over the coming months. This will involve creating a “Platform" top-level directory and moving source files into it, one by one.
>>>
>>> There are a few reasons for this:
>>>
>>> 1. Enforcing the layering between Platform and WebCore. Moving Platform into its own target/directory can guarantee that nothing inside it knows about anything in WebCore.
>>> 2. Being able to test code in the Platform directory with TestWebKitAPI (without exporting Platform symbols from the WebCore library)
>>> 3. Managing conceptual complexity.
>>>
>>> Does anyone have any thoughts or feedback?
>>
>> That's an awesome project. That's gonna be a lot of work.
>>
>> How do you plan to do the interface between WebCore and Platform?
>>
>> Between WebCore and WebKit, we use interfaces with pure virtual functions that are implemented by the clients.
>> Between WebCore and the platform, we have headers and each port has its own implementation of that interface.
>>
>> Do you plan to move Platform behind a public interface or keep the current model?
>
> I don’t think we need a model like the WebCore/WebKit interface. WTF is essentially like the proposed Platform library already, and it just exposes normal C++ headers and implementation files. I think the main benefit here is cleaning up the layering, as opposed to adding more abstraction. In fact, you could sort of think of WTF and Platform as logically the same library, with WTF being only the parts needed by JavaScriptCore, plus things that are logically at the same level (so basically non-GUI and no networking code).
>
> This almost makes me want to suggest a jokey name for Platform. I can’t off the top of my head think of a good expansion of OMG, though. Or BBQ.

Have you seen the "clean" interface of ResourceHandle? :)

The client layers tend to get cleaner over time while the lower layers 
tends to become messier.


More information about the webkit-dev mailing list