diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp | 63 |
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 |