From 904bf581dd2fea0ba732ad5e39601850f2de9d0f Mon Sep 17 00:00:00 2001 From: Krister Kari Date: Sat, 20 Apr 2013 01:57:57 +0300 Subject: [PATCH 1/2] Add L.Util.trim --- src/core/Util.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/Util.js b/src/core/Util.js index 2159bebb1b8..efc2e1ac82e 100644 --- a/src/core/Util.js +++ b/src/core/Util.js @@ -85,8 +85,12 @@ L.Util = { return Math.round(num * pow) / pow; }, + trim: function (str) { + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); + }, + splitWords: function (str) { - return str.replace(/^\s+|\s+$/g, '').split(/\s+/); + return L.Util.trim(str).split(/\s+/); }, setOptions: function (obj, options) { From dc07a68ed054a02e1d1166b5b9f1ce6367051715 Mon Sep 17 00:00:00 2001 From: Krister Kari Date: Sat, 20 Apr 2013 02:01:56 +0300 Subject: [PATCH 2/2] Modify or replace regexes that break javascript lazy evaluation with multi line comments --- src/dom/DomUtil.js | 10 +--------- src/layer/vector/Path.VML.js | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/dom/DomUtil.js b/src/dom/DomUtil.js index 63b33c8d951..c7a2471f2b9 100644 --- a/src/dom/DomUtil.js +++ b/src/dom/DomUtil.js @@ -130,15 +130,7 @@ L.DomUtil = { }, removeClass: function (el, name) { - - function replaceFn(w, match) { - if (match === name) { return ''; } - return w; - } - - el.className = el.className - .replace(/(\S+)\s*/g, replaceFn) - .replace(/(^\s+|\s+$)/, ''); + el.className = L.Util.trim((' ' + el.className + ' ').replace(' ' + name + ' ', ' ')); }, setOpacity: function (el, value) { diff --git a/src/layer/vector/Path.VML.js b/src/layer/vector/Path.VML.js index 12e6b20187e..265b7972ad6 100644 --- a/src/layer/vector/Path.VML.js +++ b/src/layer/vector/Path.VML.js @@ -78,7 +78,7 @@ L.Path = L.Browser.svg || !L.Browser.vml ? L.Path : L.Path.extend({ if (options.dashArray) { stroke.dashStyle = options.dashArray instanceof Array ? options.dashArray.join(' ') : - options.dashArray.replace(/ *, */g, ' '); + options.dashArray.replace(/( *, *)/g, ' '); } else { stroke.dashStyle = ''; }