[webkit-dev] WebKit Wishes
mjs at apple.com
Sun Feb 3 10:46:45 PST 2013
On Feb 2, 2013, at 10:44 PM, Eric Seidel <eric at webkit.org> wrote:
> On Wed, Jan 30, 2013 at 1:57 PM, Maciej Stachowiak <mjs at apple.com> wrote:
>>> I wish WebCore was not trapped by Mac WebKit1’s legacy designs.
>>> WebKit2 is obviously a step towards the future. But until we can kill the
>>> Widget tree, the insanely fragile loader complexity, and the limits imposed
>>> by the least-common-denominator on classes like ResourceRequest, we’re still
>>> trapped in the past. One of the things I’ve learned in working on Chromium,
>>> is that we were wrong many years ago to fold our platform abstraction
>>> (Qt-implementation) and khtml into one library. In a sand-boxed
>>> multi-process world, the rendering library is just a hunk of code running
>>> the same on every platform. And platform code has no place in our core
>>> engine code (aka WebCore).
>> In designing WebKit2, we tried to avoid some mistakes in the WebKit1 Mac API
>> design (such as exposing the underlying network library, exposing our NSView
>> hierarchy as part of the API, and giving too much salience to frames). While
>> we can't remove those parts of the API entirely, if we get more Mac API
>> clients onto WebKit2, then the performance of these details of the WK1 API
>> becomes less critical, and we can simulate them in ways that have lower
>> performance but also less impact on WebCore.
> Do you have any pie-in-the-sky guestimates as to when in the future we
> may be able to release ourselves from WebKit1 API constraints (through
> this current WK2 path)?
> 1 year? 5 years? 10 years?
If you're asking about phasing it out entirely, we don't have any immediate plans to deprecate or remove the WebKit1 mac API. There are quite a few Apple and third-party apps using it, and WebKit2 is not even public API on Mac OS X currently.
As for implementing aspects of the WebKit1 API in a less efficient but less WebCore-intrusive way, we could probably start doing that now, on a case-by-case basis. Do you have any specific constraints you're concerned about?
More information about the webkit-dev