GWicke has uploaded a new change for review.
https://gerrit.wikimedia.org/r/69945
Change subject: Deep-freeze cached wiki configs and remove stale code from title
......................................................................
Deep-freeze cached wiki configs and remove stale code from title
* A cached wiki config should never be modified by other code, so deep-freeze
it.
* This exposed a modification of the config in the Title object constructor.
For each constructed title, namespace lookup data structures were
reconstructed. This is all already set up in the wiki config, so I removed
that code.
Change-Id: Icb5e2c68e6a19ae2ea6d8e6d4fee862d9187fa04
---
M js/lib/mediawiki.Title.js
M js/lib/mediawiki.parser.environment.js
2 files changed, 10 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid
refs/changes/45/69945/1
diff --git a/js/lib/mediawiki.Title.js b/js/lib/mediawiki.Title.js
index 9bec924..77b7db1 100644
--- a/js/lib/mediawiki.Title.js
+++ b/js/lib/mediawiki.Title.js
@@ -123,13 +123,13 @@
this.namespaceIds = env.conf.wiki.canonicalNamespaces;
this.canonicalNamespaces = env.conf.wiki.canonicalNamespaces;
- if ( ids ) {
- for ( var ix in ids ) {
- if ( ids.hasOwnProperty( ix ) ) {
- this.namespaceIds[ix.toLowerCase()] = ids[ix];
- }
- }
- }
+ //if ( ids ) {
+ // for ( var ix in ids ) {
+ // if ( ids.hasOwnProperty( ix ) ) {
+ // this.namespaceIds[ix.toLowerCase()] = ids[ix];
+ // }
+ // }
+ //}
this.namespaceNames = ( names ) ? names : {
'6': 'File',
diff --git a/js/lib/mediawiki.parser.environment.js
b/js/lib/mediawiki.parser.environment.js
index 22b4b57..6f6a0c1 100644
--- a/js/lib/mediawiki.parser.environment.js
+++ b/js/lib/mediawiki.parser.environment.js
@@ -3,6 +3,7 @@
var WikiConfig = require( './mediawiki.WikiConfig.js' ).WikiConfig,
ParsoidConfig = require( './mediawiki.ParsoidConfig.js' ).ParsoidConfig,
ConfigRequest = require( './mediawiki.ApiRequest.js' ).ConfigRequest,
+ Util = require( './mediawiki.Util.js' ).Util,
$ = require( './fakejquery' );
function Tracer(env) {
@@ -285,6 +286,8 @@
function setupWikiConfig(env, apiURI, error, config) {
if ( error === null ) {
env.conf.wiki = new WikiConfig( config, prefix, apiURI
);
+ // Prevent any modification for this config
+ Util.deepFreeze(env.conf.wiki);
env.confCache[prefix] = env.conf.wiki;
}
--
To view, visit https://gerrit.wikimedia.org/r/69945
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icb5e2c68e6a19ae2ea6d8e6d4fee862d9187fa04
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: GWicke <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits