mediawiki-extensions-Multim.../resources/mmv/mmv.base.js
Gergő Tisza 53e965b469 Feature detect OOJS compatibility
OOJS uses es5-shim but does not use es5-sham so the following ES5
functions are not polyfilled:

Object.getPrototypeOf
Object.defineProperty
Object.getOwnPropertyDescriptor
Object.getOwnPropertyNames
Object.create
Object.defineProperties
Object.seal
Object.freeze
Object.preventExtensions
Object.isSealed
Object.isFrozen
Object.isExtensible

Grepping on them shows that Object.create is the only one in use in
OOJS, so checking for its existence should be enough to ensure that
OOJS works in the given browser.

Change-Id: Icf54a9c35b3599dd1831c10ffcd9f15573dc8b00
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/813
2014-07-28 23:54:47 +00:00

32 lines
1.1 KiB
JavaScript

/*
* This file is part of the MediaWiki extension MultimediaViewer.
*
* MultimediaViewer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* MultimediaViewer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MultimediaViewer. If not, see <http://www.gnu.org/licenses/>.
*/
// Included on every page which has images so keep it lightweight.
( function ( mw ) {
mw.mmv = {
/**
* Feature-detects OOJS support. OOJS uses es5-shim, and from the remaining ES5 additions
* (the ones provided by es5-sham) the only one it uses is Object.create.
* @member mw.mmv.MultimediaViewer
* @return {boolean}
*/
isBrowserSupported : function () {
return !!Object.create;
}
};
}( mediaWiki ) );