resourceloader: Only store sources' load.php urls
authorKunal Mehta <legoktm@gmail.com>
Mon, 25 Aug 2014 08:02:48 +0000 (01:02 -0700)
committerTimo Tijhof <krinklemail@gmail.com>
Fri, 5 Sep 2014 02:38:22 +0000 (04:38 +0200)
commite103ba265bbcdf9521ffbfdfde7ea9c01b9765f0
tree7f99754cb75b7392cb8a1d2236d437cb27dbaae6
parentb29515303ccf9c23c4ae721414c02582aab317b7
resourceloader: Only store sources' load.php urls

Previously ResourceLoader would store any arbitrary data about a
source, provided it had a 'loadScript' key. It would register
the 'local' source with an additional 'apiScript' key, which was
also documented in DefaultSettings.php. However, it was
completely unused outside of the ForeignAPIGadgetRepo class in
Gadgets 2.0, which should be changed to take an API url as a
parameter. This was not useful as it was not ever formally
exposed, and it could not be depended upon that a source had
registered an 'apiScript' key.

For backwards compatability, both ResourceLoader::addSource()
and mw.loader.addSource() will both take an array/object, but
discard all parameters except for 'loadScript'.

Also added tests for ResourceLoader::addSource().

Bug: 69878
Change-Id: I4205cf788cddeec13b619be0c3576197dec1b8bf
includes/DefaultSettings.php
includes/resourceloader/ResourceLoader.php
resources/src/mediawiki/mediawiki.js
tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php
tests/phpunit/includes/resourceloader/ResourceLoaderTest.php
tests/qunit/suites/resources/mediawiki/mediawiki.test.js