[webkit-dev] libsoup and libcurl networking implementations
Alex Christensen
achristensen at apple.com
Fri Jan 18 18:24:08 PST 2019
TL; DR could someone get my patch from https://bugs.webkit.org/show_bug.cgi?id=193580 working on Linux and Windows?
As part of the quest to reduce process-global state especially in the NetworkProcess, I’m moving NetworkStorageSession ownership from a static map to a member variable of the NetworkProcess object. To accomplish this I eliminated all calls to NetworkStorageSession::storageSession and NetworkStorageSession::defaultStorageSession in WebCore, replacing them by a client call to get a NetworkStorageSession from the WebKit/WebKitLegacy layer in https://trac.webkit.org/r240117 but I did not remove all such calls from the libsoup and libcurl networking implementations. The call to NetworkStorageSession::defaultStorageSession CurlResourceHandleDelegate.cpp and ResourceHandleCurl.cpp shouldn't be too hard to remove by asking the NetworkingContext for the storage instead of calling the static functions, but the calls in DNSResolveQueueSoup.cpp are a little bit trickier. On Cocoa platforms, DNS lookup relies on state that is more global than a NetworkSession. On Linux right now, it seems to use state on the default NetworkStorageSession, which is effectively global right now. I think the best solution that maintains the status quo right now would be to keep the default NetworkStorageSession global in WebKit2 right now, but that requires a little bit more work than I can do blindly and iteratively with EWS. I’d appreciate someone with a Linux development machine getting it working.
More information about the webkit-dev
mailing list