[webkit-dev] WebKit Wishes

Maciej Stachowiak mjs at apple.com
Sun Feb 3 14:24:45 PST 2013

On Feb 3, 2013, at 11:58 AM, Adam Barth <abarth at webkit.org> wrote:

> On Sun, Feb 3, 2013 at 11:46 AM, Adam Barth <abarth at webkit.org> wrote:
>> Yeah, another example is ResourceHandle, which is theoretically a
>> platform-agnostic abstraction but in reality is heavily constrained by
>> the capabilities of CFNetwork.
> To be precise, the following WebKit API on Mac OS X is one of the root
> causes of these restrictions:
> webView:resource:willSendRequest:redirectResponse:fromDataSource
> This API imposes the requirement that WebCore::ResourceRequest can
> round-trip through NSURLRequest.  That means we're unable to improve
> WebCore::ResourceRequest beyond the limitations of NSURLRequest.

We will likely change things to make the WebKit API on Mac allocate the NSURLRequest on demand at the API interface, but it seems like that by itself wouldn't solve the problem. However, if ResourceRequest needs to carry data that NSURLRequest can't, we could save it and reassociate it when the delegate returns (assuming that in each case there is a clear answer to whether extra parameters should be copied or dropped). Arguably that latter step could be done now, depending on what extra fields we'd like to carry as a request.

This is one reason why in the WebKit2 API we use a wrapped representation of a resource request instead of exposing the network layer directly. I think this avoids the problem, though if it doesn't, it would be good to know while we still have some freedom to change things.


More information about the webkit-dev mailing list