summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp')
-rw-r--r--Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp63
1 files changed, 25 insertions, 38 deletions
diff --git a/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp b/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp
index 57d4ab3e6..3711f4a4b 100644
--- a/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp
+++ b/Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp
@@ -25,61 +25,48 @@
*/
#include "config.h"
-#include "WebProcessMainGtk.h"
+#include "WebProcessMainUnix.h"
-#include "WKBase.h"
-#include "WebKit2Initialize.h"
-#include <WebCore/AuthenticationChallenge.h>
-#include <WebCore/NetworkingContext.h>
+#include "ChildProcessMain.h"
+#include "WebProcess.h"
#include <WebCore/SoupNetworkSession.h>
-#include <WebKit2/WebProcess.h>
#include <gtk/gtk.h>
#include <libintl.h>
#include <libsoup/soup.h>
-#include <unistd.h>
-#include <wtf/RunLoop.h>
-#include <wtf/gobject/GRefPtr.h>
+#include <wtf/CurrentTime.h>
+
+#if PLATFORM(X11)
+#include <X11/Xlib.h>
+#endif
using namespace WebCore;
namespace WebKit {
-WK_EXPORT int WebProcessMainGtk(int argc, char* argv[])
-{
- ASSERT(argc == 2);
-
+class WebProcessMain final: public ChildProcessMainBase {
+public:
+ bool platformInitialize() override
+ {
#ifndef NDEBUG
- if (g_getenv("WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH"))
- sleep(30);
+ if (g_getenv("WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH"))
+ g_usleep(30 * G_USEC_PER_SEC);
#endif
- gtk_init(&argc, &argv);
-
- bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
-
- InitializeWebKit2();
-
- int socket = atoi(argv[1]);
-
- ChildProcessInitializationParameters parameters;
- parameters.connectionIdentifier = socket;
-
- WebProcess::shared().initialize(parameters);
-
- // Despite using system CAs to validate certificates we're
- // accepting invalid certificates by default. New API will be
- // added later to let client accept/discard invalid certificates.
- SoupNetworkSession::defaultSession().setSSLPolicy(SoupNetworkSession::SSLUseSystemCAFile);
+#if (USE(COORDINATED_GRAPHICS_THREADED) || USE(GSTREAMER_GL)) && PLATFORM(X11)
+ XInitThreads();
+#endif
+ gtk_init(nullptr, nullptr);
- RunLoop::run();
+ bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
- if (SoupCache* soupCache = SoupNetworkSession::defaultSession().cache()) {
- soup_cache_flush(soupCache);
- soup_cache_dump(soupCache);
+ return true;
}
+};
- return 0;
+int WebProcessMainUnix(int argc, char** argv)
+{
+ return ChildProcessMain<WebProcess, WebProcessMain>(argc, argv);
}
} // namespace WebKit