diff options
Diffstat (limited to 'Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp')
-rw-r--r-- | Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp b/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp index 992d74075..870c01c27 100644 --- a/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp +++ b/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp @@ -26,6 +26,7 @@ #include "config.h" #include "PluginProcessMainGtk.h" +#include "NetscapePlugin.h" #include "PluginProcess.h" #include <WebCore/RunLoop.h> #include <gdk/gdkx.h> @@ -53,12 +54,22 @@ static int webkitgtkXError(Display* xdisplay, XErrorEvent* error) WK_EXPORT int PluginProcessMainGtk(int argc, char* argv[]) { - ASSERT(argc == 2); + ASSERT(argc == 2 || argc == 3); + bool scanPlugin = !strcmp(argv[1], "-scanPlugin"); + ASSERT(argc == 2 || (argc == 3 && scanPlugin)); gtk_init(&argc, &argv); JSC::initializeThreading(); WTF::initializeMainThread(); + + if (scanPlugin) { + String pluginPath(argv[2]); + if (!NetscapePluginModule::scanPlugin(pluginPath)) + return EXIT_FAILURE; + return EXIT_SUCCESS; + } + RunLoop::initializeMainRunLoop(); // Plugins can produce X errors that are handled by the GDK X error handler, which |