resourceloader: Embed 'mediawiki' directly in startup response
authorTimo Tijhof <krinklemail@gmail.com>
Fri, 15 Jun 2018 20:20:14 +0000 (21:20 +0100)
committerKrinkle <krinklemail@gmail.com>
Wed, 27 Jun 2018 17:06:35 +0000 (17:06 +0000)
commitb7b84d55d4ea396167cba2fcf81369f48f1a1837
treef2fd92f4a84efded2532608b6260b33e235b1c6d
parentf90a2c2a7674553b636e0360e4e7e53bb533cb39
resourceloader: Embed 'mediawiki' directly in startup response

Embed the essential files to define mw.loader directly as part of
the startup module.

* This means the internal 'mediawiki' module no longer exists.
  This is safe to remove because:
  1) While registered server-side for loading from startup.js, a PHPUnit
     structure test disallowed being specified as a dependency.
  2) Anything that attempted to load it client-side failed because the
     module was marked in the registry as 'raw', thereby excluding it
     from the data sent to the client-side. As such, it was seen as an
     unknown module that the client refused to fetch from the server.

* Deprecate getStartupModules() and getLegacyModules().
  These are no longer needed. There are no known callers anywhere in
  Wikimedia Git or elsewhere indexed by Codesearch, but easy enough
  to leave as no-op for one release.

* Remove ResourceLoaderRawFileModule class.
  No longer needed. Was created as a hack specifically for the 'mediawiki'
  module so that it would not leak global variables in debug mode.
  It has no usage anywhere in Wikimedia Git, nor elsewhere in Codesearch.
  Remove without deprecation given this was meant to be a 'private' class.

* Introduce (private) getBaseModules(). Previously, this list only existed
  locally in getStartupModulesUrl() by merging getStartupModules() and
  getLegacyModules(). This value was factored out into its own method.

* Make getStartupModulesUrl() private and rename to getBaseModulesUrl().
  It is only used internally to export the 'baseModulesUri' value.
  Its name was already confusing before, but it would've been even more
  confusing now given it doesn't even call getStartupModules() any more.

Bug: T192623
Change-Id: I14ba282d7b65e99ca54b7c2f77ba6e1adaddd11c
16 files changed:
RELEASE-NOTES-1.32
autoload.php
includes/resourceloader/ResourceLoaderRawFileModule.php [deleted file]
includes/resourceloader/ResourceLoaderStartUpModule.php
jsduck.json
maintenance/jsduck/eg-iframe.html
resources/Resources.php
resources/src/mediawiki/mediawiki.js [deleted file]
resources/src/mediawiki/mediawiki.log.js [deleted file]
resources/src/mediawiki/mediawiki.requestIdleCallback.js [deleted file]
resources/src/startup.js [deleted file]
resources/src/startup/mediawiki.js [new file with mode: 0644]
resources/src/startup/mediawiki.log.js [new file with mode: 0644]
resources/src/startup/mediawiki.requestIdleCallback.js [new file with mode: 0644]
resources/src/startup/startup.js [new file with mode: 0644]
tests/phpunit/structure/ResourcesTest.php