From: Sam Smith Date: Fri, 24 Feb 2017 10:08:07 +0000 (+0000) Subject: mw.inspect: Include templates and messages in size X-Git-Tag: 1.31.0-rc.0~3906^2 X-Git-Url: http://git.cyclocoop.org/%22.%24h.%22?a=commitdiff_plain;h=ce2652c9ec04437d0d6478044e798fbd5e5f8ef8;p=lhc%2Fweb%2Fwiklou.git mw.inspect: Include templates and messages in size Currently, mw.inspect#getModuleSize omits the size of templates and messages while calculating a ResourceLoader module's size despite them being included in the module's definition. Change-Id: Ib8d52c901a8e1656b8b6996762bfbff3af16a834 --- diff --git a/resources/src/mediawiki/mediawiki.inspect.js b/resources/src/mediawiki/mediawiki.inspect.js index fdaa989dc5..6b3971e9eb 100644 --- a/resources/src/mediawiki/mediawiki.inspect.js +++ b/resources/src/mediawiki/mediawiki.inspect.js @@ -95,6 +95,15 @@ payload += $.byteLength( module.script.toString() ); } + // Tally templates and messages. Calculate their JSON size so that keys + // are included in the module size - in the case of messages, keys can be + // longer than values - and so that empty objects are also included. + $.each( [ module.templates, module.messages ], function ( i, object ) { + if ( object ) { + payload += $.byteLength( JSON.stringify( object ) ); + } + } ); + return payload; },