diff options
author | Andrea Diamantini <adjam7@gmail.com> | 2012-08-14 10:57:58 +0200 |
---|---|---|
committer | Andrea Diamantini <adjam7@gmail.com> | 2012-08-14 10:57:58 +0200 |
commit | 3b7a1ffae0ae9e5fd0c1dd238434e0bf312fa6ad (patch) | |
tree | 1eb9003c32f32a8a7e62ffe676bdba5f099f7bcf | |
parent | Get sure web shortcuts are considered first url detection (diff) | |
download | rekonq-3b7a1ffae0ae9e5fd0c1dd238434e0bf312fa6ad.tar.xz |
Get sure rekonq makes use of djvu plugin
Also, clean up mimetype detection, following kdewebkit.
I tried implementing this using the protected excludeMimeType in
kwebpluginfactory, but I fear it has to be declared virtual to let
the trick work. Isn't it?
BUG: 304562
CCMAIL: adawit@kde.org
-rw-r--r-- | src/webpluginfactory.cpp | 14 | ||||
-rw-r--r-- | src/webpluginfactory.h | 2 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/webpluginfactory.cpp b/src/webpluginfactory.cpp index b62af1c8..083ea747 100644 --- a/src/webpluginfactory.cpp +++ b/src/webpluginfactory.cpp @@ -50,13 +50,25 @@ void WebPluginFactory::setLoadClickToFlash(bool load) } -QObject *WebPluginFactory::create(const QString &mimeType, +QObject *WebPluginFactory::create(const QString &_mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) const { + QString mimeType(_mimeType.trimmed()); + // If no mimetype is provided, follow kwebpluginfactory road to determine/guess it + if (mimeType.isEmpty()) + { + extractGuessedMimeType(url, &mimeType); + } + kDebug() << "loading mimeType: " << mimeType; + // we'd like to use djvu plugin if possible. If not available, rekonq protocol handler + // will provide a part to load it. See BUG:304562 about + if (mimeType == QL1S("image/vnd.djvu") || mimeType == QL1S("image/x.djvu")) + return 0; + switch (ReKonfig::pluginsEnabled()) { case 0: diff --git a/src/webpluginfactory.h b/src/webpluginfactory.h index b1bcd967..82bf02ce 100644 --- a/src/webpluginfactory.h +++ b/src/webpluginfactory.h @@ -43,7 +43,7 @@ class REKONQ_TESTS_EXPORT WebPluginFactory : public KWebPluginFactory public: WebPluginFactory(QObject *parent); - virtual QObject *create(const QString &mimeType, + virtual QObject *create(const QString &_mimeType, const QUrl &url, const QStringList &argumentNames, const QStringList &argumentValues) const; |