manage plasmapackage:/ with the interceptor
not with the networkaccessmanager
This commit is contained in:
parent
b071260d15
commit
6ff8554ae7
@ -41,6 +41,13 @@ QUrl PackageUrlInterceptor::intercept(const QUrl &path, QQmlAbstractUrlIntercept
|
||||
{
|
||||
//qDebug() << "Intercepted URL:" << path;
|
||||
|
||||
if (path.scheme() == QStringLiteral("plasmapackage")) {
|
||||
QUrl pkgUrl;
|
||||
pkgUrl.setScheme(QStringLiteral("file"));
|
||||
pkgUrl.setPath(m_package.filePath(0, path.path()));
|
||||
return pkgUrl;
|
||||
}
|
||||
|
||||
//TODO: security: permission for remote urls
|
||||
if (!path.isLocalFile() ) {
|
||||
return path;
|
||||
|
@ -107,11 +107,6 @@ void AppletInterface::init()
|
||||
|
||||
//use our own custom network access manager that will access Plasma packages and to manage security (i.e. deny access to remote stuff when the proper extension isn't enabled
|
||||
QQmlEngine *engine = m_qmlObject->engine();
|
||||
QQmlNetworkAccessManagerFactory *factory = engine->networkAccessManagerFactory();
|
||||
engine->setNetworkAccessManagerFactory(0);
|
||||
delete factory;
|
||||
//engine->setNetworkAccessManagerFactory(new PackageAccessManagerFactory(m_appletScriptEngine->package()));
|
||||
engine->setNetworkAccessManagerFactory(PackageUrlInterceptor::createPackageAccessManagerFactory(m_appletScriptEngine->package()));
|
||||
|
||||
//Hook generic url resolution to the applet package as well
|
||||
//TODO: same thing will have to be done for every qqmlengine: PackageUrlInterceptor is material for plasmaquick?
|
||||
|
Loading…
Reference in New Issue
Block a user