From c33ac5fdb4bb708b3d0630e4dbcf8e1555e659b4 Mon Sep 17 00:00:00 2001 From: Fomafix Date: Mon, 12 Jan 2015 10:54:22 +0000 Subject: [PATCH] Restore support for IE8 IE8 does not support Object.keys. Bug: T86516 Change-Id: Ib1a5df6c1660bc30f7b33f1b794a9229ce31cba6 --- lib/jquery.uls/src/jquery.uls.core.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/jquery.uls/src/jquery.uls.core.js b/lib/jquery.uls/src/jquery.uls.core.js index ab7f2ba1..42e4336a 100644 --- a/lib/jquery.uls/src/jquery.uls.core.js +++ b/lib/jquery.uls/src/jquery.uls.core.js @@ -354,13 +354,25 @@ * @return string */ getMenuWidth: function () { - var languagesCount; + var language, languagesCount = 0; if ( this.options.menuWidth ) { return this.options.menuWidth; } - languagesCount = Object.keys( this.options.languages ).length; + // IE8 does not support Object.keys + if ( Object.keys ) { + languagesCount = Object.keys( this.options.languages ).length; + } else { + for ( language in this.options.languages ) { + if ( Object.prototype.hasOwnProperty.call( + this.options.languages, + language + ) ) { + languagesCount++; + } + } + } if ( languagesCount < 12 ) { return 'narrow';