resourceloader: Remove check for Function#bind and Object.defineProperty
authorTimo Tijhof <krinklemail@gmail.com>
Sat, 15 Sep 2018 18:46:51 +0000 (19:46 +0100)
committerKrinkle <krinklemail@gmail.com>
Wed, 19 Sep 2018 14:35:19 +0000 (14:35 +0000)
* Function#bind is a given per the explicit feature test for Grade A.
* Object.defineProperty is part of ES5 which is also tested for.

This code is from before we required ES5 and is now redundant.

Also remove the unused eslint-disable rule for global 'console' use,
the code in question does not use console as global unconditionally.

Change-Id: I6c77b25856da8b7717aeba8298b17a9231540d58

resources/src/startup/mediawiki.js

index c169487..06190a8 100644 (file)
 
        defineFallbacks();
 
-       /* eslint-disable no-console */
        log = ( function () {
                /**
                 * Write a verbose message to the browser's console in debug mode.
                 *
                 * @param {...string} msg Messages to output to console
                 */
-               log.warn = console && console.warn && Function.prototype.bind ?
+               log.warn = console && console.warn ?
                        Function.prototype.bind.call( console.warn, console ) :
                        function () {};
 
                 * @since 1.26
                 * @param {...Mixed} msg Messages to output to console
                 */
-               log.error = console && console.error && Function.prototype.bind ?
+               log.error = console && console.error ?
                        Function.prototype.bind.call( console.error, console ) :
                        function () {};
 
                 * @param {string} [logName=key] Optional custom name for the feature.
                 *  This is used instead of `key` in the message and `mw.deprecate` tracking.
                 */
-               log.deprecate = !Object.defineProperty ? function ( obj, key, val ) {
-                       obj[ key ] = val;
-               } : function ( obj, key, val, msg, logName ) {
+               log.deprecate = function ( obj, key, val, msg, logName ) {
                        var stacks;
                        function maybeLog() {
                                var name,
 
                return log;
        }() );
-       /* eslint-enable no-console */
 
        /**
         * @class mw