Diff
Modified: trunk/ChangeLog (91014 => 91015)
--- trunk/ChangeLog 2011-07-14 17:45:04 UTC (rev 91014)
+++ trunk/ChangeLog 2011-07-14 17:49:47 UTC (rev 91015)
@@ -1,3 +1,13 @@
+2011-07-14 Carlos Garcia Campos <cgar...@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement Plugin Process
+ https://bugs.webkit.org/show_bug.cgi?id=60546
+
+ * configure.ac: Always check for gtk2 when building the plugin
+ process.
+
2011-07-14 MORITA Hajime <morr...@google.com>
Unreviewed, rolling out r90976, r90981, and r90985.
Modified: trunk/Source/WebKit2/ChangeLog (91014 => 91015)
--- trunk/Source/WebKit2/ChangeLog 2011-07-14 17:45:04 UTC (rev 91014)
+++ trunk/Source/WebKit2/ChangeLog 2011-07-14 17:49:47 UTC (rev 91015)
@@ -1,3 +1,21 @@
+2011-07-14 Carlos Garcia Campos <cgar...@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement Plugin Process
+ https://bugs.webkit.org/show_bug.cgi?id=60546
+
+ * GNUmakefile.am: Add new files to compilation.
+ * PluginProcess/gtk/PluginProcessMainGtk.cpp: Added.
+ (WebKit::PluginProcessMainGtk):
+ * PluginProcess/gtk/PluginProcessMainGtk.h: Added.
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
+ (WebKit::moduleMixesGtkSymbols):
+ * gtk/PluginMainGtk.cpp: Added.
+ (main):
+
2011-07-14 Balazs Kelemen <kbal...@webkit.org> and Carlos Garcia Campos <cgar...@igalia.com>
Reviewed by Anders Carlsson.
Modified: trunk/Source/WebKit2/GNUmakefile.am (91014 => 91015)
--- trunk/Source/WebKit2/GNUmakefile.am 2011-07-14 17:45:04 UTC (rev 91014)
+++ trunk/Source/WebKit2/GNUmakefile.am 2011-07-14 17:49:47 UTC (rev 91015)
@@ -978,6 +978,7 @@
Programs_WebKitWebProcess_CFLAGS = \
$(global_cflags) \
+ $(CAIRO_CFLAGS) \
$(GLIB_CFLAGS) \
$(GTK_CFLAGS) \
$(LIBSOUP_CFLAGS)
@@ -994,3 +995,225 @@
Programs_WebKitWebProcess_LDFLAGS = \
-no-fast-install \
-no-install
+
+# PluginProcess
+if ENABLE_PLUGIN_PROCESS
+
+# We need to make sure plugin process is always built with gtk2, because plugins like flash
+# still use gtk2. Since webcore was built with gtk3, we need to build webcoregtk sources again with gtk2
+noinst_LTLIBRARIES += \
+ libWebCoreGtk2.la
+
+libWebCoreGtk2_la_SOURCES = \
+ $(webcoregtk_sources)
+
+libWebCoreGtk2_la_CXXFLAGS = \
+ $(SYMBOL_VISIBILITY_INLINES) \
+ $(global_cxxflags)
+
+libWebCoreGtk2_la_CFLAGS = \
+ $(SYMBOL_VISIBILITY) \
+ $(global_cflags)
+
+libWebCoreGtk2_la_CPPFLAGS = \
+ -DBUILDING_WEBKIT \
+ -DGTK_API_VERSION_2=1 \
+ $(global_cppflags) \
+ $(webcore_cppflags) \
+ $(webcoregtk_cppflags) \
+ $(_javascript_core_cppflags) \
+ -fno-strict-aliasing \
+ $(COVERAGE_CFLAGS) \
+ $(ENCHANT_CFLAGS) \
+ $(GEOCLUE_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(GSTREAMER_CFLAGS) \
+ $(GTK2_CFLAGS) \
+ $(LIBSOUP_CFLAGS) \
+ $(LIBXML_CFLAGS) \
+ $(LIBXSLT_CFLAGS) \
+ $(SQLITE3_CFLAGS) \
+ $(UNICODE_CFLAGS) \
+ $(XRENDER_CFLAGS) \
+ $(XT_CFLAGS)
+
+plugin_process_built_sources = \
+ DerivedSources/WebKit2/NPObjectMessageReceiverMessageReceiver.cpp \
+ DerivedSources/WebKit2/NPObjectMessageReceiverMessages.h \
+ DerivedSources/WebKit2/PluginControllerProxyMessageReceiver.cpp \
+ DerivedSources/WebKit2/PluginControllerProxyMessages.h \
+ DerivedSources/WebKit2/PluginProcessMessageReceiver.cpp \
+ DerivedSources/WebKit2/PluginProcessMessages.h \
+ DerivedSources/WebKit2/WebProcessConnectionMessageReceiver.cpp \
+ DerivedSources/WebKit2/WebProcessConnectionMessages.h
+
+bin_PROGRAMS += \
+ Programs/WebKitPluginProcess
+
+Programs_WebKitPluginProcess_CPPFLAGS = \
+ -include $(srcdir)/Source/WebKit2/WebKit2Prefix.h \
+ -I$(srcdir)/Source/WebKit2 \
+ -I$(srcdir)/Source/WebKit2/Platform \
+ -I$(srcdir)/Source/WebKit2/Platform/CoreIPC/ \
+ -I$(srcdir)/Source/WebKit2/PluginProcess/ \
+ -I$(srcdir)/Source/WebKit2/PluginProcess/gtk \
+ -I$(srcdir)/Source/WebKit2/Shared \
+ -I$(srcdir)/Source/WebKit2/Shared/Plugins \
+ -I$(srcdir)/Source/WebKit2/Shared/Plugins/Netscape/ \
+ -I$(srcdir)/Source/WebKit2/UIProcess/Plugins/ \
+ -I$(srcdir)/Source/WebKit2/WebProcess/Plugins/ \
+ -I$(srcdir)/Source/WebKit2/WebProcess/Plugins/Netscape/ \
+ -I$(top_builddir)/DerivedSources/WebKit2 \
+ -I$(top_builddir)/DerivedSources/WebKit2/include \
+ -I$(top_builddir)/DerivedSources/WebKit2/include/_javascript_Core \
+ -I$(top_builddir)/DerivedSources/WebKit2/include/WebCore \
+ -I$(top_builddir)/DerivedSources/WebKit2/include/WebKit2 \
+ -DBUILDING_WEBKIT \
+ -DGTK_API_VERSION_2=1 \
+ -DENABLE_PLUGIN_PROCESS=1 \
+ $(global_cppflags) \
+ $(webcore_cppflags) \
+ $(webcoregtk_cppflags) \
+ $(_javascript_core_cppflags) \
+ -fno-strict-aliasing \
+ $(CAIRO_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(GSTREAMER_CFLAGS) \
+ $(GTK2_CFLAGS) \
+ $(LIBSOUP_CFLAGS) \
+ $(UNICODE_CFLAGS)
+
+Programs_WebKitPluginProcess_CFLAGS = \
+ $(SYMBOL_VISIBILITY) \
+ $(global_cflags) \
+ $(CAIRO_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(GSTREAMER_CFLAGS) \
+ $(GTK2_CFLAGS) \
+ $(LIBSOUP_CFLAGS) \
+ $(UNICODE_CFLAGS)
+
+Programs_WebKitPluginProcess_SOURCES = \
+ $(plugin_process_built_sources) \
+ Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h \
+ Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h \
+ Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp \
+ Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp \
+ Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h \
+ Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp \
+ Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h \
+ Source/WebKit2/Platform/CoreIPC/Arguments.h \
+ Source/WebKit2/Platform/CoreIPC/Attachment.cpp \
+ Source/WebKit2/Platform/CoreIPC/Attachment.h \
+ Source/WebKit2/Platform/CoreIPC/BinarySemaphore.cpp \
+ Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h \
+ Source/WebKit2/Platform/CoreIPC/Connection.cpp \
+ Source/WebKit2/Platform/CoreIPC/Connection.h \
+ Source/WebKit2/Platform/CoreIPC/CoreIPCMessageKinds.h \
+ Source/WebKit2/Platform/CoreIPC/DataReference.cpp \
+ Source/WebKit2/Platform/CoreIPC/DataReference.h \
+ Source/WebKit2/Platform/CoreIPC/HandleMessage.h \
+ Source/WebKit2/Platform/CoreIPC/MessageID.h \
+ Source/WebKit2/Platform/CoreIPC/MessageSender.h \
+ Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp \
+ Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp \
+ Source/WebKit2/Platform/Module.cpp \
+ Source/WebKit2/Platform/Module.h \
+ Source/WebKit2/Platform/WorkItem.h \
+ Source/WebKit2/Platform/WorkQueue.cpp \
+ Source/WebKit2/Platform/WorkQueue.h \
+ Source/WebKit2/Platform/RunLoop.cpp \
+ Source/WebKit2/Platform/RunLoop.h \
+ Source/WebKit2/Platform/SharedMemory.h \
+ Source/WebKit2/Platform/gtk/ModuleGtk.cpp \
+ Source/WebKit2/Platform/gtk/RunLoopGtk.cpp \
+ Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp \
+ Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp \
+ Source/WebKit2/PluginProcess/PluginControllerProxy.cpp \
+ Source/WebKit2/PluginProcess/PluginControllerProxy.h \
+ Source/WebKit2/PluginProcess/PluginCreationParameters.cpp \
+ Source/WebKit2/PluginProcess/PluginCreationParameters.h \
+ Source/WebKit2/PluginProcess/PluginProcess.cpp \
+ Source/WebKit2/PluginProcess/PluginProcess.h \
+ Source/WebKit2/PluginProcess/PluginProcessMain.h \
+ Source/WebKit2/PluginProcess/WebProcessConnection.cpp \
+ Source/WebKit2/PluginProcess/WebProcessConnection.h \
+ Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.cpp \
+ Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h \
+ Source/WebKit2/PluginProcess/gtk/PluginControllerProxyGtk.cpp \
+ Source/WebKit2/PluginProcess/gtk/PluginProcessGtk.cpp \
+ Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h \
+ Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp \
+ Source/WebKit2/Shared/ChildProcess.cpp \
+ Source/WebKit2/Shared/ChildProcess.h \
+ Source/WebKit2/Shared/Plugins/NPIdentifierData.cpp \
+ Source/WebKit2/Shared/Plugins/NPIdentifierData.h \
+ Source/WebKit2/Shared/Plugins/NPObjectMessageReceiver.cpp \
+ Source/WebKit2/Shared/Plugins/NPObjectMessageReceiver.h \
+ Source/WebKit2/Shared/Plugins/NPObjectProxy.cpp \
+ Source/WebKit2/Shared/Plugins/NPObjectProxy.h \
+ Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.cpp \
+ Source/WebKit2/Shared/Plugins/NPRemoteObjectMap.h \
+ Source/WebKit2/Shared/Plugins/NPVariantData.cpp \
+ Source/WebKit2/Shared/Plugins/NPVariantData.h \
+ Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.cpp \
+ Source/WebKit2/Shared/Plugins/Netscape/NetscapePluginModule.h \
+ Source/WebKit2/Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp \
+ Source/WebKit2/Shared/ShareableBitmap.cpp \
+ Source/WebKit2/Shared/ShareableBitmap.h \
+ Source/WebKit2/Shared/WebCoreArgumentCoders.cpp \
+ Source/WebKit2/Shared/WebCoreArgumentCoders.h \
+ Source/WebKit2/Shared/WebEvent.cpp \
+ Source/WebKit2/Shared/WebEvent.h \
+ Source/WebKit2/Shared/WebKeyboardEvent.cpp \
+ Source/WebKit2/Shared/WebMouseEvent.cpp \
+ Source/WebKit2/Shared/WebWheelEvent.cpp \
+ Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp \
+ Source/WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp \
+ Source/WebKit2/Shared/gtk/NativeWebWheelEventGtk.cpp \
+ Source/WebKit2/Shared/gtk/NativeWebMouseEventGtk.cpp \
+ Source/WebKit2/Shared/gtk/WebEventFactory.cpp \
+ Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp \
+ Source/WebKit2/WebProcess/Plugins/Plugin.cpp \
+ Source/WebKit2/WebProcess/Plugins/Plugin.h \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeUtilities.h \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp \
+ Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.h \
+ Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp \
+ Source/WebKit2/gtk/PluginMainGtk.cpp
+
+Programs_WebKitPluginProcess_LDADD = \
+ -lpthread \
+ libWebCore.la \
+ libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
+ libWebCoreGtk2.la \
+ $(CAIRO_LIBS) \
+ $(COVERAGE_LDFLAGS) \
+ $(GEOCLUE_LIBS) \
+ $(GLIB_LIBS) \
+ $(GSTREAMER_LIBS) \
+ $(GTK2_LIBS) \
+ $(JPEG_LIBS) \
+ $(LIBSOUP_LIBS) \
+ $(LIBXML_LIBS) \
+ $(LIBXSLT_LIBS) \
+ $(PANGO_LIBS) \
+ $(PNG_LIBS) \
+ $(SQLITE3_LIBS) \
+ $(UNICODE_LIBS) \
+ $(XT_LIBS)
+
+Programs_WebKitPluginProcess_LDFLAGS = \
+ -no-fast-install \
+ -no-install
+
+Programs_WebKitPluginProcess_CXXFLAGS = \
+ $(SYMBOL_VISIBILITY_INLINES) \
+ $(global_cxxflags)
+
+endif
\ No newline at end of file
Added: trunk/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp (0 => 91015)
--- trunk/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp (rev 0)
+++ trunk/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.cpp 2011-07-14 17:49:47 UTC (rev 91015)
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "PluginProcessMainGtk.h"
+
+#include "PluginProcess.h"
+#include <WebKit2/RunLoop.h>
+#include <gtk/gtk.h>
+#include <runtime/InitializeThreading.h>
+#include <wtf/Threading.h>
+
+namespace WebKit {
+
+WK_EXPORT int PluginProcessMainGtk(int argc, char* argv[])
+{
+ ASSERT(argc == 2);
+
+ gtk_init(&argc, &argv);
+
+ JSC::initializeThreading();
+ WTF::initializeMainThread();
+ RunLoop::initializeMainRunLoop();
+
+ int socket = atoi(argv[1]);
+ WebKit::PluginProcess::shared().initialize(socket, RunLoop::main());
+ RunLoop::run();
+
+ return 0;
+}
+
+} // namespace WebKit
+
+
Added: trunk/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h (0 => 91015)
--- trunk/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h (rev 0)
+++ trunk/Source/WebKit2/PluginProcess/gtk/PluginProcessMainGtk.h 2011-07-14 17:49:47 UTC (rev 91015)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef PluginProcessMainGtk_h
+#define PluginProcessMainGtk_h
+
+#include <WebKit2/WKBase.h>
+
+namespace WebKit {
+
+#ifdef __cplusplus
+extern "C" {
+WK_EXPORT int PluginProcessMainGtk(int argc, char* argv[]);
+} // extern "C"
+#endif // __cplusplus
+
+} // namespace WebKit
+
+#endif // PluginProcessMain_h
Modified: trunk/Source/WebKit2/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp (91014 => 91015)
--- trunk/Source/WebKit2/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp 2011-07-14 17:45:04 UTC (rev 91014)
+++ trunk/Source/WebKit2/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp 2011-07-14 17:49:47 UTC (rev 91015)
@@ -44,6 +44,7 @@
namespace WebKit {
const char* gWebKitWebProcessName = "WebKitWebProcess";
+const char* gWebKitPluginProcessName = "WebKitPluginProcess";
static void childSetupFunction(gpointer userData)
{
@@ -75,7 +76,8 @@
return;
}
- GOwnPtr<gchar> binaryPath(g_build_filename(applicationDirectoryPath().data(), gWebKitWebProcessName, NULL));
+ GOwnPtr<gchar> binaryPath(g_build_filename(applicationDirectoryPath().data(),
+ m_launchOptions.processType == ProcessLauncher::WebProcess ? gWebKitWebProcessName : gWebKitPluginProcessName, NULL));
GOwnPtr<gchar> socket(g_strdup_printf("%d", sockets[0]));
char* argv[3];
argv[0] = binaryPath.get();
Modified: trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp (91014 => 91015)
--- trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2011-07-14 17:45:04 UTC (rev 91014)
+++ trunk/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2011-07-14 17:49:47 UTC (rev 91015)
@@ -134,7 +134,11 @@
#if PLATFORM(GTK)
static bool moduleMixesGtkSymbols(Module* module)
{
+#ifdef GTK_API_VERSION_2
+ return module->functionPointer<gpointer>("gtk_application_get_type");
+#else
return module->functionPointer<gpointer>("gtk_object_get_type");
+#endif
}
#endif
Added: trunk/Source/WebKit2/gtk/PluginMainGtk.cpp (0 => 91015)
--- trunk/Source/WebKit2/gtk/PluginMainGtk.cpp (rev 0)
+++ trunk/Source/WebKit2/gtk/PluginMainGtk.cpp 2011-07-14 17:49:47 UTC (rev 91015)
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Portions Copyright (c) 2010 Motorola Mobility, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "PluginProcessMainGtk.h"
+
+int main(int argc, char** argv)
+{
+ return WebKit::PluginProcessMainGtk(argc, argv);
+}
Modified: trunk/configure.ac (91014 => 91015)
--- trunk/configure.ac 2011-07-14 17:45:04 UTC (rev 91014)
+++ trunk/configure.ac 2011-07-14 17:49:47 UTC (rev 91015)
@@ -196,24 +196,29 @@
[with_gtk=2.0])
AC_MSG_RESULT([$with_gtk])
+GTK2_REQUIRED_VERSION=2.10
+GAIL2_REQUIRED_VERSION=1.8
+GTK3_REQUIRED_VERSION=3.0
+GAIL3_REQUIRED_VERSION=3.0
+
case "$with_gtk" in
- 2.0) GTK_REQUIRED_VERSION=2.10
+ 2.0) GTK_REQUIRED_VERSION=$GTK2_REQUIRED_VERSION
GTK_API_VERSION=2.0
WEBKITGTK_API_MAJOR_VERSION=1
WEBKITGTK_API_MINOR_VERSION=0
WEBKITGTK_API_VERSION=1.0
WEBKITGTK_PC_NAME=webkit
GAIL_PC_NAME=gail
- GAIL_REQUIRED_VERSION=1.8
+ GAIL_REQUIRED_VERSION=$GAIL2_REQUIRED_VERSION
;;
- 3.0) GTK_REQUIRED_VERSION=3.0
+ 3.0) GTK_REQUIRED_VERSION=$GTK3_REQUIRED_VERSION
GTK_API_VERSION=3.0
WEBKITGTK_API_MAJOR_VERSION=3
WEBKITGTK_API_MINOR_VERSION=0
WEBKITGTK_API_VERSION=3.0
WEBKITGTK_PC_NAME=webkitgtk
GAIL_PC_NAME=gail-3.0
- GAIL_REQUIRED_VERSION=3.0
+ GAIL_REQUIRED_VERSION=$GAIL3_REQUIRED_VERSION
;;
esac
@@ -1110,6 +1115,15 @@
if test "$enable_webkit2" = "no"; then
enable_plugin_process=no
fi
+
+# Make sure we have gtk+ 2.x to build the plugin process
+if test "$enable_plugin_process" = "yes"; then
+ PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= $GTK2_REQUIRED_VERSION gail >= $GAIL2_REQUIRED_VERSION)
+fi
+
+AC_SUBST(GTK2_CFLAGS)
+AC_SUBST(GTK2_LIBS)
+
AC_MSG_RESULT([$enable_plugin_process])
GTK_DOC_CHECK([1.10])