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

Reply via email to