Diff
Modified: trunk/ChangeLog (218627 => 218628)
--- trunk/ChangeLog 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/ChangeLog 2017-06-21 07:49:21 UTC (rev 218628)
@@ -1,3 +1,14 @@
+2017-06-21 Carlos Garcia Campos <[email protected]>
+
+ [GTK] Move WebGtkExtensionManager and WebGtkInjectedBundleMain to glib API dir
+ https://bugs.webkit.org/show_bug.cgi?id=173606
+
+ Reviewed by Žan Doberšek.
+
+ Update public symbols that were renamed.
+
+ * Source/cmake/gtksymbols.filter:
+
2017-06-20 Zan Dobersek <[email protected]>
[GCrypt] Implement CryptoKeyEC SPKI imports
Modified: trunk/Source/WebKit2/ChangeLog (218627 => 218628)
--- trunk/Source/WebKit2/ChangeLog 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/Source/WebKit2/ChangeLog 2017-06-21 07:49:21 UTC (rev 218628)
@@ -1,3 +1,23 @@
+2017-06-21 Carlos Garcia Campos <[email protected]>
+
+ [GTK] Move WebGtkExtensionManager and WebGtkInjectedBundleMain to glib API dir
+ https://bugs.webkit.org/show_bug.cgi?id=173606
+
+ Reviewed by Žan Doberšek.
+
+ And rename them to use WebKit prefix instead of WebGtk.
+
+ * PlatformGTK.cmake:
+ * WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp.
+ (WebKit::WebKitExtensionManager::singleton):
+ (WebKit::WebKitExtensionManager::WebKitExtensionManager):
+ (WebKit::WebKitExtensionManager::scanModules):
+ (WebKit::WebKitExtensionManager::initializeWebExtension):
+ (WebKit::WebKitExtensionManager::initialize):
+ * WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.h: Renamed from Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h.
+ * WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp.
+ (WKBundleInitialize):
+
2017-06-20 Frederic Wang <[email protected]>
Pass the argument of DrawingArea::shouldUseTiledBackingForFrameView by reference
Modified: trunk/Source/WebKit2/PlatformGTK.cmake (218627 => 218628)
--- trunk/Source/WebKit2/PlatformGTK.cmake 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/Source/WebKit2/PlatformGTK.cmake 2017-06-21 07:49:21 UTC (rev 218628)
@@ -241,6 +241,7 @@
WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
WebProcess/InjectedBundle/API/glib/WebKitConsoleMessage.cpp
+ WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp
WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp
WebProcess/InjectedBundle/API/glib/WebKitScriptWorld.cpp
WebProcess/InjectedBundle/API/glib/WebKitWebEditor.cpp
@@ -396,8 +397,6 @@
WebProcess/WebPage/gtk/WebPageGtk.cpp
WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
- WebProcess/gtk/WebGtkExtensionManager.cpp
- WebProcess/gtk/WebGtkInjectedBundleMain.cpp
WebProcess/gtk/WebProcessMainGtk.cpp
WebProcess/soup/WebKitSoupRequestInputStream.cpp
@@ -796,7 +795,6 @@
"${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/DOM"
"${WEBKIT2_DIR}/WebProcess/Plugins/Netscape/unix"
"${WEBKIT2_DIR}/WebProcess/Plugins/Netscape/x11"
- "${WEBKIT2_DIR}/WebProcess/gtk"
"${WEBKIT2_DIR}/WebProcess/soup"
"${WEBKIT2_DIR}/WebProcess/unix"
"${WEBKIT2_DIR}/WebProcess/WebCoreSupport/gtk"
@@ -1095,7 +1093,7 @@
"${FORWARDING_HEADERS_WEBKIT2GTK_DIR}"
)
-add_library(webkit2gtkinjectedbundle MODULE "${WEBKIT2_DIR}/WebProcess/gtk/WebGtkInjectedBundleMain.cpp")
+add_library(webkit2gtkinjectedbundle MODULE "${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp")
add_webkit2_prefix_header(webkit2gtkinjectedbundle)
target_link_libraries(webkit2gtkinjectedbundle WebKit2)
Copied: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp (from rev 218627, trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp) (0 => 218628)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp (rev 0)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp 2017-06-21 07:49:21 UTC (rev 218628)
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2012 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "WebKitExtensionManager.h"
+
+#include "APIString.h"
+#include "InjectedBundle.h"
+#include "WebKitWebExtensionPrivate.h"
+#include <WebCore/FileSystem.h>
+#include <memory>
+#include <wtf/text/CString.h>
+
+namespace WebKit {
+
+WebKitExtensionManager& WebKitExtensionManager::singleton()
+{
+ static NeverDestroyed<WebKitExtensionManager> extensionManager;
+ return extensionManager;
+}
+
+WebKitExtensionManager::WebKitExtensionManager()
+{
+}
+
+void WebKitExtensionManager::scanModules(const String& webExtensionsDirectory, Vector<String>& modules)
+{
+ Vector<String> modulePaths = WebCore::listDirectory(webExtensionsDirectory, String("*.so"));
+ for (size_t i = 0; i < modulePaths.size(); ++i) {
+ if (WebCore::fileExists(modulePaths[i]))
+ modules.append(modulePaths[i]);
+ }
+}
+
+static void parseUserData(API::Object* userData, String& webExtensionsDirectory, GRefPtr<GVariant>& initializationUserData)
+{
+ ASSERT(userData->type() == API::Object::Type::String);
+
+ CString userDataString = static_cast<API::String*>(userData)->string().utf8();
+ GRefPtr<GVariant> variant = g_variant_parse(nullptr, userDataString.data(),
+ userDataString.data() + userDataString.length(), nullptr, nullptr);
+
+ ASSERT(variant);
+ ASSERT(g_variant_check_format_string(variant.get(), "(m&smv)", FALSE));
+
+ const char* directory = nullptr;
+ GVariant* data = ""
+ g_variant_get(variant.get(), "(m&smv)", &directory, &data);
+
+ webExtensionsDirectory = WebCore::stringFromFileSystemRepresentation(directory);
+ initializationUserData = adoptGRef(data);
+}
+
+bool WebKitExtensionManager::initializeWebExtension(Module* extensionModule, GVariant* userData)
+{
+ WebKitWebExtensionInitializeWithUserDataFunction initializeWithUserDataFunction =
+ extensionModule->functionPointer<WebKitWebExtensionInitializeWithUserDataFunction>("webkit_web_extension_initialize_with_user_data");
+ if (initializeWithUserDataFunction) {
+ initializeWithUserDataFunction(m_extension.get(), userData);
+ return true;
+ }
+
+ WebKitWebExtensionInitializeFunction initializeFunction =
+ extensionModule->functionPointer<WebKitWebExtensionInitializeFunction>("webkit_web_extension_initialize");
+ if (initializeFunction) {
+ initializeFunction(m_extension.get());
+ return true;
+ }
+
+ return false;
+}
+
+void WebKitExtensionManager::initialize(InjectedBundle* bundle, API::Object* userDataObject)
+{
+ ASSERT(bundle);
+ ASSERT(userDataObject);
+ m_extension = adoptGRef(webkitWebExtensionCreate(bundle));
+
+ String webExtensionsDirectory;
+ GRefPtr<GVariant> userData;
+ parseUserData(userDataObject, webExtensionsDirectory, userData);
+
+ if (webExtensionsDirectory.isNull())
+ return;
+
+ Vector<String> modulePaths;
+ scanModules(webExtensionsDirectory, modulePaths);
+
+ for (size_t i = 0; i < modulePaths.size(); ++i) {
+ auto module = std::make_unique<Module>(modulePaths[i]);
+ if (!module->load())
+ continue;
+ if (initializeWebExtension(module.get(), userData.get()))
+ m_extensionModules.append(module.release());
+ }
+}
+
+} // namespace WebKit
Copied: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.h (from rev 218627, trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h) (0 => 218628)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.h (rev 0)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.h 2017-06-21 07:49:21 UTC (rev 218628)
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2012 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#pragma once
+
+#include "Module.h"
+#include <wtf/NeverDestroyed.h>
+#include <wtf/Noncopyable.h>
+#include <wtf/Vector.h>
+#include <wtf/glib/GRefPtr.h>
+
+typedef struct _WebKitWebExtension WebKitWebExtension;
+
+namespace API {
+class Object;
+}
+
+namespace WebKit {
+
+class InjectedBundle;
+
+class WebKitExtensionManager {
+ WTF_MAKE_NONCOPYABLE(WebKitExtensionManager);
+public:
+ static WebKitExtensionManager& singleton();
+
+ void initialize(InjectedBundle*, API::Object*);
+
+private:
+ WebKitExtensionManager();
+
+ void scanModules(const String&, Vector<String>&);
+ bool initializeWebExtension(Module* extensionModule, GVariant* userData);
+
+ Vector<Module*> m_extensionModules;
+ GRefPtr<WebKitWebExtension> m_extension;
+
+ friend class NeverDestroyed<WebKitExtensionManager>;
+};
+
+} // namespace WebKit
Copied: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp (from rev 218627, trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp) (0 => 218628)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp (rev 0)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp 2017-06-21 07:49:21 UTC (rev 218628)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2013 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+
+#include "InjectedBundle.h"
+#include "WebKitExtensionManager.h"
+#include <WebKit/WKBundleAPICast.h>
+#include <WebKit/WKBundleInitialize.h>
+
+using namespace WebKit;
+
+#if defined(WIN32) || defined(_WIN32)
+extern "C" __declspec(dllexport)
+#else
+extern "C"
+#endif
+void WKBundleInitialize(WKBundleRef bundle, WKTypeRef userData)
+{
+ WebKitExtensionManager::singleton().initialize(toImpl(bundle), toImpl(userData));
+}
Deleted: trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp (218627 => 218628)
--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp 2017-06-21 07:49:21 UTC (rev 218628)
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2012 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-#include "WebGtkExtensionManager.h"
-
-#include "APIString.h"
-#include "InjectedBundle.h"
-#include "WebKitWebExtensionPrivate.h"
-#include <WebCore/FileSystem.h>
-#include <memory>
-#include <wtf/text/CString.h>
-
-namespace WebKit {
-
-WebGtkExtensionManager& WebGtkExtensionManager::singleton()
-{
- static NeverDestroyed<WebGtkExtensionManager> extensionManager;
- return extensionManager;
-}
-
-WebGtkExtensionManager::WebGtkExtensionManager()
-{
-}
-
-void WebGtkExtensionManager::scanModules(const String& webExtensionsDirectory, Vector<String>& modules)
-{
- Vector<String> modulePaths = WebCore::listDirectory(webExtensionsDirectory, String("*.so"));
- for (size_t i = 0; i < modulePaths.size(); ++i) {
- if (WebCore::fileExists(modulePaths[i]))
- modules.append(modulePaths[i]);
- }
-}
-
-static void parseUserData(API::Object* userData, String& webExtensionsDirectory, GRefPtr<GVariant>& initializationUserData)
-{
- ASSERT(userData->type() == API::Object::Type::String);
-
- CString userDataString = static_cast<API::String*>(userData)->string().utf8();
- GRefPtr<GVariant> variant = g_variant_parse(nullptr, userDataString.data(),
- userDataString.data() + userDataString.length(), nullptr, nullptr);
-
- ASSERT(variant);
- ASSERT(g_variant_check_format_string(variant.get(), "(m&smv)", FALSE));
-
- const char* directory = nullptr;
- GVariant* data = ""
- g_variant_get(variant.get(), "(m&smv)", &directory, &data);
-
- webExtensionsDirectory = WebCore::stringFromFileSystemRepresentation(directory);
- initializationUserData = adoptGRef(data);
-}
-
-bool WebGtkExtensionManager::initializeWebExtension(Module* extensionModule, GVariant* userData)
-{
- WebKitWebExtensionInitializeWithUserDataFunction initializeWithUserDataFunction =
- extensionModule->functionPointer<WebKitWebExtensionInitializeWithUserDataFunction>("webkit_web_extension_initialize_with_user_data");
- if (initializeWithUserDataFunction) {
- initializeWithUserDataFunction(m_extension.get(), userData);
- return true;
- }
-
- WebKitWebExtensionInitializeFunction initializeFunction =
- extensionModule->functionPointer<WebKitWebExtensionInitializeFunction>("webkit_web_extension_initialize");
- if (initializeFunction) {
- initializeFunction(m_extension.get());
- return true;
- }
-
- return false;
-}
-
-void WebGtkExtensionManager::initialize(InjectedBundle* bundle, API::Object* userDataObject)
-{
- ASSERT(bundle);
- ASSERT(userDataObject);
- m_extension = adoptGRef(webkitWebExtensionCreate(bundle));
-
- String webExtensionsDirectory;
- GRefPtr<GVariant> userData;
- parseUserData(userDataObject, webExtensionsDirectory, userData);
-
- if (webExtensionsDirectory.isNull())
- return;
-
- Vector<String> modulePaths;
- scanModules(webExtensionsDirectory, modulePaths);
-
- for (size_t i = 0; i < modulePaths.size(); ++i) {
- auto module = std::make_unique<Module>(modulePaths[i]);
- if (!module->load())
- continue;
- if (initializeWebExtension(module.get(), userData.get()))
- m_extensionModules.append(module.release());
- }
-}
-
-} // namespace WebKit
Deleted: trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h (218627 => 218628)
--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h 2017-06-21 07:49:21 UTC (rev 218628)
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2012 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#pragma once
-
-#include "Module.h"
-#include <wtf/NeverDestroyed.h>
-#include <wtf/Noncopyable.h>
-#include <wtf/Vector.h>
-#include <wtf/glib/GRefPtr.h>
-
-typedef struct _WebKitWebExtension WebKitWebExtension;
-
-namespace API {
-class Object;
-}
-
-namespace WebKit {
-
-class InjectedBundle;
-
-class WebGtkExtensionManager {
- WTF_MAKE_NONCOPYABLE(WebGtkExtensionManager);
-
-public:
- static WebGtkExtensionManager& singleton();
-
- void initialize(InjectedBundle*, API::Object*);
-
-private:
- WebGtkExtensionManager();
-
- void scanModules(const String&, Vector<String>&);
- bool initializeWebExtension(Module* extensionModule, GVariant* userData);
-
- Vector<Module*> m_extensionModules;
- GRefPtr<WebKitWebExtension> m_extension;
-
- friend class NeverDestroyed<WebGtkExtensionManager>;
-};
-
-} // namespace WebKit
Deleted: trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp (218627 => 218628)
--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp 2017-06-21 07:49:21 UTC (rev 218628)
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2013 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include "config.h"
-
-#include "InjectedBundle.h"
-#include "WebGtkExtensionManager.h"
-#include <WebKit/WKBundleAPICast.h>
-#include <WebKit/WKBundleInitialize.h>
-
-using namespace WebKit;
-
-#if defined(WIN32) || defined(_WIN32)
-extern "C" __declspec(dllexport)
-#else
-extern "C"
-#endif
-void WKBundleInitialize(WKBundleRef bundle, WKTypeRef userData)
-{
- WebGtkExtensionManager::singleton().initialize(toImpl(bundle), toImpl(userData));
-}
Modified: trunk/Source/cmake/gtksymbols.filter (218627 => 218628)
--- trunk/Source/cmake/gtksymbols.filter 2017-06-21 07:09:53 UTC (rev 218627)
+++ trunk/Source/cmake/gtksymbols.filter 2017-06-21 07:49:21 UTC (rev 218628)
@@ -5,8 +5,8 @@
NetworkProcessMainUnix;
PluginProcessMainUnix;
DatabaseProcessMainUnix;
- _ZN6WebKit22WebGtkExtensionManager10initializeEPNS_14InjectedBundleEPN3API6ObjectE;
- _ZN6WebKit22WebGtkExtensionManager9singletonEv;
+ _ZN6WebKit22WebKitExtensionManager10initializeEPNS_14InjectedBundleEPN3API6ObjectE;
+ _ZN6WebKit22WebKitExtensionManager9singletonEv;
local:
webkit_media_player_debug;
*;