Title: [218331] trunk
Revision
218331
Author
carlo...@webkit.org
Date
2017-06-15 08:37:31 -0700 (Thu, 15 Jun 2017)

Log Message

[GTK] Do not use the C API in WebGtkExtensionManager
https://bugs.webkit.org/show_bug.cgi?id=173408

Reviewed by Michael Catanzaro.

.:

Update exported symbol signature.

* Source/cmake/gtksymbols.filter:

Source/WebKit2:

Use the C++ API instead.

* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::parseUserData):
(WebKit::WebGtkExtensionManager::initialize):
* WebProcess/gtk/WebGtkExtensionManager.h:
* WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
(WKBundleInitialize):

Modified Paths

Diff

Modified: trunk/ChangeLog (218330 => 218331)


--- trunk/ChangeLog	2017-06-15 15:15:03 UTC (rev 218330)
+++ trunk/ChangeLog	2017-06-15 15:37:31 UTC (rev 218331)
@@ -1,3 +1,14 @@
+2017-06-15  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Do not use the C API in WebGtkExtensionManager
+        https://bugs.webkit.org/show_bug.cgi?id=173408
+
+        Reviewed by Michael Catanzaro.
+
+        Update exported symbol signature.
+
+        * Source/cmake/gtksymbols.filter:
+
 2017-06-09  Zan Dobersek  <zdober...@igalia.com>
 
         [WPE] Enable ENCRYPTED_MEDIA for build-webkit builds

Modified: trunk/Source/WebKit2/ChangeLog (218330 => 218331)


--- trunk/Source/WebKit2/ChangeLog	2017-06-15 15:15:03 UTC (rev 218330)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-15 15:37:31 UTC (rev 218331)
@@ -1,3 +1,19 @@
+2017-06-15  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Do not use the C API in WebGtkExtensionManager
+        https://bugs.webkit.org/show_bug.cgi?id=173408
+
+        Reviewed by Michael Catanzaro.
+
+        Use the C++ API instead.
+
+        * WebProcess/gtk/WebGtkExtensionManager.cpp:
+        (WebKit::parseUserData):
+        (WebKit::WebGtkExtensionManager::initialize):
+        * WebProcess/gtk/WebGtkExtensionManager.h:
+        * WebProcess/gtk/WebGtkInjectedBundleMain.cpp:
+        (WKBundleInitialize):
+
 2017-06-15  Adrian Perez de Castro  <ape...@igalia.com>
 
         [GTK] Stop using GtkAction in WebPopupMenuProxyGtk

Modified: trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp (218330 => 218331)


--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp	2017-06-15 15:15:03 UTC (rev 218330)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp	2017-06-15 15:37:31 UTC (rev 218331)
@@ -20,11 +20,8 @@
 #include "config.h"
 #include "WebGtkExtensionManager.h"
 
+#include "APIString.h"
 #include "InjectedBundle.h"
-#include "WKBundleAPICast.h"
-#include "WKDictionary.h"
-#include "WKString.h"
-#include "WKType.h"
 #include "WebKitWebExtensionPrivate.h"
 #include <WebCore/FileSystem.h>
 #include <memory>
@@ -51,12 +48,11 @@
     }
 }
 
-static void parseUserData(WKTypeRef userData, String& webExtensionsDirectory, GRefPtr<GVariant>& initializationUserData)
+static void parseUserData(API::Object* userData, String& webExtensionsDirectory, GRefPtr<GVariant>& initializationUserData)
 {
-    ASSERT(userData);
-    ASSERT(WKGetTypeID(userData) == WKStringGetTypeID());
+    ASSERT(userData->type() == API::Object::Type::String);
 
-    CString userDataString = toImpl(static_cast<WKStringRef>(userData))->string().utf8();
+    CString userDataString = static_cast<API::String*>(userData)->string().utf8();
     GRefPtr<GVariant> variant = g_variant_parse(nullptr, userDataString.data(),
         userDataString.data() + userDataString.length(), nullptr, nullptr);
 
@@ -90,13 +86,15 @@
     return false;
 }
 
