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