Merge "Add tags for undo edits"
[lhc/web/wiklou.git] / resources / src / mediawiki / mediawiki.js
index aae292d..6a218e3 100644 (file)
                                        // Cache
                                        marker = document.querySelector( 'meta[name="ResourceLoaderDynamicStyles"]' );
                                        if ( !marker ) {
-                                               mw.log( 'Create <meta name="ResourceLoaderDynamicStyles"> dynamically' );
-                                               marker = $( '<meta>' ).attr( 'name', 'ResourceLoaderDynamicStyles' ).appendTo( 'head' )[ 0 ];
+                                               mw.log( 'Created ResourceLoaderDynamicStyles marker dynamically' );
+                                               marker = document.createElement( 'meta' );
+                                               marker.name = 'ResourceLoaderDynamicStyles';
+                                               document.head.appendChild( marker );
                                        }
                                }
                                return marker;
                                if ( nextNode && nextNode.parentNode ) {
                                        nextNode.parentNode.insertBefore( s, nextNode );
                                } else {
-                                       document.getElementsByTagName( 'head' )[ 0 ].appendChild( s );
+                                       document.head.appendChild( s );
                                }
 
                                return s;
                                                registry[ module ].dependencies = [ registry[ module ].dependencies ];
                                        }
                                }
-                               if ( $.inArray( module, resolved ) !== -1 ) {
+                               if ( resolved.indexOf( module ) !== -1 ) {
                                        // Module already resolved; nothing to do
                                        return;
                                }
                                // Tracks down dependencies
                                deps = registry[ module ].dependencies;
                                for ( i = 0; i < deps.length; i++ ) {
-                                       if ( $.inArray( deps[ i ], resolved ) === -1 ) {
+                                       if ( resolved.indexOf( deps[ i ] ) === -1 ) {
                                                if ( unresolved.has( deps[ i ] ) ) {
                                                        throw new Error( mw.format(
                                                                'Circular reference detected: $1 -> $2',
                                        var state = mw.loader.getState( module );
                                        // Only queue modules that are still in the initial 'registered' state
                                        // (not ones already loading, ready or error).
-                                       if ( state === 'registered' && $.inArray( module, queue ) === -1 ) {
+                                       if ( state === 'registered' && queue.indexOf( module ) === -1 ) {
                                                // Private modules must be embedded in the page. Don't bother queuing
                                                // these as the server will deny them anyway (T101806).
                                                if ( registry[ module ].group === 'private' ) {
                        function splitModuleKey( key ) {
                                var index = key.indexOf( '@' );
                                if ( index === -1 ) {
-                                       return { name: key };
+                                       return {
+                                               name: key,
+                                               version: ''
+                                       };
                                }
                                return {
                                        name: key.slice( 0, index ),
                                                // Only load modules which are registered
                                                if ( hasOwn.call( registry, queue[ q ] ) && registry[ queue[ q ] ].state === 'registered' ) {
                                                        // Prevent duplicate entries
-                                                       if ( $.inArray( queue[ q ], batch ) === -1 ) {
+                                                       if ( batch.indexOf( queue[ q ] ) === -1 ) {
                                                                batch.push( queue[ q ] );
                                                                // Mark registered modules as loading
                                                                registry[ queue[ q ] ].state = 'loading';
                                        registry[ name ].messages = messages || null;
                                        registry[ name ].templates = templates || null;
                                        // The module may already have been marked as erroneous
-                                       if ( $.inArray( registry[ name ].state, [ 'error', 'missing' ] ) === -1 ) {
+                                       if ( registry[ name ].state !== 'error' && registry[ name ].state !== 'missing' ) {
                                                registry[ name ].state = 'loaded';
                                                if ( allReady( registry[ name ].dependencies ) ) {
                                                        execute( name );
                                                                l = document.createElement( 'link' );
                                                                l.rel = 'stylesheet';
                                                                l.href = modules;
-                                                               $( 'head' ).append( l );
+                                                               document.head.appendChild( l );
                                                                return;
                                                        }
                                                        if ( type === 'text/javascript' || type === undefined ) {
                                                mw.loader.register( module );
                                        }
                                        registry[ module ].state = state;
-                                       if ( $.inArray( state, [ 'ready', 'error', 'missing' ] ) !== -1 ) {
+                                       if ( state === 'ready' || state === 'error' || state === 'missing' ) {
                                                // Make sure pending modules depending on this one get executed if their
                                                // dependencies are now fulfilled!
                                                handlePending( module );
                                                        // Module failed to load
                                                        descriptor.state !== 'ready' ||
                                                        // Unversioned, private, or site-/user-specific
-                                                       ( !descriptor.version || $.inArray( descriptor.group, [ 'private', 'user' ] ) !== -1 ) ||
+                                                       !descriptor.version ||
+                                                       descriptor.group === 'private' ||
+                                                       descriptor.group === 'user' ||
                                                        // Partial descriptor
                                                        // (e.g. skipped module, or style module with state=ready)
-                                                       $.inArray( undefined, [ descriptor.script, descriptor.style,
-                                                               descriptor.messages, descriptor.templates ] ) !== -1
+                                                       [ descriptor.script, descriptor.style, descriptor.messages,
+                                                               descriptor.templates ].indexOf( undefined ) !== -1
                                                ) {
                                                        // Decline to store
                                                        return false;
                        // If we have an exception object, log it to the warning channel to trigger
                        // proper stacktraces in browsers that support it.
                        if ( e && console.warn ) {
-                               console.warn( String( e ), e );
+                               console.warn( e );
                        }
                }
                /* eslint-enable no-console */