[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

luiz at webkit.org luiz at webkit.org
Wed Dec 22 16:07:40 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 00e8c1cab8f2e3d839cf72c5a085be327b8b3e1f
Author: luiz at webkit.org <luiz at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 18 21:29:27 2010 +0000

    2010-11-12  Luiz Agostini  <luiz.agostini at openbossa.org>
    
            Reviewed by Andreas Kling.
    
            [Qt] Static platform plugin support
            https://bugs.webkit.org/show_bug.cgi?id=49470
    
            Adding support for statically linked platform plugins.
    
            * WebCoreSupport/QtPlatformPlugin.cpp:
            (WebCore::QtPlatformPlugin::loadStaticallyLinkedPlugin):
            (WebCore::QtPlatformPlugin::plugin):
            * WebCoreSupport/QtPlatformPlugin.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72329 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index ecb6146..f686faf 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,17 @@
+2010-11-12  Luiz Agostini  <luiz.agostini at openbossa.org>
+
+        Reviewed by Andreas Kling.
+
+        [Qt] Static platform plugin support
+        https://bugs.webkit.org/show_bug.cgi?id=49470
+
+        Adding support for statically linked platform plugins.
+
+        * WebCoreSupport/QtPlatformPlugin.cpp:
+        (WebCore::QtPlatformPlugin::loadStaticallyLinkedPlugin):
+        (WebCore::QtPlatformPlugin::plugin):
+        * WebCoreSupport/QtPlatformPlugin.h:
+
 2010-11-17  Andreas Kling  <kling at webkit.org>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp b/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
index ede8a73..e4b89b4 100644
--- a/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
+++ b/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
@@ -69,12 +69,26 @@ QtPlatformPlugin::~QtPlatformPlugin()
     m_loader.unload();
 }
 
+bool QtPlatformPlugin::loadStaticallyLinkedPlugin()
+{
+    QObjectList objs = QPluginLoader::staticInstances();
+    for (int i = 0; i < objs.size(); ++i) {
+        m_plugin = qobject_cast<QWebKitPlatformPlugin*>(objs[i]);
+        if (m_plugin)
+            return true;
+    }
+    return false;
+}
+
 QWebKitPlatformPlugin* QtPlatformPlugin::plugin()
 {
     if (m_loaded)
         return m_plugin;
     m_loaded = true;
 
+    if (loadStaticallyLinkedPlugin())
+        return m_plugin;
+
     // Plugin path is stored in a static variable to avoid searching for the plugin
     // more then once.
     static QString pluginPath;
diff --git a/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h b/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
index ef14a1f..365b734 100644
--- a/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
+++ b/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
@@ -50,6 +50,7 @@ private:
     QPluginLoader m_loader;
     bool load();
     bool load(const QString& file);
+    bool loadStaticallyLinkedPlugin();
 };
 
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list