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