User:Tim Starling/CSS and JS caller survey (r56220)

From MediaWiki.org
Jump to navigation Jump to search

Quick survey of where CSS and JS comes from and goes to in the core at present, as a design aid for a possible refactor.

Script adders[edit]

OutputPage[edit]

  • OutputPage::headElement()
    • common/wikiprintable.css
    • Skin::setupUserCss()
    • Skin::getHeadScripts()
    • OutputPage::buildCssLinks() (from addStyle())
    • OutputPage::getHeadItems()
    • $skin->usercss
    • OutputPage::getScriptLoaderJs() (mwScriptLoader.php?class=blah)
  • OutputPage::output()
    • OutputPage::addCoreScripts2Top()
    • ajax.js
    • AjaxAddScript
    • ajaxwatch.js
    • mwsuggest.js
    • rightclickedit.js
    • ajaxCategories class

OutputPage::addCoreScripts2Top()

    • wikibits.js
    • classes window.jQuery, mv_embed

Skin base classes[edit]

  • Skin::getHeadScripts()
    • gen=js
    • User:x/skinname.js
    • $out->mScripts
  • Skin::setupUserCss()
    • MediaWiki:Common.css
    • MediaWiki:Print.css
    • MediaWiki:Handheld.css
    • MediaWiki:Skinname.css
    • gen=css
    • CSS preview (via $skin->usercss)
    • User:name/skinname.css
    • OutputPage::getExtStyle()
    • Skin::setupSkinUserCss()
  • Skin::bottomScripts()
    • if (window.runOnloadHook) runOnloadHook();
    • SkinAfterBottomScripts hook
  • Skin::setupSkinUserCss()
    • common/shared.css
    • common/oldshared.css
    • $this->getStylesheet() (common/wikistandard.css)
    • common/common_rtl.css
  • SkinTemplate::outputPage()
    • Skin::setupUserCss()
    • SkinTemplate::setupUserJs()
    • gen=js (to jsvarurl)
    • OutputPage::getScript() (to headscripts)
    • Skin::bottomScripts() (to bottomscripts)
    • SkinTemplate::setupPageCss() (SkinTemplateSetupPageCss hook to pagecss)
  • SkinTemplate::setupUserJs()
    • JS preview
    • User:name/skinname.js
  • SkinTemplate::setupSkinUserJs()
    • NOT CALLED
    • gen=js

Classic three skins[edit]

  • SkinStandard::getHeadScripts()
    • common/sticky.js
    • Skin::getHeadScripts()
  • SkinStandard::setupSkinUserCss()
    • common/quickbar.css
    • common/quickbar-right.css
    • Skin::setupSkinUserCss()
  • SkinNostalgia::getStylesheet()
    • common/nostalgia.css
  • SkinCologneBlue::getStylesheet()
    • common/cologneblue.css


SkinTemplate derivatives[edit]

  • SkinMonoBook::setupSkinUserCss()
    • Skin::setupSkinUserCss()
    • monobook/main.css
    • $wgHandheldStyle (chick/main.css)
    • monobook/IE50Fixes.css
    • monobook/IE55Fixes.css
    • monobook/IE60Fixes.css
    • monobook/IE70Fixes.css
    • monobook/rtl.css
    • $skin->pagecss
    • $skin->usercss
  • SkinMonoBook::setupSkinUserJs()
    • NOT CALLED
    • wikibits.js
    • jsvarurl
    • userjs
    • userjsprev
  • MonoBookTemplate::execute()
    • common/IEFixes.js
    • OutputPage::headElement()
    • if (window.isMSIE55) fixalpha();
    • bottomscripts
  • SkinChick::setupSkinUserCss()
    • Skin::setupSkinUserCss()
    • chick/main.css
    • chick/IE50Fixes.css
    • chick/IE55Fixes.css
    • chick/IE60Fixes.css
  • SkinModern::setupSkinUserCss()
    • common/shared.css
    • modern/main.css
    • modern/print.css
    • modern/rtl.css
  • ModernTemplate::execute()
    • common/IEFixes.js
    • OutputPage::headElement()
    • bottomscripts
  • SkinSimple::setupSkinUserCss()
    • simple/main.css
    • simple/rtl.css
  • SkinVector::initPage()
    • vector/main-rtl.css
    • vector/main-ltr.css
    • csshover.htc
    • common/IEFixes.js
  • VectorTemplate::execute()
    • OutputPage::headElement()
    • if ( window.isMSIE55 ) fixalpha();
    • bottomscripts

Non-skin modules[edit]

  • EditPage
    • edit.js
    • preview.js
    • editPage class
  • HTMLForm
    • htmlform class
  • HistoryPage
    • history.js
  • ImagePage.php
    • metadata.js
  • DifferenceEngine
    • diff.js
  • SpecialPreferences
    • prefs.js
  • SpecialSearch
    • search.js
  • SpecialUpload
    • uploadPage class
    • upload.js
    • edit.js

Script generators[edit]

  • Skin::generateUserJs()
    • Provides text for gen=js
  • Skin::generateUserStylesheet()
    • Calls Skin::reallyGenerateUserStylesheet()
  • Skin::reallyGenerateUserStylesheet()
  • SkinCologneBlue::reallyGenerateUserStylesheet()
  • SkinSimple::reallyGenerateUserStylesheet()
  • SkinStandard::reallyGenerateUserStylesheet()