Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/201364
Change subject: Do not load Minerva modules outside Minerva
......................................................................
Do not load Minerva modules outside Minerva
Make it super clear that certain modules should not be dependencies of
other modules. Cleanup the mobile.stable,beta and alpha modules and prefix
them with skins.minerva. When they do they cause breakage in other skins for
extensions that need to run outside desktop.
Changes:
* Split out the microsize js library into its own library
* Keep aliases to avoid caching issues.
* Drop lots of dependencies not needed on this module
Bug: T94504
Change-Id: Ia08a0cfe0a1ff988b21fad07149ba7e351f9c8eb
---
M includes/Resources.php
M includes/skins/SkinMinerva.php
M includes/skins/SkinMinervaAlpha.php
M includes/skins/SkinMinervaBeta.php
M javascripts/loggingSchemas/init.js
5 files changed, 42 insertions(+), 22 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/64/201364/1
diff --git a/includes/Resources.php b/includes/Resources.php
index 818abf6..59ee315 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -211,6 +211,13 @@
'mobile-frontend-last-modified-with-user-just-now',
),
),
+
+ 'mobile.microAutoSize' => $wgMFResourceFileModuleBoilerplate + array(
+ 'scripts' => array(
+ 'javascripts/externals/micro.autosize.js',
+ ),
+ ),
+
'mediawiki.template.hogan' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
'mediawiki.template',
@@ -437,7 +444,8 @@
'mobile.editor.api' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.stable',
+ // Api
+ 'mobile.startup',
'mobile.abusefilter',
),
'scripts' => array(
@@ -448,7 +456,7 @@
'mobile.editor.common' => $wgMFResourceParsedMessageModuleBoilerplate +
array(
'dependencies' => array(
'oojs-ui',
- 'mobile.stable',
+ 'mobile.overlays',
'mobile.editor.api',
'mobile.settings',
'mobile.drawers',
@@ -506,6 +514,7 @@
'dependencies' => array(
'mobile.editor.common',
'mobile.loggingSchemas',
+ 'mobile.microAutoSize',
),
'scripts' => array(
'javascripts/modules/editor/EditorOverlay.js',
@@ -520,10 +529,11 @@
'mobile.uploads' => $wgMFResourceParsedMessageModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.stable',
+ 'mobile.startup',
'mobile.editor.api',
'mobile.contentOverlays',
'mobile.foreignApi',
+ 'mobile.microAutoSize',
),
'scripts' => array(
'javascripts/modules/uploads/PhotoApi.js',
@@ -1155,7 +1165,7 @@
'mobile.notifications.overlay' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
- 'mobile.stable',
+ 'mobile.overlays',
'ext.echo.base',
),
'scripts' => array(
@@ -1352,7 +1362,6 @@
'mobile.editor.ve' => $wgMFResourceBoilerplate + array(
'dependencies' => array(
'ext.visualEditor.mobileViewTarget',
- 'mobile.stable',
'mobile.editor.common',
'mobile.overlays',
),
@@ -1480,7 +1489,7 @@
'mobile.special.notifications.scripts' =>
$wgMFMobileSpecialPageResourceBoilerplate + array(
'dependencies' => array(
- 'mobile.stable'
+ 'mobile.startup',
),
'scripts' => array(
'javascripts/specials/notifications.js',
@@ -1613,16 +1622,11 @@
'position' => 'top',
),
- // By mode.
- 'mobile.stable' => $wgMFResourceFileModuleBoilerplate + array(
+ // By mode. This should only ever be loaded in Minerva skin.
+ 'skins.minerva.scripts' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
'mobile.startup',
'mobile.loggingSchemas',
- // FIXME: Review the modules that follow. Ensure they
are in the correct module definition.
- 'mobile.user',
- 'mediawiki.util',
- 'mediawiki.language',
- 'mobile.pagelist.scripts',
// Feature modules that should be loaded in stable.
// These modules should only setup routes/events or
// load code under certain conditions.
@@ -1632,14 +1636,14 @@
'mobile.redirect',
),
'scripts' => array(
- 'javascripts/externals/micro.autosize.js',
'javascripts/modules/mediaViewer/init.js',
'javascripts/modules/languages/init.js',
),
),
- 'mobile.beta' => $wgMFResourceFileModuleBoilerplate + array(
+ // By mode. This should only ever be loaded in Minerva skin.
+ 'skins.minerva.beta.scripts' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
- 'mobile.stable',
+ 'skins.minerva.scripts',
// Feature modules that should be loaded in beta should
be listed below here.
// These modules should only setup routes/events or
// load code under certain conditions.
@@ -1651,9 +1655,10 @@
'javascripts/modules/bannerImage/init.js',
),
),
- 'mobile.alpha' => $wgMFResourceFileModuleBoilerplate + array(
+ // By mode. This should only ever be loaded in Minerva skin.
+ 'skins.minerva.alpha.scripts' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
- 'mobile.beta',
+ 'skins.minerva.beta.scripts',
// Feature modules that should be loaded in alpha
should be listed below here.
'mobile.infobox',
'mobile.fontchanger',
@@ -1667,6 +1672,18 @@
'javascripts/modules/projects/init.js',
)
),
+ // FIXME: Alias. Remove when cache cleared.
+ 'mobile.stable' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array( 'skins.minerva.scripts' ),
+ ),
+ // FIXME: Alias.Remove when cache cleared.
+ 'mobile.beta' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array( 'skins.minerva.beta.scripts' ),
+ ),
+ // FIXME: Alias. Remove when cache cleared.
+ 'mobile.alpha' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array( 'skins.minerva.alpha.scripts' ),
+ ),
'tablet.scripts' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
// Feature modules that should be loaded on tablets
should be listed below here.
diff --git a/includes/skins/SkinMinerva.php b/includes/skins/SkinMinerva.php
index 58c3029..3f50e08 100644
--- a/includes/skins/SkinMinerva.php
+++ b/includes/skins/SkinMinerva.php
@@ -937,7 +937,7 @@
$modules['head'] = 'mobile.head';
// Define all the modules that should load on the mobile site
and their dependencies.
// Do not add mobules here.
- $modules['stable'] = 'mobile.stable';
+ $modules['stable'] = 'skins.minerva.scripts';
// Doing this unconditionally, prevents the desktop watchstar
from ever leaking into mobile view.
$modules['watch'] = array();
diff --git a/includes/skins/SkinMinervaAlpha.php
b/includes/skins/SkinMinervaAlpha.php
index 121a540..a020428 100644
--- a/includes/skins/SkinMinervaAlpha.php
+++ b/includes/skins/SkinMinervaAlpha.php
@@ -18,7 +18,7 @@
*/
public function getDefaultModules() {
$modules = parent::getDefaultModules();
- $modules['alpha'] = array( 'mobile.alpha' );
+ $modules['alpha'] = array( 'skins.minerva.alpha.scripts' );
if ( $this->getCategoryLinks( false ) ) {
$modules['categories'] = array( 'mobile.categories' );
diff --git a/includes/skins/SkinMinervaBeta.php
b/includes/skins/SkinMinervaBeta.php
index 54a0784..a03d0bc 100644
--- a/includes/skins/SkinMinervaBeta.php
+++ b/includes/skins/SkinMinervaBeta.php
@@ -78,7 +78,7 @@
*/
public function getDefaultModules() {
$modules = parent::getDefaultModules();
- $modules['beta'] = array( 'mobile.beta' );
+ $modules['beta'] = array( 'skins.minerva.beta.scripts' );
Hooks::run( 'SkinMinervaDefaultModules', array( $this,
&$modules ) );
// Disable CentralNotice modules in beta
diff --git a/javascripts/loggingSchemas/init.js
b/javascripts/loggingSchemas/init.js
index b144260..acf9b9b 100644
--- a/javascripts/loggingSchemas/init.js
+++ b/javascripts/loggingSchemas/init.js
@@ -1,4 +1,7 @@
-// Add EventLogging to hamburger menu
+/**
+ * This initialises EventLogging for main menu and some prominent links in the
UI.
+ * This code should only be loaded on the Minerva skin, it does not apply to
other skins.
+ */
( function ( M, $ ) {
var SchemaMobileWebClickTracking = M.require(
'loggingSchemas/SchemaMobileWebClickTracking' ),
skin = M.require( 'skin' ),
--
To view, visit https://gerrit.wikimedia.org/r/201364
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia08a0cfe0a1ff988b21fad07149ba7e351f9c8eb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits