Changes between Version 5 and Version 6 of QtWebKitPlugins

Nov 12, 2009 7:17:43 PM (13 years ago)



  • QtWebKitPlugins

    v5 v6  
    7575== Symbian ==
    76 TODO
     78The Symbian port of NPAPI is in .
     80In Symbian, dlls can be loaded only from \sys\bin, so Symbian requires a different mechanism for loading Netscape plugins. We use QPluginLoader to find and load plugins. In order for WebKit to find Netscape plugins, they must follow these rules:
     81 * Add template=lib and config+=plugin to the pro file.
     82 * Implement the interface NPInterface as defined in .
     83 * Export the .qtplugin placeholder to \resource\qt\plugins\npqtplugin.
     85PluginPackageSymbian.cpp -
     86Uses QPluginLoader to load and unload the plugin. It also queries the plugin for its mime types, extensions and description.
     88PluginDatabaseSymbian.cpp -
     89Searches for available .qtplugin placeholders in the available drives in the system.
     91PluginContainerSymbian.cpp -
     92A QWidget that hosts a windowed plugin. This class should eventually merge with PluginContainerQt.cpp.
     94PluginViewSymbian.cpp -
     95Does the bulk of the work interacting with the plugin. It creates and destroys the plugin, resizes the plugin and in windowless mode, sends events to the plugin.
     97Painting and events in windowless mode:
     100Plugins should draw directly to the surface of the webview. Prior to each QPaintEvent, a plugin will receive a NPN_SetWindow call, that contains the NPWindow structure. The ws_info member of NPWindow will contain a pointer to the QPainter to use for painting.
     102Keyboard events:
     103When the plugin has keyboard focus, triggered e.g. by the user tapping on the plugin, WebKit will pass keyboard events as QKeyEvent to the plugin.
     105Mouse events:
     106When WebKit receives mouse events in the plugin's area, it will pass QMouseEvent to the plugin.
    78108== Mac ==