MediaWiki  REL1_31
ResourceLoaderStartUpModule Class Reference

Module for ResourceLoader initialization. More...

Inheritance diagram for ResourceLoaderStartUpModule:
Collaboration diagram for ResourceLoaderStartUpModule:

Public Member Functions

 getDefinitionSummary (ResourceLoaderContext $context)
 Get the definition summary for this module. More...
 
 getGroup ()
 
 getModuleRegistrations (ResourceLoaderContext $context)
 Get registration code for all modules. More...
 
 getPreloadLinks (ResourceLoaderContext $context)
 
 getScript (ResourceLoaderContext $context)
 
 isRaw ()
 
 supportsURLLoading ()
 
- Public Member Functions inherited from ResourceLoaderModule
 enableModuleContentVersion ()
 Whether to generate version hash based on module content. More...
 
 getConfig ()
 
 getDependencies (ResourceLoaderContext $context=null)
 Get a list of modules this module depends on. More...
 
 getFlip ( $context)
 
 getHeaders (ResourceLoaderContext $context)
 Get headers to send as part of a module web response. More...
 
 getMessages ()
 Get the messages needed for this module. More...
 
 getModifiedHash (ResourceLoaderContext $context)
 Helper method for providing a version hash to getVersionHash(). More...
 
 getModifiedTime (ResourceLoaderContext $context)
 Get this module's last modification timestamp for a given context. More...
 
 getModuleContent (ResourceLoaderContext $context)
 Get an array of this module's resources. More...
 
 getName ()
 Get this module's name. More...
 
 getOrigin ()
 Get this module's origin. More...
 
 getScriptURLsForDebug (ResourceLoaderContext $context)
 Get the URL or URLs to load for this module's JS in debug mode. More...
 
 getSkipFunction ()
 Get the skip function. More...
 
 getSource ()
 Get the origin of this module. More...
 
 getStyles (ResourceLoaderContext $context)
 Get all CSS for this module for a given skin. More...
 
 getStyleURLsForDebug (ResourceLoaderContext $context)
 Get the URL or URLs to load for this module's CSS in debug mode. More...
 
 getTargets ()
 Get target(s) for the module, eg ['desktop'] or ['desktop', 'mobile']. More...
 
 getTemplates ()
 Takes named templates by the module and returns an array mapping. More...
 
 getType ()
 Get the module's load type. More...
 
 getVersionHash (ResourceLoaderContext $context)
 Get a string identifying the current version of this module in a given context. More...
 
 isKnownEmpty (ResourceLoaderContext $context)
 Check whether this module is known to be empty. More...
 
 setConfig (Config $config)
 
 setFileDependencies (ResourceLoaderContext $context, $files)
 Set in-object cache for file dependencies. More...
 
 setLogger (LoggerInterface $logger)
 
 setMessageBlob ( $blob, $lang)
 Set in-object cache for message blobs. More...
 
 setName ( $name)
 Set this module's name. More...
 
 shouldEmbedModule (ResourceLoaderContext $context)
 Check whether this module should be embeded rather than linked. More...
 

Static Public Member Functions

static compileUnresolvedDependencies (array &$registryData)
 Optimize the dependency tree in $this->modules. More...
 
static getLegacyModules ()
 
static getStartupModules ()
 Base modules required for the base environment of ResourceLoader. More...
 
static getStartupModulesUrl (ResourceLoaderContext $context)
 Get the load URL of the startup modules. More...
 
- Static Public Member Functions inherited from ResourceLoaderModule
static expandRelativePaths (array $filePaths)
 Expand directories relative to $IP. More...
 
static getRelativePaths (array $filePaths)
 Make file paths relative to MediaWiki directory. More...
 

Protected Member Functions

 getAllModuleHashes (ResourceLoaderContext $context)
 Helper method for getDefinitionSummary(). More...
 
 getConfigSettings ( $context)
 
- Protected Member Functions inherited from ResourceLoaderModule
 buildContent (ResourceLoaderContext $context)
 Bundle all resources attached to this module into an array. More...
 
 getDeprecationInformation ()
 Get JS representing deprecation information for the current module if available. More...
 
 getFileDependencies (ResourceLoaderContext $context)
 Get the files this module depends on indirectly for a given skin. More...
 
 getLessVars (ResourceLoaderContext $context)
 Get module-specific LESS variables, if any. More...
 
 getLogger ()
 
 getMessageBlob (ResourceLoaderContext $context)
 Get the hash of the message blob. More...
 
 saveFileDependencies (ResourceLoaderContext $context, $localFileRefs)
 Set the files this module depends on indirectly for a given skin. More...
 
 validateScriptFile ( $fileName, $contents)
 Validate a given script file; if valid returns the original source. More...
 

Static Protected Member Functions

static getImplicitDependencies (array $registryData, $moduleName)
 Recursively get all explicit and implicit dependencies for to the given module. More...
 
- Static Protected Member Functions inherited from ResourceLoaderModule
static javaScriptParser ()
 
static safeFileHash ( $filePath)
 Compute a non-cryptographic string hash of a file's contents. More...
 
static safeFilemtime ( $filePath)
 Safe version of filemtime(), which doesn't throw a PHP warning if the file doesn't exist. More...
 

Protected Attributes

 $configVars = []
 
 $targets = [ 'desktop', 'mobile' ]
 
- Protected Attributes inherited from ResourceLoaderModule
Config $config
 
 $contents = []
 
array bool $deprecated = false
 
 $fileDeps = []
 
LoggerInterface $logger
 
 $msgBlobs = []
 
 $name = null
 
 $origin = self::ORIGIN_CORE_SITEWIDE
 
 $targets = [ 'desktop' ]
 
 $versionHash = []
 

