'oojs-ui.styles.textures',
'mediawiki.widgets.styles',
) );
+ // Used by 'skipFunction' of the four 'oojs-ui.styles.*' modules. Please don't treat this as a
+ // public API or you'll be severely disappointed when T87871 is fixed and it disappears.
+ $this->addMeta( 'X-OOUI-PHP', '1' );
}
}
'es5-shim',
'oojs',
'oojs-ui.styles',
- 'oojs-ui.styles.icons',
- 'oojs-ui.styles.indicators',
- 'oojs-ui.styles.textures',
'mediawiki.language',
),
'targets' => array( 'desktop', 'mobile' ),
'styles' => 'resources/src/oojs-ui-local.css', // HACK, see inside the file
'skinStyles' => $getSkinSpecific( 'core' ),
'targets' => array( 'desktop', 'mobile' ),
+ // ResourceLoaderImageModule doesn't support 'skipFunction', so instead we set this up so that
+ // this module is skipped together with its dependencies. Nothing else depends on these modules.
+ 'dependencies' => array(
+ 'oojs-ui.styles.icons',
+ 'oojs-ui.styles.indicators',
+ 'oojs-ui.styles.textures',
+ ),
+ 'skipFunction' => 'resources/src/oojs-ui-styles-skip.js',
);
// Deprecated old name for the module 'oojs-ui-core.styles'.
--- /dev/null
+/*!
+ * Skip function for OOjs UI PHP style modules.
+ *
+ * The `<meta name="X-OOUI-PHP" />` is added to pages by OutputPage::enableOOUI().
+ *
+ * Looking for elements in the DOM might be expensive, but it's probably better than double-loading
+ * 200 KB of CSS with embedded images because of bug T87871.
+ */
+return !!jQuery( 'meta[name="X-OOUI-PHP"]' ).length;