-void WebGtkExtensionManager::initialize(WKBundleRef bundle, WKTypeRef userDataString)
+void WebGtkExtensionManager::initialize(InjectedBundle* bundle, API::Object* userDataObject)
 {
-    m_extension = adoptGRef(webkitWebExtensionCreate(toImpl(bundle)));
+    ASSERT(bundle);
+    ASSERT(userDataObject);
+    m_extension = adoptGRef(webkitWebExtensionCreate(bundle));
 
     String webExtensionsDirectory;
     GRefPtr<GVariant> userData;
-    parseUserData(userDataString, webExtensionsDirectory, userData);
+    parseUserData(userDataObject, webExtensionsDirectory, userData);
 
     if (webExtensionsDirectory.isNull())
         return;

Modified: trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h (218330 => 218331)


--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h	2017-06-15 15:15:03 UTC (rev 218330)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h	2017-06-15 15:37:31 UTC (rev 218331)
@@ -17,11 +17,9 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#ifndef WebGtkExtensionManager_h
-#define WebGtkExtensionManager_h
+#pragma once
 
 #include "Module.h"
-#include "WKBundle.h"
 #include <wtf/NeverDestroyed.h>
 #include <wtf/Noncopyable.h>
 #include <wtf/Vector.h>
@@ -29,19 +27,21 @@
 
 typedef struct _WebKitWebExtension WebKitWebExtension;
 
-namespace WTF {
-class String;
+namespace API {
+class Object;
 }
 
 namespace WebKit {
 
+class InjectedBundle;
+
 class WebGtkExtensionManager {
     WTF_MAKE_NONCOPYABLE(WebGtkExtensionManager);
 
 public:
-    WK_EXPORT static WebGtkExtensionManager& singleton();
+    static WebGtkExtensionManager& singleton();
 
-    WK_EXPORT void initialize(WKBundleRef, WKTypeRef);
+    void initialize(InjectedBundle*, API::Object*);
 
 private:
     WebGtkExtensionManager();
@@ -56,5 +56,3 @@
 };
 
 } // namespace WebKit
-
-#endif // WebGtkExtensionManager_h

Modified: trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp (218330 => 218331)


--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp	2017-06-15 15:15:03 UTC (rev 218330)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp	2017-06-15 15:37:31 UTC (rev 218331)
@@ -19,7 +19,9 @@
 
 #include "config.h"
 
+#include "InjectedBundle.h"
 #include "WebGtkExtensionManager.h"
+#include <WebKit/WKBundleAPICast.h>
 #include <WebKit/WKBundleInitialize.h>
 
 using namespace WebKit;
@@ -31,5 +33,5 @@
 #endif
 void WKBundleInitialize(WKBundleRef bundle, WKTypeRef userData)
 {
-    WebGtkExtensionManager::singleton().initialize(bundle, userData);
+    WebGtkExtensionManager::singleton().initialize(toImpl(bundle), toImpl(userData));
 }

Modified: trunk/Source/cmake/gtksymbols.filter (218330 => 218331)


--- trunk/Source/cmake/gtksymbols.filter	2017-06-15 15:15:03 UTC (rev 218330)
+++ trunk/Source/cmake/gtksymbols.filter	2017-06-15 15:37:31 UTC (rev 218331)
@@ -5,7 +5,7 @@
   NetworkProcessMainUnix;
   PluginProcessMainUnix;
   DatabaseProcessMainUnix;
-  _ZN6WebKit22WebGtkExtensionManager10initializeEPK14OpaqueWKBundlePKv;
+  _ZN6WebKit22WebGtkExtensionManager10initializeEPNS_14InjectedBundleEPN3API6ObjectE;
   _ZN6WebKit22WebGtkExtensionManager9singletonEv;
 local:
   webkit_media_player_debug;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to