Gerrit Patch Uploader has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/231878

Change subject: getLanguageNameByCode: Avoid conflicts with predefined Object 
prototypes
......................................................................

getLanguageNameByCode: Avoid conflicts with predefined Object prototypes

With this patch
wb.getLanguageNameByCode( 'constructor' )
evaluates to "constructor" instead of constructor().

This avoids JavaScript errors when using URL parameter uselang=constructor.

Change-Id: I17bf89674d846b976f03dd57692a68583e753e36
---
M view/resources/wikibase/wikibase.getLanguageNameByCode.js
1 file changed, 6 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/78/231878/1

diff --git a/view/resources/wikibase/wikibase.getLanguageNameByCode.js 
b/view/resources/wikibase/wikibase.getLanguageNameByCode.js
index ce40742..ee3ba65 100644
--- a/view/resources/wikibase/wikibase.getLanguageNameByCode.js
+++ b/view/resources/wikibase/wikibase.getLanguageNameByCode.js
@@ -8,6 +8,8 @@
 ( function ( wb, mw, $ ) {
        'use strict';
 
+       var hasOwn = Object.prototype.hasOwnProperty;
+
        /**
         * Tries to retrieve Universal Language Selector's set of languages.
         *
@@ -30,8 +32,8 @@
         * @return string
         */
        var getNativeLanguageName = function( langCode ) {
-               var language = getLanguages()[ langCode ];
-               return language && language[2] || langCode;
+               var languages = getLanguages();
+               return hasOwn.call( languages, langCode ) && 
languages[langCode][2] || langCode;
        };
 
        /**
@@ -43,7 +45,8 @@
         */
        wb.getLanguageNameByCode = function( langCode ) {
                var ulsLanguages = mw.config.get( 'wgULSLanguages' );
-               return ulsLanguages && ulsLanguages[langCode] || 
getNativeLanguageName( langCode );
+               return ulsLanguages && hasOwn.call( ulsLanguages, langCode ) && 
ulsLanguages[langCode]
+                       || getNativeLanguageName( langCode );
        };
 
 } )( wikibase, mediaWiki, jQuery );

-- 
To view, visit https://gerrit.wikimedia.org/r/231878
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I17bf89674d846b976f03dd57692a68583e753e36
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Gerrit Patch Uploader <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to