Title: [138944] trunk/Source/WebCore
- Revision
- 138944
- Author
- commit-qu...@webkit.org
- Date
- 2013-01-07 07:40:19 -0800 (Mon, 07 Jan 2013)
Log Message
[Qt] Major performance improvement in Qt's PluginDatabase implementation
https://bugs.webkit.org/show_bug.cgi?id=106140
Patch by David Faure <fa...@kde.org> on 2013-01-07
Reviewed by Simon Hausmann.
No new tests, only a performance improvement.
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
(WebCore::PluginPackage::load): Use existing module if fetchInfo created it.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (138943 => 138944)
--- trunk/Source/WebCore/ChangeLog 2013-01-07 15:33:50 UTC (rev 138943)
+++ trunk/Source/WebCore/ChangeLog 2013-01-07 15:40:19 UTC (rev 138944)
@@ -1,3 +1,16 @@
+2013-01-07 David Faure <fa...@kde.org>
+
+ [Qt] Major performance improvement in Qt's PluginDatabase implementation
+ https://bugs.webkit.org/show_bug.cgi?id=106140
+
+ Reviewed by Simon Hausmann.
+
+ No new tests, only a performance improvement.
+
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
+ (WebCore::PluginPackage::load): Use existing module if fetchInfo created it.
+
2013-01-07 Gabor Rapcsanyi <rga...@webkit.org>
Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions with NEON intrinsics
Modified: trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp (138943 => 138944)
--- trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-01-07 15:33:50 UTC (rev 138943)
+++ trunk/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-01-07 15:40:19 UTC (rev 138944)
@@ -38,8 +38,15 @@
bool PluginPackage::fetchInfo()
{
- if (!load())
- return false;
+ if (!m_module) {
+ m_module = new QLibrary((QString)m_path);
+ m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint);
+ if (!m_module->load()) {
+ LOG(Plugins, "%s not loaded (%s)", m_path.utf8().data(),
+ m_module->errorString().toLatin1().constData());
+ return false;
+ }
+ }
NPP_GetValueProcPtr gv = (NPP_GetValueProcPtr)m_module->resolve("NP_GetValue");
NP_GetMIMEDescriptionFuncPtr gm =
@@ -61,7 +68,6 @@
determineModuleVersionFromDescription();
setMIMEDescription(String::fromUTF8(gm()));
- m_infoIsFromCache = false;
return true;
}
@@ -155,12 +161,14 @@
if (isPluginBlacklisted())
return false;
- m_module = new QLibrary((QString)m_path);
- m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint);
- if (!m_module->load()) {
- LOG(Plugins, "%s not loaded (%s)", m_path.utf8().data(),
+ if (!m_module) {
+ m_module = new QLibrary((QString)m_path);
+ m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint);
+ if (!m_module->load()) {
+ LOG(Plugins, "%s not loaded (%s)", m_path.utf8().data(),
m_module->errorString().toLatin1().constData());
- return false;
+ return false;
+ }
}
m_isLoaded = true;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes