Support for provided source from javascript, as function and other types.
Merge remote-tracking branch 'origin/master'