[webkit-dev] WebCore/platform standalone library

Myles C. Maxfield mmaxfield at apple.com
Thu Mar 19 22:13:29 PDT 2015


Sorry, I missed some of this thread before sending my reply. 

First, I'm going to try to get as far as I can by only moving over the non-layer-violating code. Therefore, for the interim, we will have both old and new directories. Then I will work on removing layering violations, one by one. These things will be taken on a case by case basis.

--Myles

> On Mar 19, 2015, at 10:07 PM, Myles C. Maxfield <mmaxfield at apple.com> wrote:
> 
> I do not intend on changing any interfaces or semantics. I only intend to change where code lives and library boundaries. There is no need to increase the scope of this project.
> 
> Also, I do not intend on making up a comical name.
> 
> --Myles
> 
>>> On Mar 19, 2015, at 3:03 PM, Benjamin Poulain <benjamin at webkit.org> wrote:
>>> 
>>>> 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.
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev


More information about the webkit-dev mailing list