12013-02-07 Balazs Kelemen <kbalazs@webkit.org>
2
3 [WK2][EFL] Set up NetworkProcess
4 https://bugs.webkit.org/show_bug.cgi?id=108832
5
6 Reviewed by NOBODY (OOPS!).
7
8 Make EFL build with ENABLE_NETWORK_PROCESS. By default it is disabled.
9 The patch adds the necessary platform specific bits and stubs for
10 UNIX_DOMAIN_SOCKETS, the SOUP network backend and EFL and it adds the
11 related files to the CMake build system. Some refactoring were also made.
12
13 * CMakeLists.txt:
14 * NetworkProcess/NetworkProcess.cpp:
15 (WebKit::NetworkProcess::NetworkProcess):
16 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
17 Add platform specific IPC code for UNIX_DOMAIN_SOCKETS.
18
19 * NetworkProcess/NetworkResourceLoadScheduler.cpp: Fix mistyping for case
20 sensitive systems.
21 * NetworkProcess/NetworkResourceLoader.cpp:
22 (WebKit::NetworkResourceLoader::start):
23 * NetworkProcess/RemoteNetworkingContext.h: Renamed from Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h.
24 (WebKit):
25 (RemoteNetworkingContext):
26 (WebKit::RemoteNetworkingContext::create):
27 (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
28 (WebKit::RemoteNetworkingContext::setNeedsSiteSpecificQuirks):
29 (WebKit::RemoteNetworkingContext::setLocalFileContentSniffingEnabled):
30 This should be a cross-platform interface so I lifted the header from the mac directory.
31 Removed mac specific arguments from constructor, added setters instead. Added Soup specific bits.
32
33 * NetworkProcess/SyncNetworkResourceLoader.cpp:
34 (WebKit::SyncNetworkResourceLoader::start):
35
36 * NetworkProcess/efl/NetworkProcessEfl.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
37 (WebKit::NetworkProcess::platformInitializeNetworkProcess):
38 (WebKit::NetworkProcess::platformSetCacheModel):
39 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
40 Only stubs for now.
41
42 * NetworkProcess/mac/RemoteNetworkingContext.mm:
43 * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp:
44 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
45 Copied hard-coded constant from ResourceRequestSoup.cpp with comment.
46
47 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp.
48 (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext):
49 (WebKit::RemoteNetworkingContext::isValid):
50 (WebKit::RemoteNetworkingContext::initiatingPageID):
51 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
52 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
53 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
54 (WebKit::RemoteNetworkingContext::storageSession):
55 (WebKit::RemoteNetworkingContext::privateBrowsingSession):
56 RemoteNetworkingContext for soup, without private browsing support yet.
57
58 (WebKit):
59 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Copied from Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp.
60 (WebKit::NetworkProcessMain):
61 (WebKit):
62 * NetworkProcess/unix/NetworkProcessMainUnix.h: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
63 (WebKit): Common entry point for Unix ports. Correct RunLoop initializaton for EFL has been posponed.
64
65 * PlatformEfl.cmake:
66 * Shared/ProcessExecutablePath.h:
67 (WebKit):
68 * Shared/WebResourceBuffer.h: Changed forward declaration of ShareableResource to actual
69 include because GCC requires a definition of the type for passing it in a PassOwnPtr.
70 * Shared/efl/ProcessExecutablePathEfl.cpp:
71 (WebKit):
72 (WebKit::executablePathOfNetworkProcess):
73 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
74 (WebKit::ProcessLauncher::launchProcess):
75
76 * UIProcess/Network/NetworkProcessProxy.cpp:
77 (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
78 (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
79 Guards and handle UNIX_DOMAIN_SOCKETS case.
80
81 * UIProcess/Network/soup/NetworkProcessProxySoup.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
82 (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
83 * UIProcess/soup/WebContextSoup.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
84 (WebKit::WebContext::platformInitializeNetworkProcess):
85 * WebKit2.xcodeproj/project.pbxproj:
86
87 * WebProcess/Network/WebResourceLoader.cpp:
88 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
89 (WebKit):
90 * WebProcess/Network/WebResourceLoader.h:
91 (WebResourceLoader):
92 * WebProcess/Network/WebResourceLoader.messages.in:
93 Added guards where it is appropriate.
94
95 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
96 (WebKit::internalError):
97 (WebKit):
98 * WebProcess/WebProcess.cpp:
99 (WebKit::WebProcess::ensureNetworkProcessConnection):
100 Handle UNIX_DOMAIN_SOCKETS case.
101 * unix/NetworkMainUnix.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
102 (main): Common stub for the executable for unix ports.
103
104 * CMakeLists.txt:
105 * NetworkProcess/NetworkProcess.cpp:
106 (WebKit::NetworkProcess::NetworkProcess):
107 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
108 * NetworkProcess/NetworkResourceLoadScheduler.cpp:
109 * NetworkProcess/NetworkResourceLoader.cpp:
110 (WebKit::NetworkResourceLoader::start):
111 * NetworkProcess/RemoteNetworkingContext.h: Renamed from Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h.
112 (WebKit::RemoteNetworkingContext::create):
113 (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
114 (RemoteNetworkingContext):
115 (WebKit::RemoteNetworkingContext::setNeedsSiteSpecificQuirks):
116 (WebKit::RemoteNetworkingContext::setLocalFileContentSniffingEnabled):
117 * NetworkProcess/SyncNetworkResourceLoader.cpp:
118 (WebKit::SyncNetworkResourceLoader::start):
119 * NetworkProcess/efl/NetworkProcessEfl.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
120 (WebKit::NetworkProcess::platformInitializeNetworkProcess):
121 (WebKit::NetworkProcess::platformSetCacheModel):
122 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
123 * NetworkProcess/mac/RemoteNetworkingContext.mm:
124 * NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
125 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
126 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp.
127 (WebKit::RemoteNetworkingContext::~RemoteNetworkingContext):
128 (WebKit::RemoteNetworkingContext::isValid):
129 (WebKit::RemoteNetworkingContext::initiatingPageID):
130 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
131 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
132 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
133 (WebKit::RemoteNetworkingContext::storageSession):
134 (WebKit::RemoteNetworkingContext::privateBrowsingSession):
135 (WebKit):
136 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Copied from Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp.
137 (WebKit::NetworkProcessMain):
138 (WebKit):
139 * NetworkProcess/unix/NetworkProcessMainUnix.h: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
140 (WebKit):
141 * PlatformEfl.cmake:
142 * Shared/ProcessExecutablePath.h:
143 (WebKit):
144 * Shared/WebResourceBuffer.h:
145 * Shared/efl/ProcessExecutablePathEfl.cpp:
146 (WebKit):
147 (WebKit::executablePathOfNetworkProcess):
148 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
149 (WebKit::ProcessLauncher::launchProcess):
150 * UIProcess/Network/NetworkProcessProxy.cpp:
151 (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
152 (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
153 * UIProcess/Network/soup/NetworkProcessProxySoup.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
154 (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
155 * UIProcess/soup/WebContextSoup.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
156 (WebKit::WebContext::platformInitializeNetworkProcess):
157 * WebKit2.xcodeproj/project.pbxproj:
158 * WebProcess/Network/WebResourceLoader.cpp:
159 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
160 (WebKit):
161 * WebProcess/Network/WebResourceLoader.h:
162 (WebResourceLoader):
163 * WebProcess/Network/WebResourceLoader.messages.in:
164 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
165 (WebKit::internalError):
166 (WebKit):
167 * WebProcess/WebProcess.cpp:
168 (WebKit::WebProcess::ensureNetworkProcessConnection):
169 * unix/NetworkMainUnix.cpp: Copied from Source/WebKit2/Shared/WebResourceBuffer.h.
170 (main):
171