We need to ensure there's a network process running before starting a new download like we do when using the web process. This makes all WebKit2GTK+ download unit tests to crash.
Created attachment 220054 [details] Patch
Comment on attachment 220054 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=220054&action=review Good job! > Source/WebKit2/UIProcess/WebContext.cpp:766 > + networkProcess()->send(Messages::NetworkProcess::DownloadRequest(downloadProxy->downloadID(), request), 0); I guess this is totally unrelated and just to keep consistency with the rest of the file > Source/WebKit2/UIProcess/WebContext.cpp:946 > #endif Looks correct. I understand that this might be difficult to reproduce in real life situations (as a webprocess should have been spawned and a networkprocess with it) but easily in the unit tests.
(In reply to comment #2) > (From update of attachment 220054 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=220054&action=review > > Good job! > > > Source/WebKit2/UIProcess/WebContext.cpp:766 > > + networkProcess()->send(Messages::NetworkProcess::DownloadRequest(downloadProxy->downloadID(), request), 0); > > I guess this is totally unrelated and just to keep consistency with the rest of the file No, it's not, see the ChageLog. "Use ChildProcessProxy::send() instead of using the connection to make sure messages are queued" > > Source/WebKit2/UIProcess/WebContext.cpp:946 > > #endif > > Looks correct. I understand that this might be difficult to reproduce in real life situations (as a webprocess should have been spawned and a networkprocess with it) but easily in the unit tests. It's difficult to happen in a web browser, yes, but our API allows to start a download from a WebContext without any web page involved.
Comment on attachment 220054 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=220054&action=review >>> Source/WebKit2/UIProcess/WebContext.cpp:766 >>> + networkProcess()->send(Messages::NetworkProcess::DownloadRequest(downloadProxy->downloadID(), request), 0); >> >> I guess this is totally unrelated and just to keep consistency with the rest of the file > > No, it's not, see the ChageLog. > > "Use ChildProcessProxy::send() instead of using the connection to make sure messages are queued" Oh yeah I totally overlooked it
Committed r161559: <http://trac.webkit.org/changeset/161559>