[webkit-dev] Using Google-URL in WebKit

Maciej Stachowiak mjs at apple.com
Thu Oct 2 14:58:07 PDT 2008


On Oct 2, 2008, at 2:53 PM, Darin Fisher wrote:

>
> I agree that it would be very nice to share implementations here.
>
> One thing I'd like to highlight:  It is a requirement for Chromium  
> to use consistent URL parsing throughout the entire application.   
> This includes all processes, the network stack, etc.  While we could  
> invoke KURL to do so, it is hugely beneficial to us to be able to  
> simply reuse the core elements of GoogleURL (url_canon, url_parse)  
> via the GURL interface.  So, we end up with GKURL used by WebCore  
> and GURL used by the rest of Chromium, but both of those are just  
> thin interface layers around GoogleURL's core.  I think it would be  
> very awkward (probably a non-starter) for us if we were not able to  
> separate the KURL interface from the guts and reuse those guts  
> efficiently in the other parts of our application.  For example,  
> those guts are entirely parameterized the string type, allowing us  
> to substitute std::string for WebCore::String, and so on in a very  
> efficient manner.  The core elements of GoogleURL do not depend on  
> any specific libraries, and that is very important for our reuse of  
> it throughout our entire application.
>
> Hope this helps clarify why we have what we have.

I'd be open to WebCore exporting a more general or lower-level URL  
interface that is more readily usable from non-WebCore contexts, if  
KURL does not suit as-is.

I should also note that, originally, our KURL was a wrapper on top of  
NSURL, since the app level and network layer for the Mac port use  
NSURL. We decided to drop that in favor of cross-platform code, and  
convert to NSURL as the boundaries. As far as I know, we have not had  
serious problems from mismatches, whether security or otherwise.

Regards,
Maciej



More information about the webkit-dev mailing list