Hello jenkins-bot, Jforrester,

I'd like you to do a code review.  Please visit

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

to review the following change.


Change subject: Revert "Add classList polyfill for IE9"
......................................................................

Revert "Add classList polyfill for IE9"

IE9 is no longer supported.

This reverts commit bf73326f8efe421fa3472a0304eebef8fc12f2ed.

Bug: T162277
Change-Id: I1e955a493128e732dae39d1e2ea4a336c403374a
---
M AUTHORS.txt
M build/modules.json
M demos/ve/desktop.html
M demos/ve/mobile.html
D lib/classList/classList.js
M tests/index.html
6 files changed, 0 insertions(+), 260 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor 
refs/changes/23/348223/1

diff --git a/AUTHORS.txt b/AUTHORS.txt
index d9a8118..6a36a84 100644
--- a/AUTHORS.txt
+++ b/AUTHORS.txt
@@ -66,12 +66,6 @@
 
 Libraries used (alphabetically)
 
-classList.js
- – https://github.com/eligrey/classList.js/
- – Dedicated to the public domain
-   https://github.com/eligrey/classList.js/blob/master/LICENSE.md
- – Eli Grey, http://eligrey.com
-
 jQuery
  – https://jquery.com/
  – MIT license
diff --git a/build/modules.json b/build/modules.json
index a8c0b2c..602b779 100644
--- a/build/modules.json
+++ b/build/modules.json
@@ -78,11 +78,6 @@
                        "lib/rangefix/rangefix.js"
                ]
        },
