From 5e3cf7501f5ffc97ad088e8096e01f673244e58a Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Wed, 23 Sep 2015 14:15:58 -0400 Subject: [PATCH] Modernizr updated files. --- js/modernizr/Gruntfile.js | 247 + js/modernizr/feature-detects/a/download.js | 19 + js/modernizr/feature-detects/ambientlight.js | 16 + .../feature-detects/applicationcache.js | 21 + js/modernizr/feature-detects/audio.js | 48 + js/modernizr/feature-detects/audio/loop.js | 13 + js/modernizr/feature-detects/audio/preload.js | 13 + .../feature-detects/audio/webaudio.js | 29 + js/modernizr/feature-detects/battery.js | 20 + .../feature-detects/battery/lowbattery.js | 23 + js/modernizr/feature-detects/blob.js | 28 + js/modernizr/feature-detects/canvas.js | 21 + .../feature-detects/canvas/blending.js | 35 + .../feature-detects/canvas/todataurl.js | 35 + .../feature-detects/canvas/winding.js | 29 + js/modernizr/feature-detects/canvastext.js | 20 + .../feature-detects/contenteditable.js | 35 +- js/modernizr/feature-detects/contextmenu.js | 35 +- js/modernizr/feature-detects/cookies.js | 46 +- js/modernizr/feature-detects/cors.js | 22 +- .../feature-detects/crypto/getrandomvalues.js | 35 + js/modernizr/feature-detects/css/all.js | 17 + .../feature-detects/css/animations.js | 20 + .../feature-detects/css/appearance.js | 23 + .../css/backgroundblendmode.js | 23 + .../feature-detects/css/backgroundcliptext.js | 31 + .../css/backgroundposition-shorthand.js | 33 + .../css/backgroundposition-xy.js | 24 + .../feature-detects/css/backgroundrepeat.js | 27 + .../feature-detects/css/backgroundsize.js | 15 + .../css/backgroundsizecover.js | 16 + .../feature-detects/css/borderimage.js | 13 + .../feature-detects/css/borderradius.js | 16 + js/modernizr/feature-detects/css/boxshadow.js | 15 + js/modernizr/feature-detects/css/boxsizing.js | 20 + js/modernizr/feature-detects/css/calc.js | 30 + js/modernizr/feature-detects/css/checked.js | 23 + js/modernizr/feature-detects/css/chunit.js | 25 + js/modernizr/feature-detects/css/columns.js | 45 + .../feature-detects/css/cubicbezierrange.js | 22 + .../feature-detects/css/displayrunin.js | 20 + .../feature-detects/css/displaytable.js | 27 + js/modernizr/feature-detects/css/ellipsis.js | 14 + js/modernizr/feature-detects/css/escape.js | 20 + js/modernizr/feature-detects/css/exunit.js | 25 + js/modernizr/feature-detects/css/filters.js | 28 + js/modernizr/feature-detects/css/flexbox.js | 21 + .../feature-detects/css/flexboxlegacy.js | 15 + .../feature-detects/css/flexboxtweener.js | 16 + js/modernizr/feature-detects/css/flexwrap.js | 31 + js/modernizr/feature-detects/css/fontface.js | 49 + .../feature-detects/css/generatedcontent.js | 23 + js/modernizr/feature-detects/css/gradients.js | 45 + js/modernizr/feature-detects/css/hsla.js | 15 + js/modernizr/feature-detects/css/hyphens.js | 223 + js/modernizr/feature-detects/css/invalid.js | 23 + js/modernizr/feature-detects/css/lastchild.js | 18 + js/modernizr/feature-detects/css/mask.js | 30 + .../feature-detects/css/mediaqueries.js | 12 + .../feature-detects/css/multiplebgs.js | 22 + js/modernizr/feature-detects/css/nthchild.js | 41 + js/modernizr/feature-detects/css/objectfit.js | 16 + js/modernizr/feature-detects/css/opacity.js | 23 + .../feature-detects/css/overflow-scrolling.js | 16 + .../feature-detects/css/pointerevents.js | 33 + .../feature-detects/css/positionsticky.js | 27 + .../feature-detects/css/pseudoanimations.js | 29 + .../feature-detects/css/pseudotransitions.js | 29 + .../feature-detects/css/reflections.js | 11 + js/modernizr/feature-detects/css/regions.js | 94 + js/modernizr/feature-detects/css/remunit.js | 31 + js/modernizr/feature-detects/css/resize.js | 22 + js/modernizr/feature-detects/css/rgba.js | 20 + .../feature-detects/css/scrollbars.js | 18 + js/modernizr/feature-detects/css/shapes.js | 20 + .../feature-detects/css/siblinggeneral.js | 19 + .../feature-detects/css/subpixelfont.js | 33 + js/modernizr/feature-detects/css/supports.js | 24 + js/modernizr/feature-detects/css/target.js | 33 + .../feature-detects/css/textalignlast.js | 18 + .../feature-detects/css/textshadow.js | 12 + .../feature-detects/css/transforms.js | 16 + .../feature-detects/css/transforms3d.js | 44 + .../css/transformstylepreserve3d.js | 21 + .../feature-detects/css/transitions.js | 11 + .../feature-detects/css/userselect.js | 18 + js/modernizr/feature-detects/css/valid.js | 22 + js/modernizr/feature-detects/css/vhunit.js | 25 + js/modernizr/feature-detects/css/vmaxunit.js | 32 + js/modernizr/feature-detects/css/vminunit.js | 32 + js/modernizr/feature-detects/css/vwunit.js | 26 + .../feature-detects/css/will-change.js | 17 + js/modernizr/feature-detects/css/wrapflow.js | 51 + .../custom-protocol-handler.js | 44 +- js/modernizr/feature-detects/customevent.js | 24 + js/modernizr/feature-detects/dart.js | 23 +- js/modernizr/feature-detects/dataview-api.js | 23 +- js/modernizr/feature-detects/dom/classlist.js | 16 + .../dom/createElement-attrs.js | 24 + js/modernizr/feature-detects/dom/dataset.js | 18 + .../feature-detects/dom/documentfragment.js | 29 + js/modernizr/feature-detects/dom/hidden.js | 22 + js/modernizr/feature-detects/dom/microdata.js | 15 + .../feature-detects/dom/mutationObserver.js | 23 + js/modernizr/feature-detects/elem/datalist.js | 26 + js/modernizr/feature-detects/elem/details.js | 36 + js/modernizr/feature-detects/elem/output.js | 15 + js/modernizr/feature-detects/elem/picture.js | 18 + .../feature-detects/elem/progress-meter.js | 17 + js/modernizr/feature-detects/elem/ruby.js | 65 + js/modernizr/feature-detects/elem/template.js | 17 + js/modernizr/feature-detects/elem/time.js | 15 + js/modernizr/feature-detects/elem/track.js | 23 + js/modernizr/feature-detects/elem/unknown.js | 26 + js/modernizr/feature-detects/emoji.js | 36 +- js/modernizr/feature-detects/es5/array.js | 31 + js/modernizr/feature-detects/es5/date.js | 32 + js/modernizr/feature-detects/es5/function.js | 21 + js/modernizr/feature-detects/es5/object.js | 33 + .../feature-detects/es5/specification.js | 31 + .../feature-detects/es5/strictmode.js | 20 + js/modernizr/feature-detects/es5/string.js | 21 + js/modernizr/feature-detects/es5/syntax.js | 42 + js/modernizr/feature-detects/es5/undefined.js | 32 + js/modernizr/feature-detects/es6/array.js | 29 + js/modernizr/feature-detects/es6/contains.js | 14 + .../feature-detects/es6/generators.js | 22 + js/modernizr/feature-detects/es6/math.js | 37 + js/modernizr/feature-detects/es6/number.js | 28 + js/modernizr/feature-detects/es6/object.js | 22 + js/modernizr/feature-detects/es6/promises.js | 41 + js/modernizr/feature-detects/es6/string.js | 26 + .../event/deviceorientation-motion.js | 31 + js/modernizr/feature-detects/event/oninput.js | 58 + js/modernizr/feature-detects/eventlistener.js | 18 + .../feature-detects/exif-orientation.js | 74 +- js/modernizr/feature-detects/file/api.js | 24 + .../feature-detects/file/filesystem.js | 18 + js/modernizr/feature-detects/flash.js | 114 + js/modernizr/feature-detects/forms/capture.js | 18 + .../feature-detects/forms/fileinput.js | 24 + .../forms/fileinputdirectory.js | 29 + .../feature-detects/forms/formattribute.js | 47 + .../feature-detects/forms/inputnumber-l10n.js | 48 + .../feature-detects/forms/placeholder.js | 14 + .../forms/requestautocomplete.js | 18 + .../feature-detects/forms/validation.js | 66 + .../feature-detects/fullscreen-api.js | 28 +- js/modernizr/feature-detects/gamepad.js | 34 +- js/modernizr/feature-detects/geolocation.js | 34 + js/modernizr/feature-detects/hashchange.js | 33 + js/modernizr/feature-detects/hiddenscroll.js | 17 + js/modernizr/feature-detects/history.js | 42 + js/modernizr/feature-detects/htmlimports.js | 25 + js/modernizr/feature-detects/ie8compat.js | 24 +- .../feature-detects/iframe/sandbox.js | 20 + .../feature-detects/iframe/seamless.js | 18 + js/modernizr/feature-detects/iframe/srcdoc.js | 18 + js/modernizr/feature-detects/img/apng.js | 41 + js/modernizr/feature-detects/img/jpegxr.js | 28 + js/modernizr/feature-detects/img/sizes.js | 21 + js/modernizr/feature-detects/img/srcset.js | 20 + .../feature-detects/img/webp-alpha.js | 38 + .../feature-detects/img/webp-animation.js | 35 + .../feature-detects/img/webp-lossless.js | 34 + js/modernizr/feature-detects/img/webp.js | 94 + js/modernizr/feature-detects/indexeddb.js | 25 + js/modernizr/feature-detects/indexeddbblob.js | 57 + js/modernizr/feature-detects/input.js | 54 + .../feature-detects/input/formaction.js | 23 + .../feature-detects/input/formenctype.js | 23 + .../feature-detects/input/formmethod.js | 22 + .../feature-detects/input/formtarget.js | 23 + .../feature-detects/inputsearchevent.js | 21 + js/modernizr/feature-detects/inputtypes.js | 108 + js/modernizr/feature-detects/intl.js | 20 + js/modernizr/feature-detects/json.js | 26 +- .../feature-detects/lists-reversed.js | 23 +- js/modernizr/feature-detects/mathml.js | 54 +- .../feature-detects/network/beacon.js | 21 + .../feature-detects/network/connection.js | 36 + .../feature-detects/network/eventsource.js | 18 + js/modernizr/feature-detects/network/fetch.js | 19 + .../network/xhr-responsetype-arraybuffer.js | 17 + .../network/xhr-responsetype-blob.js | 17 + .../network/xhr-responsetype-document.js | 17 + .../network/xhr-responsetype-json.js | 20 + .../network/xhr-responsetype-text.js | 17 + .../network/xhr-responsetype.js | 24 + js/modernizr/feature-detects/network/xhr2.js | 24 + js/modernizr/feature-detects/notification.js | 32 +- .../feature-detects/pagevisibility-api.js | 25 + js/modernizr/feature-detects/performance.js | 28 +- js/modernizr/feature-detects/pointerevents.js | 38 + .../feature-detects/pointerlock-api.js | 22 +- js/modernizr/feature-detects/postmessage.js | 18 + js/modernizr/feature-detects/proximity.js | 61 + js/modernizr/feature-detects/queryselector.js | 20 + .../feature-detects/quota-management-api.js | 30 +- .../feature-detects/requestanimationframe.js | 28 +- js/modernizr/feature-detects/script/async.js | 16 + js/modernizr/feature-detects/script/defer.js | 18 + js/modernizr/feature-detects/serviceworker.js | 16 + .../speech/speech-recognition.js | 22 + .../speech/speech-synthesis.js | 18 + .../feature-detects/storage/localstorage.js | 47 + .../feature-detects/storage/sessionstorage.js | 25 + .../feature-detects/storage/websqldatabase.js | 13 + js/modernizr/feature-detects/style/scoped.js | 21 + js/modernizr/feature-detects/svg.js | 25 + js/modernizr/feature-detects/svg/asimg.js | 26 + js/modernizr/feature-detects/svg/clippaths.js | 22 + js/modernizr/feature-detects/svg/filters.js | 26 + .../feature-detects/svg/foreignobject.js | 20 + js/modernizr/feature-detects/svg/inline.js | 27 + js/modernizr/feature-detects/svg/smil.js | 19 + .../feature-detects/templatestrings.js | 25 + .../feature-detects/textarea/maxlength.js | 20 + js/modernizr/feature-detects/touchevents.js | 50 + js/modernizr/feature-detects/typed-arrays.js | 36 + js/modernizr/feature-detects/unicode-range.js | 37 + js/modernizr/feature-detects/unicode.js | 63 +- js/modernizr/feature-detects/url/bloburls.js | 21 + js/modernizr/feature-detects/url/data-uri.js | 80 + js/modernizr/feature-detects/url/parser.js | 28 + js/modernizr/feature-detects/userdata.js | 23 +- js/modernizr/feature-detects/vibration.js | 23 +- js/modernizr/feature-detects/video.js | 62 + .../feature-detects/video/autoplay.js | 68 + js/modernizr/feature-detects/video/loop.js | 10 + js/modernizr/feature-detects/video/preload.js | 10 + js/modernizr/feature-detects/vml.js | 35 + js/modernizr/feature-detects/web-intents.js | 24 +- js/modernizr/feature-detects/webanimations.js | 18 + js/modernizr/feature-detects/webgl.js | 19 + .../feature-detects/webgl/extensions.js | 66 + .../feature-detects/webrtc/datachannel.js | 34 + .../feature-detects/webrtc/getusermedia.js | 17 + .../feature-detects/webrtc/peerconnection.js | 15 + js/modernizr/feature-detects/websockets.js | 29 + .../feature-detects/websockets/binary.js | 29 + js/modernizr/feature-detects/window/framed.js | 16 + .../feature-detects/window/matchmedia.js | 25 + .../feature-detects/workers/blobworkers.js | 83 + .../feature-detects/workers/dataworkers.js | 48 + .../feature-detects/workers/sharedworkers.js | 19 + .../feature-detects/workers/transferables.js | 72 + .../feature-detects/workers/webworkers.js | 25 + js/modernizr/lib/build-query.js | 50 + js/modernizr/lib/build.js | 158 + js/modernizr/lib/cli.js | 7 + js/modernizr/lib/generate-banner.js | 40 + js/modernizr/lib/metadata.js | 140 + js/modernizr/lib/options.js | 93 + js/modernizr/src/Modernizr.js | 11 + js/modernizr/src/ModernizrProto.js | 50 + js/modernizr/src/addTest.js | 211 + js/modernizr/src/atRule.js | 68 + js/modernizr/src/classes.js | 4 + js/modernizr/src/contains.js | 18 + js/modernizr/src/createElement.js | 26 + js/modernizr/src/cssToDOM.js | 18 + js/modernizr/src/cssomPrefixes.js | 5 + js/modernizr/src/docElement.js | 11 + js/modernizr/src/domPrefixes.js | 23 + js/modernizr/src/domToCSS.js | 18 + js/modernizr/src/fnBind.js | 19 + js/modernizr/src/generate.js | 89 + js/modernizr/src/getBody.js | 26 + js/modernizr/src/hasEvent.js | 77 + js/modernizr/src/hasOwnProp.js | 34 + js/modernizr/src/html5printshiv.js | 534 ++ js/modernizr/src/html5shiv.js | 334 + js/modernizr/src/injectElementWithStyles.js | 75 + js/modernizr/src/inputElem.js | 12 + js/modernizr/src/is.js | 16 + js/modernizr/src/isSVG.js | 11 + js/modernizr/src/load.js | 39 + js/modernizr/src/mStyle.js | 13 + js/modernizr/src/modElem.js | 18 + js/modernizr/src/mq.js | 75 + js/modernizr/src/nativeTestProps.js | 42 + js/modernizr/src/omPrefixes.js | 20 + js/modernizr/src/prefixed.js | 84 + js/modernizr/src/prefixedCSS.js | 35 + js/modernizr/src/prefixes.js | 40 + js/modernizr/src/roundedEquals.js | 17 + js/modernizr/src/setClasses.js | 36 + js/modernizr/src/slice.js | 12 + js/modernizr/src/testAllProps.js | 44 + js/modernizr/src/testDOMProps.js | 33 + js/modernizr/src/testProp.js | 40 + js/modernizr/src/testProps.js | 94 + js/modernizr/src/testPropsAll.js | 32 + js/modernizr/src/testRunner.js | 71 + js/modernizr/src/testStyles.js | 61 + js/modernizr/src/testXhrType.js | 28 + js/modernizr/src/tests.js | 4 + js/modernizr/src/toStringFn.js | 14 + .../test/browser/integration/bools.js | 30 + .../test/browser/integration/caniuse.js | 361 + .../test/browser/integration/classes.js | 44 + .../test/browser/integration/global.js | 7 + .../test/browser/integration/iframe.js | 52 + .../browser/integration/prefixed-atRule.js | 9 + .../browser/integration/prefixed-autobind.js | 89 + .../test/browser/integration/prefixed.js | 70 + .../test/browser/integration/prefixedCSS.js | 70 + js/modernizr/test/browser/integration/svg.js | 39 + js/modernizr/test/browser/setup.js | 71 + js/modernizr/test/browser/src/Modernizr.js | 29 + .../test/browser/src/ModernizrProto.js | 80 + js/modernizr/test/browser/src/addTest.js | 258 + js/modernizr/test/browser/src/atRule.js | 62 + js/modernizr/test/browser/src/classes.js | 28 + js/modernizr/test/browser/src/contains.js | 27 + .../test/browser/src/createElement.js | 33 + js/modernizr/test/browser/src/cssToDOM.js | 27 + .../test/browser/src/cssomPrefixes.js | 71 + js/modernizr/test/browser/src/docElement.js | 31 + js/modernizr/test/browser/src/domPrefixes.js | 71 + js/modernizr/test/browser/src/domToCSS.js | 27 + js/modernizr/test/browser/src/fnBind.js | 32 + js/modernizr/test/browser/src/generate.js | 99 + js/modernizr/test/browser/src/getBody.js | 40 + js/modernizr/test/browser/src/hasEvent.js | 106 + js/modernizr/test/browser/src/hasOwnProp.js | 33 + .../test/browser/src/html5printshiv.js | 50 + js/modernizr/test/browser/src/html5shiv.js | 52 + .../browser/src/injectElementWithStyles.js | 133 + js/modernizr/test/browser/src/inputElem.js | 27 + js/modernizr/test/browser/src/is.js | 42 + js/modernizr/test/browser/src/load.js | 136 + js/modernizr/test/browser/src/mStyle.js | 57 + js/modernizr/test/browser/src/modElem.js | 48 + js/modernizr/test/browser/src/mq.js | 107 + .../test/browser/src/nativeTestProps.js | 44 + js/modernizr/test/browser/src/omPrefixes.js | 28 + js/modernizr/test/browser/src/prefixed.js | 85 + js/modernizr/test/browser/src/prefixedCSS.js | 39 + js/modernizr/test/browser/src/prefixes.js | 72 + .../test/browser/src/roundedEquals.js | 29 + js/modernizr/test/browser/src/setClasses.js | 165 + js/modernizr/test/browser/src/slice.js | 27 + js/modernizr/test/browser/src/testAllProps.js | 61 + js/modernizr/test/browser/src/testDOMProps.js | 55 + js/modernizr/test/browser/src/testProp.js | 60 + js/modernizr/test/browser/src/testProps.js | 151 + js/modernizr/test/browser/src/testPropsAll.js | 83 + js/modernizr/test/browser/src/testRunner.js | 88 + js/modernizr/test/browser/src/testStyles.js | 38 + js/modernizr/test/browser/src/testXhrType.js | 44 + js/modernizr/test/browser/src/tests.js | 28 + js/modernizr/test/browser/src/toStringFn.js | 35 + js/modernizr/test/browser/svgUnit.js | 158 + js/modernizr/test/cleanup.js | 21 + js/modernizr/test/js/lib/sinon.js | 5782 +++++++++++++++++ js/modernizr/test/js/lib/uaparser.js | 20 +- js/modernizr/test/mocks/lib/build-query.js | 5 + js/modernizr/test/mocks/lib/metadata.js | 61 + js/modernizr/test/node/lib/build.js | 153 + js/modernizr/test/node/lib/cli.js | 16 + js/modernizr/test/node/lib/metadata.js | 212 + js/modernizr/test/node/lib/options.js | 34 + js/modernizr/test/universal/lib/build-hash.js | 86 + .../test/universal/lib/generate-banner.js | 76 + 366 files changed, 20628 insertions(+), 239 deletions(-) create mode 100644 js/modernizr/Gruntfile.js create mode 100644 js/modernizr/feature-detects/a/download.js create mode 100644 js/modernizr/feature-detects/ambientlight.js create mode 100644 js/modernizr/feature-detects/applicationcache.js create mode 100644 js/modernizr/feature-detects/audio.js create mode 100644 js/modernizr/feature-detects/audio/loop.js create mode 100644 js/modernizr/feature-detects/audio/preload.js create mode 100644 js/modernizr/feature-detects/audio/webaudio.js create mode 100644 js/modernizr/feature-detects/battery.js create mode 100644 js/modernizr/feature-detects/battery/lowbattery.js create mode 100644 js/modernizr/feature-detects/blob.js create mode 100644 js/modernizr/feature-detects/canvas.js create mode 100644 js/modernizr/feature-detects/canvas/blending.js create mode 100644 js/modernizr/feature-detects/canvas/todataurl.js create mode 100644 js/modernizr/feature-detects/canvas/winding.js create mode 100644 js/modernizr/feature-detects/canvastext.js create mode 100644 js/modernizr/feature-detects/crypto/getrandomvalues.js create mode 100644 js/modernizr/feature-detects/css/all.js create mode 100644 js/modernizr/feature-detects/css/animations.js create mode 100644 js/modernizr/feature-detects/css/appearance.js create mode 100644 js/modernizr/feature-detects/css/backgroundblendmode.js create mode 100644 js/modernizr/feature-detects/css/backgroundcliptext.js create mode 100644 js/modernizr/feature-detects/css/backgroundposition-shorthand.js create mode 100644 js/modernizr/feature-detects/css/backgroundposition-xy.js create mode 100644 js/modernizr/feature-detects/css/backgroundrepeat.js create mode 100644 js/modernizr/feature-detects/css/backgroundsize.js create mode 100644 js/modernizr/feature-detects/css/backgroundsizecover.js create mode 100644 js/modernizr/feature-detects/css/borderimage.js create mode 100644 js/modernizr/feature-detects/css/borderradius.js create mode 100644 js/modernizr/feature-detects/css/boxshadow.js create mode 100644 js/modernizr/feature-detects/css/boxsizing.js create mode 100644 js/modernizr/feature-detects/css/calc.js create mode 100644 js/modernizr/feature-detects/css/checked.js create mode 100644 js/modernizr/feature-detects/css/chunit.js create mode 100644 js/modernizr/feature-detects/css/columns.js create mode 100644 js/modernizr/feature-detects/css/cubicbezierrange.js create mode 100644 js/modernizr/feature-detects/css/displayrunin.js create mode 100644 js/modernizr/feature-detects/css/displaytable.js create mode 100644 js/modernizr/feature-detects/css/ellipsis.js create mode 100644 js/modernizr/feature-detects/css/escape.js create mode 100644 js/modernizr/feature-detects/css/exunit.js create mode 100644 js/modernizr/feature-detects/css/filters.js create mode 100644 js/modernizr/feature-detects/css/flexbox.js create mode 100644 js/modernizr/feature-detects/css/flexboxlegacy.js create mode 100644 js/modernizr/feature-detects/css/flexboxtweener.js create mode 100644 js/modernizr/feature-detects/css/flexwrap.js create mode 100644 js/modernizr/feature-detects/css/fontface.js create mode 100644 js/modernizr/feature-detects/css/generatedcontent.js create mode 100644 js/modernizr/feature-detects/css/gradients.js create mode 100644 js/modernizr/feature-detects/css/hsla.js create mode 100644 js/modernizr/feature-detects/css/hyphens.js create mode 100644 js/modernizr/feature-detects/css/invalid.js create mode 100644 js/modernizr/feature-detects/css/lastchild.js create mode 100644 js/modernizr/feature-detects/css/mask.js create mode 100644 js/modernizr/feature-detects/css/mediaqueries.js create mode 100644 js/modernizr/feature-detects/css/multiplebgs.js create mode 100644 js/modernizr/feature-detects/css/nthchild.js create mode 100644 js/modernizr/feature-detects/css/objectfit.js create mode 100644 js/modernizr/feature-detects/css/opacity.js create mode 100644 js/modernizr/feature-detects/css/overflow-scrolling.js create mode 100644 js/modernizr/feature-detects/css/pointerevents.js create mode 100644 js/modernizr/feature-detects/css/positionsticky.js create mode 100644 js/modernizr/feature-detects/css/pseudoanimations.js create mode 100644 js/modernizr/feature-detects/css/pseudotransitions.js create mode 100644 js/modernizr/feature-detects/css/reflections.js create mode 100644 js/modernizr/feature-detects/css/regions.js create mode 100644 js/modernizr/feature-detects/css/remunit.js create mode 100644 js/modernizr/feature-detects/css/resize.js create mode 100644 js/modernizr/feature-detects/css/rgba.js create mode 100644 js/modernizr/feature-detects/css/scrollbars.js create mode 100644 js/modernizr/feature-detects/css/shapes.js create mode 100644 js/modernizr/feature-detects/css/siblinggeneral.js create mode 100644 js/modernizr/feature-detects/css/subpixelfont.js create mode 100644 js/modernizr/feature-detects/css/supports.js create mode 100644 js/modernizr/feature-detects/css/target.js create mode 100644 js/modernizr/feature-detects/css/textalignlast.js create mode 100644 js/modernizr/feature-detects/css/textshadow.js create mode 100644 js/modernizr/feature-detects/css/transforms.js create mode 100644 js/modernizr/feature-detects/css/transforms3d.js create mode 100644 js/modernizr/feature-detects/css/transformstylepreserve3d.js create mode 100644 js/modernizr/feature-detects/css/transitions.js create mode 100644 js/modernizr/feature-detects/css/userselect.js create mode 100644 js/modernizr/feature-detects/css/valid.js create mode 100644 js/modernizr/feature-detects/css/vhunit.js create mode 100644 js/modernizr/feature-detects/css/vmaxunit.js create mode 100644 js/modernizr/feature-detects/css/vminunit.js create mode 100644 js/modernizr/feature-detects/css/vwunit.js create mode 100644 js/modernizr/feature-detects/css/will-change.js create mode 100644 js/modernizr/feature-detects/css/wrapflow.js create mode 100644 js/modernizr/feature-detects/customevent.js create mode 100644 js/modernizr/feature-detects/dom/classlist.js create mode 100644 js/modernizr/feature-detects/dom/createElement-attrs.js create mode 100644 js/modernizr/feature-detects/dom/dataset.js create mode 100644 js/modernizr/feature-detects/dom/documentfragment.js create mode 100644 js/modernizr/feature-detects/dom/hidden.js create mode 100644 js/modernizr/feature-detects/dom/microdata.js create mode 100644 js/modernizr/feature-detects/dom/mutationObserver.js create mode 100644 js/modernizr/feature-detects/elem/datalist.js create mode 100644 js/modernizr/feature-detects/elem/details.js create mode 100644 js/modernizr/feature-detects/elem/output.js create mode 100644 js/modernizr/feature-detects/elem/picture.js create mode 100644 js/modernizr/feature-detects/elem/progress-meter.js create mode 100644 js/modernizr/feature-detects/elem/ruby.js create mode 100644 js/modernizr/feature-detects/elem/template.js create mode 100644 js/modernizr/feature-detects/elem/time.js create mode 100644 js/modernizr/feature-detects/elem/track.js create mode 100644 js/modernizr/feature-detects/elem/unknown.js create mode 100644 js/modernizr/feature-detects/es5/array.js create mode 100644 js/modernizr/feature-detects/es5/date.js create mode 100644 js/modernizr/feature-detects/es5/function.js create mode 100644 js/modernizr/feature-detects/es5/object.js create mode 100644 js/modernizr/feature-detects/es5/specification.js create mode 100644 js/modernizr/feature-detects/es5/strictmode.js create mode 100644 js/modernizr/feature-detects/es5/string.js create mode 100644 js/modernizr/feature-detects/es5/syntax.js create mode 100644 js/modernizr/feature-detects/es5/undefined.js create mode 100644 js/modernizr/feature-detects/es6/array.js create mode 100644 js/modernizr/feature-detects/es6/contains.js create mode 100644 js/modernizr/feature-detects/es6/generators.js create mode 100644 js/modernizr/feature-detects/es6/math.js create mode 100644 js/modernizr/feature-detects/es6/number.js create mode 100644 js/modernizr/feature-detects/es6/object.js create mode 100644 js/modernizr/feature-detects/es6/promises.js create mode 100644 js/modernizr/feature-detects/es6/string.js create mode 100644 js/modernizr/feature-detects/event/deviceorientation-motion.js create mode 100644 js/modernizr/feature-detects/event/oninput.js create mode 100644 js/modernizr/feature-detects/eventlistener.js create mode 100644 js/modernizr/feature-detects/file/api.js create mode 100644 js/modernizr/feature-detects/file/filesystem.js create mode 100644 js/modernizr/feature-detects/flash.js create mode 100644 js/modernizr/feature-detects/forms/capture.js create mode 100644 js/modernizr/feature-detects/forms/fileinput.js create mode 100644 js/modernizr/feature-detects/forms/fileinputdirectory.js create mode 100644 js/modernizr/feature-detects/forms/formattribute.js create mode 100644 js/modernizr/feature-detects/forms/inputnumber-l10n.js create mode 100644 js/modernizr/feature-detects/forms/placeholder.js create mode 100644 js/modernizr/feature-detects/forms/requestautocomplete.js create mode 100644 js/modernizr/feature-detects/forms/validation.js create mode 100644 js/modernizr/feature-detects/geolocation.js create mode 100644 js/modernizr/feature-detects/hashchange.js create mode 100644 js/modernizr/feature-detects/hiddenscroll.js create mode 100644 js/modernizr/feature-detects/history.js create mode 100644 js/modernizr/feature-detects/htmlimports.js create mode 100644 js/modernizr/feature-detects/iframe/sandbox.js create mode 100644 js/modernizr/feature-detects/iframe/seamless.js create mode 100644 js/modernizr/feature-detects/iframe/srcdoc.js create mode 100644 js/modernizr/feature-detects/img/apng.js create mode 100644 js/modernizr/feature-detects/img/jpegxr.js create mode 100644 js/modernizr/feature-detects/img/sizes.js create mode 100644 js/modernizr/feature-detects/img/srcset.js create mode 100644 js/modernizr/feature-detects/img/webp-alpha.js create mode 100644 js/modernizr/feature-detects/img/webp-animation.js create mode 100644 js/modernizr/feature-detects/img/webp-lossless.js create mode 100644 js/modernizr/feature-detects/img/webp.js create mode 100644 js/modernizr/feature-detects/indexeddb.js create mode 100644 js/modernizr/feature-detects/indexeddbblob.js create mode 100644 js/modernizr/feature-detects/input.js create mode 100644 js/modernizr/feature-detects/input/formaction.js create mode 100644 js/modernizr/feature-detects/input/formenctype.js create mode 100644 js/modernizr/feature-detects/input/formmethod.js create mode 100644 js/modernizr/feature-detects/input/formtarget.js create mode 100644 js/modernizr/feature-detects/inputsearchevent.js create mode 100644 js/modernizr/feature-detects/inputtypes.js create mode 100644 js/modernizr/feature-detects/intl.js create mode 100644 js/modernizr/feature-detects/network/beacon.js create mode 100644 js/modernizr/feature-detects/network/connection.js create mode 100644 js/modernizr/feature-detects/network/eventsource.js create mode 100644 js/modernizr/feature-detects/network/fetch.js create mode 100644 js/modernizr/feature-detects/network/xhr-responsetype-arraybuffer.js create mode 100644 js/modernizr/feature-detects/network/xhr-responsetype-blob.js create mode 100644 js/modernizr/feature-detects/network/xhr-responsetype-document.js create mode 100644 js/modernizr/feature-detects/network/xhr-responsetype-json.js create mode 100644 js/modernizr/feature-detects/network/xhr-responsetype-text.js create mode 100644 js/modernizr/feature-detects/network/xhr-responsetype.js create mode 100644 js/modernizr/feature-detects/network/xhr2.js create mode 100644 js/modernizr/feature-detects/pagevisibility-api.js create mode 100644 js/modernizr/feature-detects/pointerevents.js create mode 100644 js/modernizr/feature-detects/postmessage.js create mode 100644 js/modernizr/feature-detects/proximity.js create mode 100644 js/modernizr/feature-detects/queryselector.js create mode 100644 js/modernizr/feature-detects/script/async.js create mode 100644 js/modernizr/feature-detects/script/defer.js create mode 100644 js/modernizr/feature-detects/serviceworker.js create mode 100644 js/modernizr/feature-detects/speech/speech-recognition.js create mode 100644 js/modernizr/feature-detects/speech/speech-synthesis.js create mode 100644 js/modernizr/feature-detects/storage/localstorage.js create mode 100644 js/modernizr/feature-detects/storage/sessionstorage.js create mode 100644 js/modernizr/feature-detects/storage/websqldatabase.js create mode 100644 js/modernizr/feature-detects/style/scoped.js create mode 100644 js/modernizr/feature-detects/svg.js create mode 100644 js/modernizr/feature-detects/svg/asimg.js create mode 100644 js/modernizr/feature-detects/svg/clippaths.js create mode 100644 js/modernizr/feature-detects/svg/filters.js create mode 100644 js/modernizr/feature-detects/svg/foreignobject.js create mode 100644 js/modernizr/feature-detects/svg/inline.js create mode 100644 js/modernizr/feature-detects/svg/smil.js create mode 100644 js/modernizr/feature-detects/templatestrings.js create mode 100644 js/modernizr/feature-detects/textarea/maxlength.js create mode 100644 js/modernizr/feature-detects/touchevents.js create mode 100644 js/modernizr/feature-detects/typed-arrays.js create mode 100644 js/modernizr/feature-detects/unicode-range.js create mode 100644 js/modernizr/feature-detects/url/bloburls.js create mode 100644 js/modernizr/feature-detects/url/data-uri.js create mode 100644 js/modernizr/feature-detects/url/parser.js create mode 100644 js/modernizr/feature-detects/video.js create mode 100644 js/modernizr/feature-detects/video/autoplay.js create mode 100644 js/modernizr/feature-detects/video/loop.js create mode 100644 js/modernizr/feature-detects/video/preload.js create mode 100644 js/modernizr/feature-detects/vml.js create mode 100644 js/modernizr/feature-detects/webanimations.js create mode 100644 js/modernizr/feature-detects/webgl.js create mode 100644 js/modernizr/feature-detects/webgl/extensions.js create mode 100644 js/modernizr/feature-detects/webrtc/datachannel.js create mode 100644 js/modernizr/feature-detects/webrtc/getusermedia.js create mode 100644 js/modernizr/feature-detects/webrtc/peerconnection.js create mode 100644 js/modernizr/feature-detects/websockets.js create mode 100644 js/modernizr/feature-detects/websockets/binary.js create mode 100644 js/modernizr/feature-detects/window/framed.js create mode 100644 js/modernizr/feature-detects/window/matchmedia.js create mode 100644 js/modernizr/feature-detects/workers/blobworkers.js create mode 100644 js/modernizr/feature-detects/workers/dataworkers.js create mode 100644 js/modernizr/feature-detects/workers/sharedworkers.js create mode 100644 js/modernizr/feature-detects/workers/transferables.js create mode 100644 js/modernizr/feature-detects/workers/webworkers.js create mode 100644 js/modernizr/lib/build-query.js create mode 100644 js/modernizr/lib/build.js create mode 100644 js/modernizr/lib/cli.js create mode 100644 js/modernizr/lib/generate-banner.js create mode 100644 js/modernizr/lib/metadata.js create mode 100644 js/modernizr/lib/options.js create mode 100644 js/modernizr/src/Modernizr.js create mode 100644 js/modernizr/src/ModernizrProto.js create mode 100644 js/modernizr/src/addTest.js create mode 100644 js/modernizr/src/atRule.js create mode 100644 js/modernizr/src/classes.js create mode 100644 js/modernizr/src/contains.js create mode 100644 js/modernizr/src/createElement.js create mode 100644 js/modernizr/src/cssToDOM.js create mode 100644 js/modernizr/src/cssomPrefixes.js create mode 100644 js/modernizr/src/docElement.js create mode 100644 js/modernizr/src/domPrefixes.js create mode 100644 js/modernizr/src/domToCSS.js create mode 100644 js/modernizr/src/fnBind.js create mode 100644 js/modernizr/src/generate.js create mode 100644 js/modernizr/src/getBody.js create mode 100644 js/modernizr/src/hasEvent.js create mode 100644 js/modernizr/src/hasOwnProp.js create mode 100644 js/modernizr/src/html5printshiv.js create mode 100644 js/modernizr/src/html5shiv.js create mode 100644 js/modernizr/src/injectElementWithStyles.js create mode 100644 js/modernizr/src/inputElem.js create mode 100644 js/modernizr/src/is.js create mode 100644 js/modernizr/src/isSVG.js create mode 100644 js/modernizr/src/load.js create mode 100644 js/modernizr/src/mStyle.js create mode 100644 js/modernizr/src/modElem.js create mode 100644 js/modernizr/src/mq.js create mode 100644 js/modernizr/src/nativeTestProps.js create mode 100644 js/modernizr/src/omPrefixes.js create mode 100644 js/modernizr/src/prefixed.js create mode 100644 js/modernizr/src/prefixedCSS.js create mode 100644 js/modernizr/src/prefixes.js create mode 100644 js/modernizr/src/roundedEquals.js create mode 100644 js/modernizr/src/setClasses.js create mode 100644 js/modernizr/src/slice.js create mode 100644 js/modernizr/src/testAllProps.js create mode 100644 js/modernizr/src/testDOMProps.js create mode 100644 js/modernizr/src/testProp.js create mode 100644 js/modernizr/src/testProps.js create mode 100644 js/modernizr/src/testPropsAll.js create mode 100644 js/modernizr/src/testRunner.js create mode 100644 js/modernizr/src/testStyles.js create mode 100644 js/modernizr/src/testXhrType.js create mode 100644 js/modernizr/src/tests.js create mode 100644 js/modernizr/src/toStringFn.js create mode 100644 js/modernizr/test/browser/integration/bools.js create mode 100644 js/modernizr/test/browser/integration/caniuse.js create mode 100644 js/modernizr/test/browser/integration/classes.js create mode 100644 js/modernizr/test/browser/integration/global.js create mode 100644 js/modernizr/test/browser/integration/iframe.js create mode 100644 js/modernizr/test/browser/integration/prefixed-atRule.js create mode 100644 js/modernizr/test/browser/integration/prefixed-autobind.js create mode 100644 js/modernizr/test/browser/integration/prefixed.js create mode 100644 js/modernizr/test/browser/integration/prefixedCSS.js create mode 100644 js/modernizr/test/browser/integration/svg.js create mode 100644 js/modernizr/test/browser/setup.js create mode 100644 js/modernizr/test/browser/src/Modernizr.js create mode 100644 js/modernizr/test/browser/src/ModernizrProto.js create mode 100644 js/modernizr/test/browser/src/addTest.js create mode 100644 js/modernizr/test/browser/src/atRule.js create mode 100644 js/modernizr/test/browser/src/classes.js create mode 100644 js/modernizr/test/browser/src/contains.js create mode 100644 js/modernizr/test/browser/src/createElement.js create mode 100644 js/modernizr/test/browser/src/cssToDOM.js create mode 100644 js/modernizr/test/browser/src/cssomPrefixes.js create mode 100644 js/modernizr/test/browser/src/docElement.js create mode 100644 js/modernizr/test/browser/src/domPrefixes.js create mode 100644 js/modernizr/test/browser/src/domToCSS.js create mode 100644 js/modernizr/test/browser/src/fnBind.js create mode 100644 js/modernizr/test/browser/src/generate.js create mode 100644 js/modernizr/test/browser/src/getBody.js create mode 100644 js/modernizr/test/browser/src/hasEvent.js create mode 100644 js/modernizr/test/browser/src/hasOwnProp.js create mode 100644 js/modernizr/test/browser/src/html5printshiv.js create mode 100644 js/modernizr/test/browser/src/html5shiv.js create mode 100644 js/modernizr/test/browser/src/injectElementWithStyles.js create mode 100644 js/modernizr/test/browser/src/inputElem.js create mode 100644 js/modernizr/test/browser/src/is.js create mode 100644 js/modernizr/test/browser/src/load.js create mode 100644 js/modernizr/test/browser/src/mStyle.js create mode 100644 js/modernizr/test/browser/src/modElem.js create mode 100644 js/modernizr/test/browser/src/mq.js create mode 100644 js/modernizr/test/browser/src/nativeTestProps.js create mode 100644 js/modernizr/test/browser/src/omPrefixes.js create mode 100644 js/modernizr/test/browser/src/prefixed.js create mode 100644 js/modernizr/test/browser/src/prefixedCSS.js create mode 100644 js/modernizr/test/browser/src/prefixes.js create mode 100644 js/modernizr/test/browser/src/roundedEquals.js create mode 100644 js/modernizr/test/browser/src/setClasses.js create mode 100644 js/modernizr/test/browser/src/slice.js create mode 100644 js/modernizr/test/browser/src/testAllProps.js create mode 100644 js/modernizr/test/browser/src/testDOMProps.js create mode 100644 js/modernizr/test/browser/src/testProp.js create mode 100644 js/modernizr/test/browser/src/testProps.js create mode 100644 js/modernizr/test/browser/src/testPropsAll.js create mode 100644 js/modernizr/test/browser/src/testRunner.js create mode 100644 js/modernizr/test/browser/src/testStyles.js create mode 100644 js/modernizr/test/browser/src/testXhrType.js create mode 100644 js/modernizr/test/browser/src/tests.js create mode 100644 js/modernizr/test/browser/src/toStringFn.js create mode 100644 js/modernizr/test/browser/svgUnit.js create mode 100644 js/modernizr/test/cleanup.js create mode 100644 js/modernizr/test/js/lib/sinon.js create mode 100644 js/modernizr/test/mocks/lib/build-query.js create mode 100644 js/modernizr/test/mocks/lib/metadata.js create mode 100644 js/modernizr/test/node/lib/build.js create mode 100644 js/modernizr/test/node/lib/cli.js create mode 100644 js/modernizr/test/node/lib/metadata.js create mode 100644 js/modernizr/test/node/lib/options.js create mode 100644 js/modernizr/test/universal/lib/build-hash.js create mode 100644 js/modernizr/test/universal/lib/generate-banner.js diff --git a/js/modernizr/Gruntfile.js b/js/modernizr/Gruntfile.js new file mode 100644 index 0000000..b426544 --- /dev/null +++ b/js/modernizr/Gruntfile.js @@ -0,0 +1,247 @@ +/*global module */ + +var browsers = require('./test/browser/sauce-browsers.json'); + +module.exports = function(grunt) { + 'use strict'; + + // Load grunt dependencies + require('load-grunt-tasks')(grunt); + + var browserTests = grunt.file.expand([ + 'test/universal/**/*.js', + 'test/browser/**/*.js', + '!test/browser/setup.js', + '!test/browser/integration/*.js' + ]); + + grunt.initConfig({ + env: { + nodeTests: [ + 'test/universal/**/*.js', + 'test/node/**/*.js' + ], + browserTests: browserTests, + coverage: { + APP_DIR_FOR_CODE_COVERAGE: 'test/coverage/instrument', + urls: [ + 'http://localhost:9999/test/unit.html', + 'http://localhost:9999/test/index.html' + ] + } + }, + generate: { + dest: './dist/modernizr-build.js' + }, + copy: { + 'gh-pages': { + files: [ + { + expand: true, + src: [ + './**/*', + '!./test/coverage/**', + '!./node_modules/*grunt-*/**', + '!./node_modules/**/node_modules/**' + ], + dest: 'gh-pages' + } + ] + } + }, + jscs: { + src: [ + 'Gruntfile.js', + 'src/*.js', + 'lib/*.js', + 'test/**/*.js', + 'feature-detects/**/*.js', + '!src/html5printshiv.js', + '!test/coverage/**/*.js', + '!test/js/lib/**/*.js', + '!src/html5shiv.js' + ] + }, + jshint: { + options: { + jshintrc: true, + ignores: [ + 'src/html5printshiv.js', + 'src/html5shiv.js' + ] + }, + files: [ + 'Gruntfile.js', + 'src/*.js', + 'lib/*.js', + 'feature-detects/**/*.js' + ], + tests: { + options: { + jshintrc: true + }, + files: { + src: [ + '<%= env.nodeTests%>', + '<%= env.browserTests %>', + 'test/browser/setup.js', + 'test/browser/integration/*.js' + ] + } + } + }, + clean: { + dist: [ + 'dist', + 'test/coverage', + 'test/*.html', + 'gh-pages' + ] + }, + jade: { + compile: { + options: { + data: { + unitTests: browserTests, + integrationTests: grunt.file.expand(['test/browser/integration/*.js']) + } + }, + files: { + 'test/unit.html': 'test/browser/unit.jade', + 'test/iframe.html': 'test/browser/iframe.jade', + 'test/index.html': 'test/browser/integration.jade' + } + } + }, + connect: { + server: { + options: { + middleware: function(connect, options) { + return [ + function(req, res, next) { + // catchall middleware used in testing + var ua = req.headers['user-agent']; + + // record code coverage results from browsers + if (req.url == '/coverage/client' && req.method == 'POST') { + var name = encodeURI(ua.replace(/\//g, '-')); + var body = ''; + + req.on('data', function(data) { + body = body + data; + }); + + req.on('end', function() { + grunt.file.write('test/coverage/reports/' + name + '.json', body); + res.end(); + }); + + return; + } + + // redirect requests form the `require`d components to their instrumented versions + if (req.url.match(/^\/(src|lib)\//)) { + req.url = '/test/coverage/instrument' + req.url; + } + + next(); + }, + connect.static(options.base) + ]; + }, + base: '', + port: 9999 + } + } + }, + 'saucelabs-custom': { + all: { + options: { + urls: '<%= env.coverage.urls %>', + testname: process.env.CI_BUILD_NUMBER || 'Modernizr Test', + browsers: browsers, + maxRetries: 3 + } + } + }, + mocha: { + test: { + options: { + urls: '<%= env.coverage.urls %>', + log: true + }, + }, + }, + // `mocha` runs browser tests, `mochaTest` runs node tests + mochaTest: { + test: { + options: { + reporter: 'dot' + }, + src: ['<%= env.nodeTests%>'] + } + }, + instrument: { + files: [ + 'src/**/*.js', + 'lib/**/*.js' + ], + options: { + basePath: 'test/coverage/instrument/' + } + }, + storeCoverage: { + options: { + dir: 'test/coverage/reports' + } + }, + makeReport: { + src: 'test/coverage/reports/**/*.json', + options: { + type: 'lcov', + dir: 'test/coverage/reports', + print: 'detail' + } + }, + coveralls: { + all: { + src: 'test/coverage/reports/lcov.info', + options: { + force: true + } + } + } + }); + + grunt.registerMultiTask('generate', 'Create a version of Modernizr from Grunt', function() { + var done = this.async(); + var config = require('./lib/config-all'); + var modernizr = require('./lib/cli'); + var dest = this.data; + + modernizr.build(config, function(output) { + grunt.file.write(dest, output); + done(); + }); + }); + + grunt.registerTask('nodeTests', ['mochaTest']); + + grunt.registerTask('browserTests', ['connect', 'mocha']); + + grunt.registerTask('build', ['clean', 'generate']); + + grunt.registerTask('lint', ['jshint', 'jscs']); + + grunt.registerTask('default', ['lint', 'build']); + + var tests = ['clean', 'lint', 'jade', 'instrument', 'env:coverage', 'nodeTests']; + + if (process.env.APPVEYOR) { + grunt.registerTask('test', tests); + } else if (process.env.BROWSER_COVERAGE !== 'true') { + grunt.registerTask('test', tests.concat(['generate', 'browserTests'])); + } else { + grunt.registerTask('test', tests.concat(['generate', 'storeCoverage', 'browserTests', 'saucelabs-custom', 'makeReport', 'coveralls'])); + } +}; diff --git a/js/modernizr/feature-detects/a/download.js b/js/modernizr/feature-detects/a/download.js new file mode 100644 index 0000000..ef728e5 --- /dev/null +++ b/js/modernizr/feature-detects/a/download.js @@ -0,0 +1,19 @@ +/*! +{ + "name": "a[download] Attribute", + "property": "adownload", + "caniuse" : "download", + "tags": ["media", "attribute"], + "builderAliases": ["a_download"], + "notes": [{ + "name": "WhatWG Reference", + "href": "http://developers.whatwg.org/links.html#downloading-resources" + }] +} +!*/ +/* DOC +When used on an ``, this attribute signifies that the resource it points to should be downloaded by the browser rather than navigating to it. +*/ +define(['Modernizr', 'createElement'], function(Modernizr, createElement) { + Modernizr.addTest('adownload', !window.externalHost && 'download' in createElement('a')); +}); diff --git a/js/modernizr/feature-detects/ambientlight.js b/js/modernizr/feature-detects/ambientlight.js new file mode 100644 index 0000000..0f9e579 --- /dev/null +++ b/js/modernizr/feature-detects/ambientlight.js @@ -0,0 +1,16 @@ +/*! +{ + "name": "Ambient Light Events", + "property": "ambientlight", + "notes": [{ + "name": "W3C Ambient Light Events", + "href": "http://www.w3.org/TR/ambient-light/" + }] +} +!*/ +/* DOC +Detects support for the API that provides information about the ambient light levels, as detected by the device's light detector, in terms of lux units. +*/ +define(['Modernizr', 'hasEvent'], function(Modernizr, hasEvent) { + Modernizr.addTest('ambientlight', hasEvent('devicelight', window)); +}); diff --git a/js/modernizr/feature-detects/applicationcache.js b/js/modernizr/feature-detects/applicationcache.js new file mode 100644 index 0000000..bec050a --- /dev/null +++ b/js/modernizr/feature-detects/applicationcache.js @@ -0,0 +1,21 @@ +/*! +{ + "name": "Application Cache", + "property": "applicationcache", + "caniuse": "offline-apps", + "tags": ["storage", "offline"], + "notes": [{ + "name": "MDN documentation", + "href": "https://developer.mozilla.org/en/docs/HTML/Using_the_application_cache" + }], + "polyfills": ["html5gears"] +} +!*/ +/* DOC +Detects support for the Application Cache, for storing data to enable web-based applications run offline. + +The API has been [heavily criticized](http://alistapart.com/article/application-cache-is-a-douchebag) and discussions are underway to address this. +*/ +define(['Modernizr'], function(Modernizr) { + Modernizr.addTest('applicationcache', 'applicationCache' in window); +}); diff --git a/js/modernizr/feature-detects/audio.js b/js/modernizr/feature-detects/audio.js new file mode 100644 index 0000000..d3e8776 --- /dev/null +++ b/js/modernizr/feature-detects/audio.js @@ -0,0 +1,48 @@ +/*! +{ + "name" : "HTML5 Audio Element", + "property": "audio", + "tags" : ["html5", "audio", "media"] +} +!*/ +/* DOC +Detects the audio element +*/ +define(['Modernizr', 'createElement'], function(Modernizr, createElement) { + // This tests evaluates support of the audio element, as well as + // testing what types of content it supports. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.audio // true + // Modernizr.audio.ogg // 'probably' + // + // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in some older browsers, "no" was a return value instead of empty string. + // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2 + // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5 + Modernizr.addTest('audio', function() { + /* jshint -W053 */ + var elem = createElement('audio'); + var bool = false; + + try { + if (bool = !!elem.canPlayType) { + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ''); + bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/, ''); + bool.opus = elem.canPlayType('audio/ogg; codecs="opus"') .replace(/^no$/, ''); + + // Mimetypes accepted: + // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/, ''); + bool.m4a = (elem.canPlayType('audio/x-m4a;') || + elem.canPlayType('audio/aac;')) .replace(/^no$/, ''); + } + } catch (e) { } + + return bool; + }); +}); diff --git a/js/modernizr/feature-detects/audio/loop.js b/js/modernizr/feature-detects/audio/loop.js new file mode 100644 index 0000000..96a2d77 --- /dev/null +++ b/js/modernizr/feature-detects/audio/loop.js @@ -0,0 +1,13 @@ +/*! +{ + "name": "Audio Loop Attribute", + "property": "audioloop", + "tags": ["audio", "media"] +} +!*/ +/* DOC +Detects if an audio element can automatically restart, once it has finished +*/ +define(['Modernizr', 'createElement'], function(Modernizr, createElement) { + Modernizr.addTest('audioloop', 'loop' in createElement('audio')); +}); diff --git a/js/modernizr/feature-detects/audio/preload.js b/js/modernizr/feature-detects/audio/preload.js new file mode 100644 index 0000000..7bd1caa --- /dev/null +++ b/js/modernizr/feature-detects/audio/preload.js @@ -0,0 +1,13 @@ +/*! +{ + "name": "Audio Preload Attribute", + "property": "audiopreload", + "tags": ["audio", "media"] +} +!*/ +/* DOC +Detects if audio can be downloaded in the background before it starts playing in the `