Title: [139428] trunk/Source/WebKit2
Revision
139428
Author
[email protected]
Date
2013-01-11 04:26:37 -0800 (Fri, 11 Jan 2013)

Log Message

[GTK] Remove support for global extensions in WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=106646

Reviewed by Xan Lopez.

We have now API to set the web extensions directory. A global web
estensions directory doesn't make sense anymore.

* WebProcess/gtk/WebGtkExtensionManager.cpp:
(WebKit::WebGtkExtensionManager::scanModules): Only scan the given
directory for modules.
(WebKit::WebGtkExtensionManager::initialize): Load modules found
in the given directory only.
* WebProcess/gtk/WebGtkExtensionManager.h:
(WebGtkExtensionManager): Remove appendModuleDirectories().

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (139427 => 139428)


--- trunk/Source/WebKit2/ChangeLog	2013-01-11 12:09:30 UTC (rev 139427)
+++ trunk/Source/WebKit2/ChangeLog	2013-01-11 12:26:37 UTC (rev 139428)
@@ -1,3 +1,21 @@
+2013-01-11  Carlos Garcia Campos  <[email protected]>
+
+        [GTK] Remove support for global extensions in WebKit2 GTK+
+        https://bugs.webkit.org/show_bug.cgi?id=106646
+
+        Reviewed by Xan Lopez.
+
+        We have now API to set the web extensions directory. A global web
+        estensions directory doesn't make sense anymore.
+
+        * WebProcess/gtk/WebGtkExtensionManager.cpp:
+        (WebKit::WebGtkExtensionManager::scanModules): Only scan the given
+        directory for modules.
+        (WebKit::WebGtkExtensionManager::initialize): Load modules found
+        in the given directory only.
+        * WebProcess/gtk/WebGtkExtensionManager.h:
+        (WebGtkExtensionManager): Remove appendModuleDirectories().
+
 2013-01-11  KwangYong Choi  <[email protected]>
 
         [EFL][WK2] Add ewk_view_page_contents_get() API

Modified: trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp (139427 => 139428)


--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp	2013-01-11 12:09:30 UTC (rev 139427)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp	2013-01-11 12:26:37 UTC (rev 139428)
@@ -38,47 +38,31 @@
 {
 }
 
-void WebGtkExtensionManager::appendModuleDirectories(Vector<String>& directories)
+void WebGtkExtensionManager::scanModules(const String& webExtensionsDirectory, Vector<String>& modules)
 {
-    String extensionPaths(getenv("WEBKIT_WEB_EXTENSIONS_PATH"));
-    if (!extensionPaths.isEmpty()) {
-        Vector<String> paths;
-        extensionPaths.split(UChar(':'), /* allowEmptyEntries */ false, paths);
-        directories.append(paths);
+    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 const char* extensionDefaultDirectory = LIBDIR""G_DIR_SEPARATOR_S"webkitgtk-"WEBKITGTK_API_VERSION_STRING""G_DIR_SEPARATOR_S"web-extensions"G_DIR_SEPARATOR_S;
-    directories.append(WebCore::filenameToString(extensionDefaultDirectory));
 }
 
-void WebGtkExtensionManager::scanModules(const String& additionalWebExtensionsDirectory, Vector<String>& modules)
-{
-    Vector<String> moduleDirectories;
-    if (!additionalWebExtensionsDirectory.isNull())
-        moduleDirectories.append(additionalWebExtensionsDirectory);
-    appendModuleDirectories(moduleDirectories);
-
-    for (size_t i = 0; i < moduleDirectories.size(); ++i) {
-        Vector<String> modulePaths = WebCore::listDirectory(moduleDirectories[i], String("*.so"));
-        for (size_t j = 0; j < modulePaths.size(); ++j) {
-            if (WebCore::fileExists(modulePaths[j]))
-                modules.append(modulePaths[j]);
-        }
-    }
-}
-
 void WebGtkExtensionManager::initialize(WKBundleRef bundle, WKTypeRef userData)
 {
     m_extension = adoptGRef(webkitWebExtensionCreate(toImpl(bundle)));
 
-    String additionalWebExtensionsDirectory;
+    String webExtensionsDirectory;
     if (userData) {
         ASSERT(WKGetTypeID(userData) == WKStringGetTypeID());
-        additionalWebExtensionsDirectory = toImpl(static_cast<WKStringRef>(userData))->string();
+        webExtensionsDirectory = toImpl(static_cast<WKStringRef>(userData))->string();
     }
 
+    if (webExtensionsDirectory.isNull())
+        return;
+
     Vector<String> modulePaths;
-    scanModules(additionalWebExtensionsDirectory, modulePaths);
+    scanModules(webExtensionsDirectory, modulePaths);
+
     for (size_t i = 0; i < modulePaths.size(); ++i) {
         OwnPtr<Module> module = adoptPtr(new Module(modulePaths[i]));
         if (!module->load())
@@ -89,7 +73,6 @@
         if (!initializeFunction)
             continue;
 
-        // FIXME: check we don't load the same module twice from different paths.
         m_extensionModules.append(module.leakPtr());
         initializeFunction(m_extension.get());
     }

Modified: trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h (139427 => 139428)


--- trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h	2013-01-11 12:09:30 UTC (rev 139427)
+++ trunk/Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h	2013-01-11 12:26:37 UTC (rev 139428)
@@ -45,7 +45,6 @@
 private:
     WebGtkExtensionManager();
 
-    void appendModuleDirectories(Vector<String>&);
     void scanModules(const String&, Vector<String>&);
 
     Vector<Module*> m_extensionModules;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to