Details
-
Bug
-
Resolution: Won't Do
-
P2: Important
-
None
-
4.8.5, 5.2.0
-
None
-
ArchLinux, package installed: extra/qt5-webkit 5.2.0-3 | AUR/okularplugin-git
-
2292b2a96ae2e3afb0d51e7148bccdf4e41596d9
Description
Currently there is no API to blacklist or disable a specific Webkit plugin.
Moreover setting the global attribute QWebSettings::PluginsEnabled to false do not prevent the loading of the library / dll.
If the plugin is not compatible with Qt5, for example the plugin libokularplugin.so is linked against Qt4, the application segfault...
An extract of the stack (the full stack is attached):
WebCore::PluginPackage::fetchInfo WebCore::PluginPackage::createPackage WebCore::PluginDatabase::refresh WebCore::PluginDatabase::installedPlugins PlatformStrategiesQt::getPluginInfo WebCore::PluginData::initPlugins WebCore::PluginData::PluginData create PluginData.h WebCore::Page::pluginData WebCore::DOMPluginArray::pluginData WebCore::DOMPluginArray::canGetItemsForName
There is already a function PluginPackage::isPluginBlacklisted() to do that, but everything is hard coded...
There is no public API, and the private API (QWebPluginDatabase) does not provide a way to prevent the loading of the plugin library