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