Changeset 54940 in webkit


Ignore:
Timestamp:
Feb 18, 2010 12:06:03 AM (14 years ago)
Author:
xan@webkit.org
Message:

2010-02-18 Xan Lopez <xlopez@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):
Location:
trunk/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r54938 r54940  
     12010-02-18  Xan Lopez  <xlopez@igalia.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [Linux] Webkit incompatible with Java plugins
     6        https://bugs.webkit.org/show_bug.cgi?id=24912
     7
     8        The NP Version supported by WebKit is at the moment hardcoded in
     9        PluginPackage.cpp (to 24), but not all backends actually implement
     10        the methods needed to claim this. Introduce a new method to be
     11        implemented by each backend where the maximum supported version
     12        can be specified, and set the GTK+ port NPVersion to 19. This
     13        fixes an instantaneous crasher in the Sun Java NPAPI plugin.
     14
     15        * plugins/PluginPackage.cpp:
     16        (WebCore::PluginPackage::initializeBrowserFuncs):
     17        * plugins/PluginPackage.h:
     18        * plugins/gtk/PluginPackageGtk.cpp:
     19        (WebCore::PluginPackage::NPVersion):
     20        * plugins/mac/PluginPackageMac.cpp:
     21        (WebCore::PluginPackage::NPVersion):
     22        * plugins/qt/PluginPackageQt.cpp:
     23        (WebCore::PluginPackage::NPVersion):
     24        * plugins/symbian/PluginPackageSymbian.cpp:
     25        (WebCore::PluginPackage::NPVersion):
     26        * plugins/win/PluginPackageWin.cpp:
     27        (WebCore::PluginPackage::NPVersion):
     28
    1292010-02-17  Dmitry Titov  <dimich@chromium.org>
    230
  • trunk/WebCore/plugins/PluginPackage.cpp

    r53036 r54940  
    254254    memset(&m_browserFuncs, 0, sizeof(m_browserFuncs));
    255255    m_browserFuncs.size = sizeof(m_browserFuncs);
    256     m_browserFuncs.version = NP_VERSION_MINOR;
     256    m_browserFuncs.version = NPVersion();
    257257
    258258    m_browserFuncs.geturl = NPN_GetURL;
  • trunk/WebCore/plugins/PluginPackage.h

    r52791 r54940  
    5656        const String& fileName() const { return m_fileName; }
    5757        const String& parentDirectory() const { return m_parentDirectory; }
     58        uint16 NPVersion() const;
    5859        time_t lastModified() const { return m_lastModified; }
    5960
  • trunk/WebCore/plugins/gtk/PluginPackageGtk.cpp

    r54887 r54940  
    158158}
    159159
     160uint16 PluginPackage::NPVersion() const
     161{
     162    return NPVERS_HAS_PLUGIN_THREAD_ASYNC_CALL;
    160163}
     164}
  • trunk/WebCore/plugins/mac/PluginPackageMac.cpp

    r51490 r54940  
    303303}
    304304
     305uint16 PluginPackage::NPVersion() const
     306{
     307    return NP_VERSION_MINOR;
     308}
    305309} // namespace WebCore
    306310
  • trunk/WebCore/plugins/qt/PluginPackageQt.cpp

    r49054 r54940  
    144144}
    145145
     146uint16 PluginPackage::NPVersion() const
     147{
     148    return NP_VERSION_MINOR;
    146149}
     150}
  • trunk/WebCore/plugins/symbian/PluginPackageSymbian.cpp

    r49574 r54940  
    174174    m_pluginLoader = 0;
    175175}
     176
     177uint16 PluginPackage::NPVersion() const
     178{
     179    return NP_VERSION_MINOR;
     180}
    176181}
    177182
  • trunk/WebCore/plugins/win/PluginPackageWin.cpp

    r52791 r54940  
    336336}
    337337
    338 }
     338uint16 PluginPackage::NPVersion() const
     339{
     340    return NP_VERSION_MINOR;
     341}
     342}
Note: See TracChangeset for help on using the changeset viewer.