-       "dom-classlist-shim": {
-               "scripts": [
-                       "lib/classList/classList.js"
-               ]
-       },
        "jquery.i18n": {
                "scripts": [
                        "lib/jquery.i18n/src/jquery.i18n.js",
@@ -203,7 +198,6 @@
                        "src/init/ve.init.Target.js"
                ],
                "dependencies": [
-                       "dom-classlist-shim",
                        "visualEditor.supportCheck",
                        "unicodejs",
                        "rangefix"
diff --git a/demos/ve/desktop.html b/demos/ve/desktop.html
index 5a0898c..f4eed5a 100644
--- a/demos/ve/desktop.html
+++ b/demos/ve/desktop.html
@@ -142,9 +142,6 @@
                <!-- papaparse -->
                <script src="../../lib/papaparse/papaparse.js"></script>
 
-               <!-- dom-classlist-shim -->
-               <script src="../../lib/classList/classList.js"></script>
-
                <!-- visualEditor.supportCheck -->
                <script src="../../src/init/ve.init.SupportCheck.js"></script>
 
diff --git a/demos/ve/mobile.html b/demos/ve/mobile.html
index 5a5020d..b7b6f9b 100644
--- a/demos/ve/mobile.html
+++ b/demos/ve/mobile.html
@@ -143,9 +143,6 @@
                <!-- papaparse -->
                <script src="../../lib/papaparse/papaparse.js"></script>
 
-               <!-- dom-classlist-shim -->
-               <script src="../../lib/classList/classList.js"></script>
-
                <!-- visualEditor.supportCheck -->
                <script src="../../src/init/ve.init.SupportCheck.js"></script>
 
diff --git a/lib/classList/classList.js b/lib/classList/classList.js
deleted file mode 100644
index 469bacc..0000000
--- a/lib/classList/classList.js
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * classList.js: Cross-browser full element.classList implementation.
- * 1.1.20150312
- *
- * By Eli Grey, http://eligrey.com
- * License: Dedicated to the public domain.
- *   See https://github.com/eligrey/classList.js/blob/master/LICENSE.md
- */
-
-/*global self, document, DOMException */
-
-/*! @source 
http://purl.eligrey.com/github/classList.js/blob/master/classList.js */
-
-if ("document" in self) {
-
-// Full polyfill for browsers with no classList support
-// Including IE < Edge missing SVGElement.classList
-if (!("classList" in document.createElement("_")) 
-  || document.createElementNS && !("classList" in 
document.createElementNS("http://www.w3.org/2000/svg","g";))) {
-
-(function (view) {
-
-"use strict";
-
-if (!('Element' in view)) return;
-
-var
-    classListProp = "classList"
-  , protoProp = "prototype"
-  , elemCtrProto = view.Element[protoProp]
-  , objCtr = Object
-  , strTrim = String[protoProp].trim || function () {
-    return this.replace(/^\s+|\s+$/g, "");
-  }
-  , arrIndexOf = Array[protoProp].indexOf || function (item) {
-    var
-        i = 0
-      , len = this.length
-    ;
-    for (; i < len; i++) {
-      if (i in this && this[i] === item) {
-        return i;
-      }
-    }
-    return -1;
-  }
-  // Vendors: please allow content code to instantiate DOMExceptions
-  , DOMEx = function (type, message) {
-    this.name = type;
-    this.code = DOMException[type];
-    this.message = message;
-  }
-  , checkTokenAndGetIndex = function (classList, token) {
-    if (token === "") {
-      throw new DOMEx(
-          "SYNTAX_ERR"
-        , "An invalid or illegal string was specified"
-      );
-    }
-    if (/\s/.test(token)) {
-      throw new DOMEx(
-          "INVALID_CHARACTER_ERR"
-        , "String contains an invalid character"
-      );
-    }
-    return arrIndexOf.call(classList, token);
-  }
-  , ClassList = function (elem) {
-    var
-        trimmedClasses = strTrim.call(elem.getAttribute("class") || "")
-      , classes = trimmedClasses ? trimmedClasses.split(/\s+/) : []
-      , i = 0
-      , len = classes.length
-    ;
-    for (; i < len; i++) {
-      this.push(classes[i]);
-    }
-    this._updateClassName = function () {
-      elem.setAttribute("class", this.toString());
-    };
-  }
-  , classListProto = ClassList[protoProp] = []
-  , classListGetter = function () {
-    return new ClassList(this);
-  }
-;
-// Most DOMException implementations don't allow calling DOMException's 
toString()
-// on non-DOMExceptions. Error's toString() is sufficient here.
-DOMEx[protoProp] = Error[protoProp];
-classListProto.item = function (i) {
-  return this[i] || null;
-};
-classListProto.contains = function (token) {
-  token += "";
-  return checkTokenAndGetIndex(this, token) !== -1;
-};
-classListProto.add = function () {
-  var
-      tokens = arguments
-    , i = 0
-    , l = tokens.length
-    , token
-    , updated = false
-  ;
-  do {
-    token = tokens[i] + "";
-    if (checkTokenAndGetIndex(this, token) === -1) {
-      this.push(token);
-      updated = true;
-    }
-  }
-  while (++i < l);
-
-  if (updated) {
-    this._updateClassName();
-  }
-};
-classListProto.remove = function () {
-  var
-      tokens = arguments
-    , i = 0
-    , l = tokens.length
-    , token
-    , updated = false
-    , index
-  ;
-  do {
-    token = tokens[i] + "";
-    index = checkTokenAndGetIndex(this, token);
-    while (index !== -1) {
-      this.splice(index, 1);
-      updated = true;
-      index = checkTokenAndGetIndex(this, token);
-    }
-  }
-  while (++i < l);
-
-  if (updated) {
-    this._updateClassName();
-  }
-};
-classListProto.toggle = function (token, force) {
-  token += "";
-
-  var
-      result = this.contains(token)
-    , method = result ?
-      force !== true && "remove"
-    :
-      force !== false && "add"
-  ;
-
-  if (method) {
-    this[method](token);
-  }
-
-  if (force === true || force === false) {
-    return force;
-  } else {
-    return !result;
-  }
-};
-classListProto.toString = function () {
-  return this.join(" ");
-};
-
-if (objCtr.defineProperty) {
-  var classListPropDesc = {
-      get: classListGetter
-    , enumerable: true
-    , configurable: true
-  };
-  try {
-    objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);
-  } catch (ex) { // IE 8 doesn't support enumerable:true
-    if (ex.number === -0x7FF5EC54) {
-      classListPropDesc.enumerable = false;
-      objCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);
-    }
-  }
-} else if (objCtr[protoProp].__defineGetter__) {
-  elemCtrProto.__defineGetter__(classListProp, classListGetter);
-}
-
-}(self));
-
-} else {
-// There is full or partial native classList support, so just check if we need
-// to normalize the add/remove and toggle APIs.
-
-(function () {
-  "use strict";
-
-  var testElement = document.createElement("_");
-
-  testElement.classList.add("c1", "c2");
-
-  // Polyfill for IE 10/11 and Firefox <26, where classList.add and
-  // classList.remove exist but support only one argument at a time.
-  if (!testElement.classList.contains("c2")) {
-    var createMethod = function(method) {
-      var original = DOMTokenList.prototype[method];
-
-      DOMTokenList.prototype[method] = function(token) {
-        var i, len = arguments.length;
-
-        for (i = 0; i < len; i++) {
-          token = arguments[i];
-          original.call(this, token);
-        }
-      };
-    };
-    createMethod('add');
-    createMethod('remove');
-  }
-
-  testElement.classList.toggle("c3", false);
-
-  // Polyfill for IE 10 and Firefox <24, where classList.toggle does not
-  // support the second argument.
-  if (testElement.classList.contains("c3")) {
-    var _toggle = DOMTokenList.prototype.toggle;
-
-    DOMTokenList.prototype.toggle = function(token, force) {
-      if (1 in arguments && !this.contains(token) === !force) {
-        return force;
-      } else {
-        return _toggle.call(this, token);
-      }
-    };
-
-  }
-
-  testElement = null;
-}());
-
-}
-
-}
diff --git a/tests/index.html b/tests/index.html
index f716bf7..2ccfd40 100644
--- a/tests/index.html
+++ b/tests/index.html
@@ -70,9 +70,6 @@
                <!-- papaparse -->
                <script src="../lib/papaparse/papaparse.js"></script>
 
-               <!-- dom-classlist-shim -->
-               <script src="../lib/classList/classList.js"></script>
-
                <!-- visualEditor.supportCheck -->
                <script src="../src/init/ve.init.SupportCheck.js"></script>
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1e955a493128e732dae39d1e2ea4a336c403374a
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to