Merge "Do not load module 'ext.CodeMirror' when CodeEditor is active"

This commit is contained in:
jenkins-bot 2019-03-20 21:31:03 +00:00 committed by Gerrit Code Review
commit fc4d4b0c36
2 changed files with 9 additions and 7 deletions

View file

@ -5,10 +5,16 @@ class CodeMirrorHooks {
/**
* Checks if CodeMirror for textarea wikitext editor should be loaded on this page or not.
*
* @param IContextSource $context The current ContextSource object
* @param OutputPage $out
* @return bool
*/
private static function isCodeMirrorOnPage( IContextSource $context ) {
private static function isCodeMirrorOnPage( OutputPage $out ) {
// Disable CodeMirror when CodeEditor is active on this page
// Depends on ext.codeEditor being added by EditPage::showEditForm:initial
if ( in_array( 'ext.codeEditor', $out->getModules() ) ) {
return false;
}
$context = $out->getContext();
return in_array( Action::getActionName( $context ), [ 'edit', 'submit' ] ) &&
// CodeMirror on textarea wikitext editors doesn't support RTL (T170001)
!$context->getTitle()->getPageLanguage()->isRTL();
@ -23,7 +29,7 @@ class CodeMirrorHooks {
* @param Skin &$skin
*/
public static function onBeforePageDisplay( OutputPage &$out, Skin &$skin ) {
if ( self::isCodeMirrorOnPage( $out->getContext() ) ) {
if ( self::isCodeMirrorOnPage( $out ) ) {
$out->addModules( 'ext.CodeMirror' );
if ( $out->getUser()->getOption( 'usecodemirror' ) ) {

View file

@ -8,10 +8,6 @@
'ext.CodeMirror.mode.mediawiki'
];
if ( mw.config.get( 'wgCodeEditorCurrentLanguage' ) ) { // If the CodeEditor is used then just exit;
return;
}
// Exit if WikiEditor is disabled
// usebetatoolbar can be the string "0" if the user disabled the preference - Bug T54542#555387
if ( !( mw.loader.getState( 'ext.wikiEditor' ) && mw.user.options.get( 'usebetatoolbar' ) > 0 ) ) {