[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.21-584-g1e41756

xan at webkit.org xan at webkit.org
Fri Feb 26 22:23:59 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 53b245694a2eddfa9e4467b40e52d20453672d29
Author: xan at webkit.org <xan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Feb 18 08:06:03 2010 +0000

    2010-02-18  Xan Lopez  <xlopez at igalia.com>
    
            Reviewed by Eric Seidel.
    
            [Linux] Webkit incompatible with Java plugins
            https://bugs.webkit.org/show_bug.cgi?id=24912
    
            The NP Version supported by WebKit is at the moment hardcoded in
            PluginPackage.cpp (to 24), but not all backends actually implement
            the methods needed to claim this. Introduce a new method to be
            implemented by each backend where the maximum supported version
            can be specified, and set the GTK+ port NPVersion to 19. This
            fixes an instantaneous crasher in the Sun Java NPAPI plugin.
    
            * plugins/PluginPackage.cpp:
            (WebCore::PluginPackage::initializeBrowserFuncs):
            * plugins/PluginPackage.h:
            * plugins/gtk/PluginPackageGtk.cpp:
            (WebCore::PluginPackage::NPVersion):
            * plugins/mac/PluginPackageMac.cpp:
            (WebCore::PluginPackage::NPVersion):
            * plugins/qt/PluginPackageQt.cpp:
            (WebCore::PluginPackage::NPVersion):
            * plugins/symbian/PluginPackageSymbian.cpp:
            (WebCore::PluginPackage::NPVersion):
            * plugins/win/PluginPackageWin.cpp:
            (WebCore::PluginPackage::NPVersion):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54940 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 547732f..a99c475 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,31 @@
+2010-02-18  Xan Lopez  <xlopez at igalia.com>
+
+        Reviewed by Eric Seidel.
+
+        [Linux] Webkit incompatible with Java plugins
+        https://bugs.webkit.org/show_bug.cgi?id=24912
+
+        The NP Version supported by WebKit is at the moment hardcoded in
+        PluginPackage.cpp (to 24), but not all backends actually implement
+        the methods needed to claim this. Introduce a new method to be
+        implemented by each backend where the maximum supported version
+        can be specified, and set the GTK+ port NPVersion to 19. This
+        fixes an instantaneous crasher in the Sun Java NPAPI plugin.
+
+        * plugins/PluginPackage.cpp:
+        (WebCore::PluginPackage::initializeBrowserFuncs):
+        * plugins/PluginPackage.h:
+        * plugins/gtk/PluginPackageGtk.cpp:
+        (WebCore::PluginPackage::NPVersion):
+        * plugins/mac/PluginPackageMac.cpp:
+        (WebCore::PluginPackage::NPVersion):
+        * plugins/qt/PluginPackageQt.cpp:
+        (WebCore::PluginPackage::NPVersion):
+        * plugins/symbian/PluginPackageSymbian.cpp:
+        (WebCore::PluginPackage::NPVersion):
+        * plugins/win/PluginPackageWin.cpp:
+        (WebCore::PluginPackage::NPVersion):
+
 2010-02-17  Dmitry Titov  <dimich at chromium.org>
 
         Reviewed by David Levin, Darin Fisher, Simon Hausmann.
diff --git a/WebCore/plugins/PluginPackage.cpp b/WebCore/plugins/PluginPackage.cpp
index 505bc4d..ad03ecd 100644
--- a/WebCore/plugins/PluginPackage.cpp
+++ b/WebCore/plugins/PluginPackage.cpp
@@ -253,7 +253,7 @@ void PluginPackage::initializeBrowserFuncs()
 {
     memset(&m_browserFuncs, 0, sizeof(m_browserFuncs));
     m_browserFuncs.size = sizeof(m_browserFuncs);
-    m_browserFuncs.version = NP_VERSION_MINOR;
+    m_browserFuncs.version = NPVersion();
 
     m_browserFuncs.geturl = NPN_GetURL;
     m_browserFuncs.posturl = NPN_PostURL;
diff --git a/WebCore/plugins/PluginPackage.h b/WebCore/plugins/PluginPackage.h
index a3937f1..aa2d272 100644
--- a/WebCore/plugins/PluginPackage.h
+++ b/WebCore/plugins/PluginPackage.h
@@ -55,6 +55,7 @@ namespace WebCore {
         const String& path() const { return m_path; }
         const String& fileName() const { return m_fileName; }
         const String& parentDirectory() const { return m_parentDirectory; }
+        uint16 NPVersion() const;
         time_t lastModified() const { return m_lastModified; }
 
         const MIMEToDescriptionsMap& mimeToDescriptions() const { return m_mimeToDescriptions; }
diff --git a/WebCore/plugins/gtk/PluginPackageGtk.cpp b/WebCore/plugins/gtk/PluginPackageGtk.cpp
index b25db03..271a4a8 100644
--- a/WebCore/plugins/gtk/PluginPackageGtk.cpp
+++ b/WebCore/plugins/gtk/PluginPackageGtk.cpp
@@ -157,4 +157,8 @@ abort:
     return false;
 }
 
+uint16 PluginPackage::NPVersion() const
+{
+    return NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL;
+}
 }
diff --git a/WebCore/plugins/mac/PluginPackageMac.cpp b/WebCore/plugins/mac/PluginPackageMac.cpp
index 4aef3a0..be69242 100644
--- a/WebCore/plugins/mac/PluginPackageMac.cpp
+++ b/WebCore/plugins/mac/PluginPackageMac.cpp
@@ -302,6 +302,10 @@ abort:
     return false;
 }
 
+uint16 PluginPackage::NPVersion() const
+{
+    return NP_VERSION_MINOR;
+}
 } // namespace WebCore
 
 #else
diff --git a/WebCore/plugins/qt/PluginPackageQt.cpp b/WebCore/plugins/qt/PluginPackageQt.cpp
index 8119924..74deaf6 100644
--- a/WebCore/plugins/qt/PluginPackageQt.cpp
+++ b/WebCore/plugins/qt/PluginPackageQt.cpp
@@ -143,4 +143,8 @@ abort:
     return false;
 }
 
+uint16 PluginPackage::NPVersion() const
+{
+    return NP_VERSION_MINOR;
+}
 }
diff --git a/WebCore/plugins/symbian/PluginPackageSymbian.cpp b/WebCore/plugins/symbian/PluginPackageSymbian.cpp
index d5c7533..44f8152 100644
--- a/WebCore/plugins/symbian/PluginPackageSymbian.cpp
+++ b/WebCore/plugins/symbian/PluginPackageSymbian.cpp
@@ -173,5 +173,10 @@ void PluginPackage::unload()
     delete m_pluginLoader;
     m_pluginLoader = 0;
 }
+
+uint16 PluginPackage::NPVersion() const
+{
+    return NP_VERSION_MINOR;
+}
 }
 
diff --git a/WebCore/plugins/win/PluginPackageWin.cpp b/WebCore/plugins/win/PluginPackageWin.cpp
index 233b10c..203fb60 100644
--- a/WebCore/plugins/win/PluginPackageWin.cpp
+++ b/WebCore/plugins/win/PluginPackageWin.cpp
@@ -335,4 +335,8 @@ bool PluginPackage::equal(const PluginPackage& a, const PluginPackage& b)
     return true;
 }
 
+uint16 PluginPackage::NPVersion() const
+{
+    return NP_VERSION_MINOR;
+}
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list