Don't pull in initialisation code.

Authored by Jdlrobson.


Don't pull in initialisation code.

In Special:JavaScriptTest/qunit/plain there is no page to construct
Thus a lot of the code in mobile.startup init.js was causing side
effects and it really shouldn't be pulled into the test suite.

Separating our initialisation scripts from our classes allows us to use
them in places over than Minerva and test them better in isolation without
incurring side effects.


  • EditorOverlayBase and classes that inherit from it must be passed an instance of PageApi
  • TalkSectionAddOverlay, TalkOverlay,

TalkSectionOverlay now must be passed an instance of PageApi

  • Skins can now be initialized without passing tabletModules as an


  • Rename of mobile.head to more meaningful skins.minerva.scripts.top
  • Rename all ResourceLoader modules which have initialisation code in them to

have a skins.minerva prefix.

  • Make it clear that any module defined with a mobile prefix should not have any

side effects

  • Leave module names that impact anonymous users intact until cache clears (note

mobile.talk and mobile.newusers only impact logged in users so are cache exempt)

  • Update test for toast code now that it's not passing simply due to side-effects of

pulling in styles that should not be pulled in

Dependency: I1e19e6df6f36ec6d59630d651ca7f1e74cb16d30
Dependency: Iaef2e7a0706b0ec6c470ab43692c48b96a74b403
Bug: T103991
Bug: T101795
Change-Id: If37a623f1571645a040c10fc7c5304c7ee0fd332