Merge "(bug 26909) follow up r102947: fix the navigation with 'dir' and 'continue...
[lhc/web/wiklou.git] / resources / Resources.php
index b5ceed1..2855f9a 100644 (file)
@@ -4,25 +4,43 @@ return array(
 
        /* Special modules who have their own classes */
 
+       // Scripts managed by the local wiki (stored in the MediaWiki namespace)
        'site' => array( 'class' => 'ResourceLoaderSiteModule' ),
        'noscript' => array( 'class' => 'ResourceLoaderNoscriptModule' ),
        'startup' => array( 'class' => 'ResourceLoaderStartUpModule' ),
-       'user' => array( 'class' => 'ResourceLoaderUserModule' ),
+       'filepage' => array( 'class' => 'ResourceLoaderFilePageModule' ),
        'user.groups' => array( 'class' => 'ResourceLoaderUserGroupsModule' ),
+
+       // Scripts managed by the current user (stored in their user space)
+       'user' => array( 'class' => 'ResourceLoaderUserModule' ),
+
+       // Scripts generated based on the current user's preferences
+       'user.cssprefs' => array( 'class' => 'ResourceLoaderUserCSSPrefsModule' ),
+
+       // Populate mediawiki.user placeholders with information about the current user
        'user.options' => array( 'class' => 'ResourceLoaderUserOptionsModule' ),
        'user.tokens' => array( 'class' => 'ResourceLoaderUserTokensModule' ),
-       'filepage' => array( 'class' => 'ResourceLoaderFilePageModule' ),
+
+       // Scripts for the dynamic language specific data, like grammar forms.
+       'mediawiki.language.data' => array( 'class' => 'ResourceLoaderLanguageDataModule' ),
 
        /* Skins */
 
-       'skins.vector' => array(
+       'skins.chick' => array(
+               'styles' => array( 'chick/main.css' => array( 'media' => 'screen, handheld' ) ),
+               'remoteBasePath' => $GLOBALS['wgStylePath'],
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
+       ),
+       'skins.cologneblue' => array(
+               'styles' => array( 'cologneblue/screen.css' => array( 'media' => 'screen' ) ),
+               'remoteBasePath' => $GLOBALS['wgStylePath'],
+               'localBasePath' => $GLOBALS['wgStyleDirectory'],
+       ),
+       'skins.modern' => array(
                'styles' => array(
-                       'common/commonElements.css' => array( 'media' => 'screen' ),
-                       'common/commonContent.css' => array( 'media' => 'screen' ),
-                       'common/commonInterface.css' => array( 'media' => 'screen' ),
-                       'vector/screen.css' => array( 'media' => 'screen' ),
+                       'modern/main.css' => array( 'media' => 'screen' ),
+                       'modern/print.css' => array( 'media' => 'print' ),
                ),
-               'scripts' => 'vector/vector.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
@@ -36,34 +54,29 @@ return array(
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
-       'skins.simple' => array(
-               'styles' => array( 'simple/main.css' => array( 'media' => 'screen' ) ),
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => $GLOBALS['wgStyleDirectory'],
-       ),
-       'skins.chick' => array(
-               'styles' => array( 'chick/main.css' => array( 'media' => 'screen,handheld' ) ),
-               'remoteBasePath' => $GLOBALS['wgStylePath'],
-               'localBasePath' => $GLOBALS['wgStyleDirectory'],
-       ),
-       'skins.modern' => array(
-               'styles' => array( 'modern/main.css' => array( 'media' => 'screen' ),
-                               'modern/print.css' => array( 'media' => 'print' ) ),
+       'skins.nostalgia' => array(
+               'styles' => array( 'nostalgia/screen.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
-       'skins.cologneblue' => array(
-               'styles' => array( 'cologneblue/screen.css' => array( 'media' => 'screen' ) ),
+       'skins.simple' => array(
+               'styles' => array( 'simple/main.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
-       'skins.nostalgia' => array(
-               'styles' => array( 'nostalgia/screen.css' => array( 'media' => 'screen' ) ),
+       'skins.standard' => array(
+               'styles' => array( 'standard/main.css' => array( 'media' => 'screen' ) ),
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
-       'skins.standard' => array(
-               'styles' => array( 'common/wikistandard.css' => array( 'media' => 'screen' ) ),
+       'skins.vector' => array(
+               'styles' => array(
+                       'common/commonElements.css' => array( 'media' => 'screen' ),
+                       'common/commonContent.css' => array( 'media' => 'screen' ),
+                       'common/commonInterface.css' => array( 'media' => 'screen' ),
+                       'vector/screen.css' => array( 'media' => 'screen' ),
+               ),
+               'scripts' => 'vector/vector.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
        ),
@@ -77,12 +90,16 @@ return array(
 
        /* jQuery Plugins */
 
-       'jquery.async' => array(
-               'scripts' => 'resources/jquery/jquery.async.js',
-       ),
        'jquery.appear' => array(
                'scripts' => 'resources/jquery/jquery.appear.js',
        ),
+       'jquery.arrowSteps' => array(
+               'scripts' => 'resources/jquery/jquery.arrowSteps.js',
+               'styles' => 'resources/jquery/jquery.arrowSteps.css',
+       ),
+       'jquery.async' => array(
+               'scripts' => 'resources/jquery/jquery.async.js',
+       ),
        'jquery.autoEllipsis' => array(
                'scripts' => 'resources/jquery/jquery.autoEllipsis.js',
                'dependencies' => 'jquery.highlightText',
@@ -103,13 +120,13 @@ return array(
        'jquery.collapsibleTabs' => array(
                'scripts' => 'resources/jquery/jquery.collapsibleTabs.js',
        ),
-       'jquery.colorUtil' => array(
-               'scripts' => 'resources/jquery/jquery.colorUtil.js',
-       ),
        'jquery.color' => array(
                'scripts' => 'resources/jquery/jquery.color.js',
                'dependencies' => 'jquery.colorUtil',
        ),
+       'jquery.colorUtil' => array(
+               'scripts' => 'resources/jquery/jquery.colorUtil.js',
+       ),
        'jquery.cookie' => array(
                'scripts' => 'resources/jquery/jquery.cookie.js',
        ),
@@ -120,6 +137,15 @@ return array(
                'scripts' => 'resources/jquery/jquery.expandableField.js',
                'dependencies' => 'jquery.delayedBind',
        ),
+       'jquery.farbtastic' => array(
+               'scripts' => 'resources/jquery/jquery.farbtastic.js',
+               'styles' => 'resources/jquery/jquery.farbtastic.css',
+               'dependencies' => 'jquery.colorUtil',
+       ),
+       'jquery.footHovzer' => array(
+               'scripts' => 'resources/jquery/jquery.footHovzer.js',
+               'styles' => 'resources/jquery/jquery.footHovzer.css',
+       ),
        'jquery.form' => array(
                'scripts' => 'resources/jquery/jquery.form.js',
        ),
@@ -132,13 +158,6 @@ return array(
        'jquery.hoverIntent' => array(
                'scripts' => 'resources/jquery/jquery.hoverIntent.js',
        ),
-       'jquery.messageBox' => array(
-               'scripts' => 'resources/jquery/jquery.messageBox.js',
-               'styles' => 'resources/jquery/jquery.messageBox.css',
-       ),
-       'jquery.placeholder' => array(
-               'scripts' => 'resources/jquery/jquery.placeholder.js',
-       ),
        'jquery.json' => array(
                'scripts' => 'resources/jquery/jquery.json.js',
        ),
@@ -150,12 +169,22 @@ return array(
                'styles' => 'resources/jquery/jquery.makeCollapsible.css',
                'messages' => array( 'collapsible-expand', 'collapsible-collapse' ),
        ),
+       'jquery.messageBox' => array(
+               'scripts' => 'resources/jquery/jquery.messageBox.js',
+               'styles' => 'resources/jquery/jquery.messageBox.css',
+       ),
        'jquery.mockjax' => array(
                'scripts' => 'resources/jquery/jquery.mockjax.js',
        ),
+       'jquery.mw-jump' => array(
+               'scripts' => 'resources/jquery/jquery.mw-jump.js',
+       ),
        'jquery.mwExtension' => array(
                'scripts' => 'resources/jquery/jquery.mwExtension.js',
        ),
+       'jquery.placeholder' => array(
+               'scripts' => 'resources/jquery/jquery.placeholder.js',
+       ),
        'jquery.qunit' => array(
                'scripts' => 'resources/jquery/jquery.qunit.js',
                'styles' => 'resources/jquery/jquery.qunit.css',
@@ -163,6 +192,7 @@ return array(
        ),
        'jquery.qunit.completenessTest' => array(
                'scripts' => 'resources/jquery/jquery.qunit.completenessTest.js',
+               'dependencies' => 'jquery.qunit',
        ),
        'jquery.spinner' => array(
                'scripts' => 'resources/jquery/jquery.spinner.js',
@@ -178,10 +208,15 @@ return array(
        ),
        'jquery.tablesorter' => array(
                'scripts' => 'resources/jquery/jquery.tablesorter.js',
+               'styles' => 'resources/jquery/jquery.tablesorter.css',
                'messages' => array( 'sort-descending', 'sort-ascending' ),
        ),
        'jquery.textSelection' => array(
                'scripts' => 'resources/jquery/jquery.textSelection.js',
+               'dependencies' => 'jquery.client',
+       ),
+       'jquery.validate' => array(
+               'scripts' => 'resources/jquery/jquery.validate.js',
        ),
        'jquery.xmldom' => array(
                'scripts' => 'resources/jquery/jquery.xmldom.js',
@@ -317,7 +352,9 @@ return array(
                        'fo' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fo.js',
                        'fr-ch' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fr-CH.js',
                        'fr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-fr.js',
+                       'gl' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-gl.js',
                        'he' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-he.js',
+                       'hi' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hi.js',
                        'hr' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hr.js',
                        'hu' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hu.js',
                        'hy' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-hy.js',
@@ -325,14 +362,21 @@ return array(
                        'is' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-is.js',
                        'it' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-it.js',
                        'ja' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ja.js',
+                       'kk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-kk.js',
+                       'km' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-km.js',
                        'ko' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ko.js',
+                       'lb' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-lb.js',
                        'lt' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-lt.js',
                        'lv' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-lv.js',
+                       'mk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-mk.js',
+                       'ml' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ml.js',
                        'ms' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ms.js',
                        'nl' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-nl.js',
                        'no' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-no.js',
                        'pl' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-pl.js',
+                       'pt' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-pt.js',
                        'pt-br' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-pt-BR.js',
+                       'rm' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-rm.js',
                        'ro' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ro.js',
                        'ru' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-ru.js',
                        'sk' => 'resources/jquery.ui/i18n/jquery.ui.datepicker-sk.js',
@@ -427,6 +471,11 @@ return array(
                'dependencies' => 'jquery.effects.core',
                'group' => 'jquery.ui',
        ),
+       'jquery.effects.fade' => array(
+               'scripts' => 'resources/jquery.effects/jquery.effects.fade.js',
+               'dependencies' => 'jquery.effects.core',
+               'group' => 'jquery.ui',
+       ),
        'jquery.effects.fold' => array(
                'scripts' => 'resources/jquery.effects/jquery.effects.fold.js',
                'dependencies' => 'jquery.effects.core',
@@ -470,6 +519,80 @@ return array(
                'debugScripts' => 'resources/mediawiki/mediawiki.log.js',
                'debugRaw' => false,
        ),
+       'mediawiki.api' => array(
+               'scripts' => 'resources/mediawiki.api/mediawiki.api.js',
+               'dependencies' => 'mediawiki.util',
+       ),
+       'mediawiki.api.category' => array( 
+               'scripts' => 'resources/mediawiki.api/mediawiki.api.category.js',
+               'dependencies' => array( 
+                       'mediawiki.api',
+                       'mediawiki.Title' 
+               ),
+       ),
+       'mediawiki.api.edit' => array( 
+               'scripts' => 'resources/mediawiki.api/mediawiki.api.edit.js',
+               'dependencies' => array( 
+                       'mediawiki.api',
+                       'mediawiki.Title' 
+               ),
+       ),
+       'mediawiki.api.parse' => array( 
+               'scripts' => 'resources/mediawiki.api/mediawiki.api.parse.js',
+               'dependencies' => 'mediawiki.api',
+       ),
+       'mediawiki.api.titleblacklist' => array( 
+               'scripts' => 'resources/mediawiki.api/mediawiki.api.titleblacklist.js',
+               'dependencies' => array( 
+                       'mediawiki.api',
+                       'mediawiki.Title' 
+               ),
+       ),
+       'mediawiki.api.watch' => array( 
+               'scripts' => 'resources/mediawiki.api/mediawiki.api.watch.js',
+               'dependencies' => array(
+                       'mediawiki.api',
+                       'user.tokens',
+               ),
+       ),
+       'mediawiki.debug' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.debug.js',
+               'styles' => 'resources/mediawiki/mediawiki.debug.css',
+               'dependencies' => 'jquery.footHovzer',
+               'position' => 'bottom',
+       ),
+       'mediawiki.debug.init' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.debug.init.js',
+               'dependencies' => 'mediawiki.debug',
+               // Uses a custom mw.config variable that is set in debughtml,
+               // must be loaded on the bottom
+               'position' => 'bottom',
+       ),
+       'mediawiki.feedback' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.feedback.js',
+               'styles' => 'resources/mediawiki/mediawiki.feedback.css',
+               'dependencies' => array( 
+                       'mediawiki.api.edit', 
+                       'mediawiki.Title',
+                       'mediawiki.jqueryMsg',
+                       'jquery.ui.dialog',
+               ),
+               'messages' => array( 
+                       'feedback-bugornote',
+                       'feedback-subject',
+                       'feedback-message',
+                       'feedback-cancel',
+                       'feedback-submit',
+                       'feedback-adding',
+                       'feedback-error1',
+                       'feedback-error2',
+                       'feedback-error3',
+                       'feedback-thanks',
+                       'feedback-close',
+                       'feedback-bugcheck',
+                       'feedback-bugnew',
+               ),
+       ),
        'mediawiki.htmlform' => array(
                'scripts' => 'resources/mediawiki/mediawiki.htmlform.js',
        ),
@@ -477,7 +600,7 @@ return array(
                'scripts' => 'resources/mediawiki/mediawiki.Title.js',
                'dependencies' => 'mediawiki.util',
        ),
-       'mediawiki.Uri' => array( 
+       'mediawiki.Uri' => array(
                'scripts' => 'resources/mediawiki/mediawiki.Uri.js',
        ),
        'mediawiki.user' => array(
@@ -486,6 +609,17 @@ return array(
                        'jquery.cookie',
                ),
        ),
+       'mediawiki.util' => array(
+               'scripts' => 'resources/mediawiki/mediawiki.util.js',
+               'dependencies' => array(
+                       'jquery.client',
+                       'jquery.cookie',
+                       'jquery.messageBox',
+                       'jquery.mwExtension',
+               ),
+               'messages' => array( 'showtoc', 'hidetoc' ),
+               'position' => 'top', // For $wgPreloadJavaScriptMwUtil
+       ),
 
        /* MediaWiki Action */
 
@@ -521,6 +655,10 @@ return array(
        ),
        'mediawiki.action.watch.ajax' => array(
                'scripts' => 'resources/mediawiki.action/mediawiki.action.watch.ajax.js',
+               'dependencies' => array(
+                       'mediawiki.api.watch',
+                       'mediawiki.util',
+               ),
                'messages' => array(
                        'watch',
                        'unwatch',
@@ -565,8 +703,10 @@ return array(
                        'mk' => 'resources/mediawiki.language/languages/mk.js',
                        'mo' => 'resources/mediawiki.language/languages/mo.js',
                        'mt' => 'resources/mediawiki.language/languages/mt.js',
+                       'nl' => 'resources/mediawiki.language/languages/nl.js',
                        'nso' => 'resources/mediawiki.language/languages/nso.js',
                        'pl' => 'resources/mediawiki.language/languages/pl.js',
+                       'pt' => 'resources/mediawiki.language/languages/pt.js',
                        'pt-br' => 'resources/mediawiki.language/languages/pt-br.js',
                        'ro' => 'resources/mediawiki.language/languages/ro.js',
                        'ru' => 'resources/mediawiki.language/languages/ru.js',
@@ -585,6 +725,11 @@ return array(
                ),
        ),
 
+       'mediawiki.jqueryMsg' => array(
+               'dependencies' => array( 'mediawiki.language', 'mediawiki.util' ),
+               'scripts' => 'resources/mediawiki/mediawiki.jqueryMsg.js'
+       ),
+
        /* MediaWiki Libs */
 
        'mediawiki.libs.jpegmeta' => array(
@@ -593,21 +738,13 @@ return array(
 
        /* MediaWiki Page */
 
-       'mediawiki.util' => array(
-               'scripts' => 'resources/mediawiki/mediawiki.util.js',
-               'dependencies' => array(
-                       'jquery.client',
-                       'jquery.cookie',
-                       'jquery.messageBox',
-                       'jquery.mwExtension',
-               ),
-       ),
        'mediawiki.page.ready' => array(
                'scripts' => 'resources/mediawiki.page/mediawiki.page.ready.js',
                'dependencies' => array(
                        'jquery.checkboxShiftClick',
                        'jquery.makeCollapsible',
                        'jquery.placeholder',
+                       'jquery.mw-jump',
                        'mediawiki.util',
                ),
        ),
@@ -615,10 +752,11 @@ return array(
                'scripts' => 'resources/mediawiki.page/mediawiki.page.startup.js',
                'dependencies' => array(
                        'jquery.client',
+                       'mediawiki.util',
                ),
                'position' => 'top',
        ),
-       
+
 
        /* MediaWiki Special pages */
 
@@ -626,34 +764,47 @@ return array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.js',
                'styles' => 'resources/mediawiki.special/mediawiki.special.css',
        ),
-       'mediawiki.special.preferences' => array(
-               'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
-               'styles' => 'resources/mediawiki.special/mediawiki.special.preferences.css',
-               'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
+       'mediawiki.special.block' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
+               'dependencies' => array(
+                       'mediawiki.util',
+               ),
+       ),
+       'mediawiki.special.changeemail' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.changeemail.js',
+               'styles' => 'resources/mediawiki.special/mediawiki.special.changeemail.css',
+               'dependencies' => array(
+                       'mediawiki.util',
+               ),
+               'messages' => array(
+                       'email-address-validity-valid',
+                       'email-address-validity-invalid',
+               ),
        ),
        'mediawiki.special.changeslist' => array(
                'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
                'dependencies' => array( 'jquery.makeCollapsible' ),
        ),
-       'mediawiki.special.search' => array(
-               'scripts' => 'resources/mediawiki.special/mediawiki.special.search.js',
-               'styles'  => 'resources/mediawiki.special/mediawiki.special.search.css',
-       ),
-       'mediawiki.special.block' => array(
-               'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
-       ),
-       'mediawiki.special.undelete' => array(
-               'scripts' => 'resources/mediawiki.special/mediawiki.special.undelete.js',
-       ),
        'mediawiki.special.movePage' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.movePage.js',
                'dependencies' => 'jquery.byteLimit',
        ),
+       'mediawiki.special.preferences' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
+               'styles'  => 'resources/mediawiki.special/mediawiki.special.preferences.css',
+       ),
        'mediawiki.special.recentchanges' => array(
                'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
                'dependencies' => array( 'mediawiki.special' ),
                'position' => 'top',
        ),
+       'mediawiki.special.search' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.search.js',
+               'styles' => 'resources/mediawiki.special/mediawiki.special.search.css',
+       ),
+       'mediawiki.special.undelete' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.undelete.js',
+       ),
        'mediawiki.special.upload' => array(
                // @TODO: merge in remainder of mediawiki.legacy.upload
                'scripts' => 'resources/mediawiki.special/mediawiki.special.upload.js',
@@ -665,7 +816,29 @@ return array(
                        'size-gigabytes',
                        'largefileserver',
                ),
-               'dependencies' => array( 'mediawiki.libs.jpegmeta' ),
+               'dependencies' => array( 'mediawiki.libs.jpegmeta', 'mediawiki.util' ),
+       ),
+       'mediawiki.special.javaScriptTest' => array(
+               'scripts' => 'resources/mediawiki.special/mediawiki.special.javaScriptTest.js',
+               'messages' => array_merge( Skin::getSkinNameMessages(), array(
+                       'colon-separator',
+                       'javascripttest-pagetext-skins',
+               ) ),
+               'dependencies' => array( 'jquery.qunit' ),
+               'position' => 'top',
+       ),
+
+       /* MediaWiki Tests */
+
+       'mediawiki.tests.qunit.testrunner' => array(
+               'scripts' => 'tests/qunit/data/testrunner.js',
+               'dependencies' => array(
+                       'jquery.qunit',
+                       'jquery.qunit.completenessTest',
+                       'mediawiki.page.startup',
+                       'mediawiki.page.ready',
+               ),
+               'position' => 'top',
        ),
 
        /* MediaWiki Legacy */
@@ -674,7 +847,11 @@ return array(
                'scripts' => 'common/ajax.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
-               'dependencies' => 'mediawiki.legacy.wikibits',
+               'dependencies' => array(
+                       'mediawiki.util',
+                       'mediawiki.legacy.wikibits',
+               ),
+               'position' => 'top', // Temporary hack for legacy support
        ),
        'mediawiki.legacy.commonPrint' => array(
                'styles' => array( 'common/commonPrint.css' => array( 'media' => 'print' ) ),
@@ -698,7 +875,7 @@ return array(
                'scripts' => 'common/mwsuggest.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
-               'dependencies' => array( 'mediawiki.legacy.wikibits', 'jquery.client' ),
+               'dependencies' => 'mediawiki.legacy.wikibits',
                'messages' => array( 'search-mwsuggest-enabled', 'search-mwsuggest-disabled' ),
        ),
        'mediawiki.legacy.preview' => array(
@@ -715,6 +892,7 @@ return array(
                        'mediawiki.legacy.wikibits',
                        'jquery.byteLimit',
                ),
+               'position' => 'top',
        ),
        'mediawiki.legacy.shared' => array(
                'styles' => array( 'common/shared.css' => array( 'media' => 'screen' ) ),
@@ -730,14 +908,19 @@ return array(
                'scripts' => 'common/upload.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
-               'dependencies' => 'mediawiki.legacy.wikibits',
+               'dependencies' => array(
+                       'mediawiki.legacy.wikibits',
+                       'mediawiki.util',
+               ),
        ),
        'mediawiki.legacy.wikibits' => array(
                'scripts' => 'common/wikibits.js',
                'remoteBasePath' => $GLOBALS['wgStylePath'],
                'localBasePath' => $GLOBALS['wgStyleDirectory'],
-               'dependencies' => 'mediawiki.language',
-               'messages' => array( 'showtoc', 'hidetoc' ),
+               'dependencies' => array(
+                       'mediawiki.util',
+               ),
+               'position' => 'top',
        ),
        'mediawiki.legacy.wikiprintable' => array(
                'styles' => array( 'common/wikiprintable.css' => array( 'media' => 'print' ) ),