1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 19:30:21 +02:00

Call _adapter_$propertyName on resolver object if available to allow a nice promise based API without breaking legacy resolvers

This commit is contained in:
Dominik Schmidt
2014-11-11 21:51:26 +01:00
parent 5ae9275a5a
commit b77d4dc73e

View File

@@ -985,5 +985,13 @@ JSResolver::callOnResolver ( const QString& scriptSource )
{
Q_D( JSResolver );
return d->engine->mainFrame()->evaluateJavaScript( scriptSource + ";" );
QString propertyName = scriptSource.split('(').first();
return d->engine->mainFrame()->evaluateJavaScript( QString(
"if(Tomahawk.resolver.instance['_adapter_%1']) {"
" Tomahawk.resolver.instance._adapter_%2;"
"} else {"
" Tomahawk.resolver.instance.%2"
"}"
).arg( propertyName ).arg( scriptSource ) );
}