MediaWiki master
MediaWiki\ResourceLoader\Hook\ResourceLoaderExcludeUserOptionsHook Interface Reference

This is a hook handler interface, see docs/Hooks.md. More...

Inherited by MediaWiki\ResourceLoader\HookRunner.

Public Member Functions

 onResourceLoaderExcludeUserOptions (array &$keysToExclude, Context $context)
 Exclude a user option from the preloaded data for client-side mw.user.options.
 

Detailed Description

This is a hook handler interface, see docs/Hooks.md.

Use the hook name "ResourceLoaderExcludeUserOptions" to register handlers implementing this interface.

Stability: stable
to implement

Definition at line 14 of file ResourceLoaderExcludeUserOptionsHook.php.

Member Function Documentation

◆ onResourceLoaderExcludeUserOptions()

MediaWiki\ResourceLoader\Hook\ResourceLoaderExcludeUserOptionsHook::onResourceLoaderExcludeUserOptions ( array & $keysToExclude,
Context $context )

Exclude a user option from the preloaded data for client-side mw.user.options.

This hook is called on every index.php pageview (via ResourceLoaderUserOptionsModule), and when building responses for the "mediawiki.base" module. Avoid database queries or other expensive operations as that would increase page load time.

Use this hook to optimize pageview HTML size by omitting user preference values from the export JavaScript data for mw.user.options. For example, when an extension stores large values in a user preference, and rarely or never needs these client-side, you can exclude it via this hook. (T251994)

This will exclude both the default value (via mediawiki.base module) and the current user's value (via pageview HTML).

Since
1.38
Parameters
array&$keysToExclude
Context$context
Returns
void

Implemented in MediaWiki\ResourceLoader\HookRunner.


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