Additional Inherited Members

- Public Attributes inherited from ResourceLoaderModule
const LOAD_GENERAL = 'general'
 
const LOAD_STYLES = 'styles'
 
const ORIGIN_ALL = 10
 
const ORIGIN_CORE_INDIVIDUAL = 2
 
const ORIGIN_CORE_SITEWIDE = 1
 
const ORIGIN_USER_INDIVIDUAL = 4
 
const ORIGIN_USER_SITEWIDE = 3
 
const TYPE_COMBINED = 'combined'
 
const TYPE_SCRIPTS = 'scripts'
 
const TYPE_STYLES = 'styles'
 

Detailed Description

Module for ResourceLoader initialization.

See also https://www.mediawiki.org/wiki/ResourceLoader/Features#Startup_Module

The startup module, as being called only from ResourceLoaderClientHtml, has the ability to vary based extra query parameters, in addition to those from ResourceLoaderContext:

Definition at line 36 of file ResourceLoaderStartUpModule.php.

Member Function Documentation

◆ compileUnresolvedDependencies()

static ResourceLoaderStartUpModule::compileUnresolvedDependencies ( array $registryData)
static

Optimize the dependency tree in $this->modules.

The optimization basically works like this: Given we have module A with the dependencies B and C and module B with the dependency C. Now we don't have to tell the client to explicitly fetch module C as that's already included in module B.

This way we can reasonably reduce the amount of module registration data send to the client.

Parameters
array&$registryDataModules keyed by name with properties:
  • string 'version'
  • array 'dependencies'
  • string|null 'group'
  • string 'source'

Definition at line 188 of file ResourceLoaderStartUpModule.php.

References ResourceLoaderModule\$name, as, and getImplicitDependencies().

Referenced by getModuleRegistrations().

◆ getAllModuleHashes()

ResourceLoaderStartUpModule::getAllModuleHashes ( ResourceLoaderContext  $context)
protected

Helper method for getDefinitionSummary().

Parameters
ResourceLoaderContext$context
Returns
string SHA-1

Definition at line 437 of file ResourceLoaderStartUpModule.php.

References $context.

Referenced by getDefinitionSummary().

◆ getConfigSettings()

◆ getDefinitionSummary()

ResourceLoaderStartUpModule::getDefinitionSummary ( ResourceLoaderContext  $context)

Get the definition summary for this module.

Parameters
ResourceLoaderContext$context
Returns
array

Reimplemented from ResourceLoaderModule.

Definition at line 413 of file ResourceLoaderStartUpModule.php.

References $context, $IP, getAllModuleHashes(), ResourceLoaderModule\getConfig(), getConfigSettings(), and global.

◆ getGroup()

ResourceLoaderStartUpModule::getGroup ( )
Returns
string

Reimplemented from ResourceLoaderModule.

Definition at line 455 of file ResourceLoaderStartUpModule.php.

◆ getImplicitDependencies()

static ResourceLoaderStartUpModule::getImplicitDependencies ( array  $registryData,
  $moduleName 
)
staticprotected

Recursively get all explicit and implicit dependencies for to the given module.

Parameters
array$registryData
string$moduleName
Returns
array

Definition at line 144 of file ResourceLoaderStartUpModule.php.

References as.

Referenced by compileUnresolvedDependencies().

◆ getLegacyModules()

static ResourceLoaderStartUpModule::getLegacyModules ( )
static

Definition at line 334 of file ResourceLoaderStartUpModule.php.

References $wgIncludeLegacyJavaScript, and global.

◆ getModuleRegistrations()

◆ getPreloadLinks()

ResourceLoaderStartUpModule::getPreloadLinks ( ResourceLoaderContext  $context)
Parameters
ResourceLoaderContext$context
Returns
array

Reimplemented from ResourceLoaderModule.

Definition at line 318 of file ResourceLoaderStartUpModule.php.

References $context, and getStartupModulesUrl().

◆ getScript()

ResourceLoaderStartUpModule::getScript ( ResourceLoaderContext  $context)

◆ getStartupModules()

static ResourceLoaderStartUpModule::getStartupModules ( )
static

Base modules required for the base environment of ResourceLoader.

Returns
array

Definition at line 330 of file ResourceLoaderStartUpModule.php.

Referenced by ResourcesTest\testIllegalDependencies().

◆ getStartupModulesUrl()

static ResourceLoaderStartUpModule::getStartupModulesUrl ( ResourceLoaderContext  $context)
static

Get the load URL of the startup modules.

This is a helper for getScript(), but can also be called standalone, such as when generating an AppCache manifest.

Parameters
ResourceLoaderContext$context
Returns
string

Definition at line 354 of file ResourceLoaderStartUpModule.php.

References $context.

Referenced by getPreloadLinks(), and getScript().

◆ isRaw()

ResourceLoaderStartUpModule::isRaw ( )
Returns
bool

Reimplemented from ResourceLoaderModule.

Definition at line 310 of file ResourceLoaderStartUpModule.php.

◆ supportsURLLoading()

ResourceLoaderStartUpModule::supportsURLLoading ( )
Returns
bool

Reimplemented from ResourceLoaderModule.

Definition at line 403 of file ResourceLoaderStartUpModule.php.

Member Data Documentation

◆ $configVars

ResourceLoaderStartUpModule::$configVars = []
protected

Definition at line 39 of file ResourceLoaderStartUpModule.php.

◆ $targets

ResourceLoaderStartUpModule::$targets = [ 'desktop', 'mobile' ]
protected

Definition at line 40 of file ResourceLoaderStartUpModule.php.


The documentation for this class was generated from the following file: