The mobile.init module was setup to capture the side effects of code that runs on skins operating in mobile.
While it was intended to be used to handle changes in the MobileFormatter, e.g. lazy loading and lazy loaded references, it appears to have been tainted to also provide a method mw.mobileFrontend.getCurrentPage() and a shared skin instance.
This also means that VisualEditor doesn't behave correctly in desktop mode (see T208068)
Long term Minerva can only depend on the mobile.startup module in MobileFrontend. When we finally get round to doing T171000 we will swap this out for an npm module.
Acceptance criteria
- Skin::getLicenseMsg is separated from Skin as a pure function.
- Remove all instances of M.require( 'skins.minerva.scripts/skin' )
- Remove all instances of M.require( 'mobile.init/skin' )
- mobile.init should be removed from Minerva's skin.json
- mobile.init no longer exports getCurrentPage. This factory method is moved to mobile.startup