From 4e0cd2e8c823f0dcce1e5387af2120a3a9d888dd Mon Sep 17 00:00:00 2001 From: aFarkas Date: Sat, 11 Oct 2014 08:51:33 +0200 Subject: [PATCH] 0.9.2 --- bower.json | 2 +- component.json | 2 +- package.json | 2 +- plugins/mutation/ri.mutation.min.js | 2 +- respimage.js | 2 +- respimage.min.js | 2 +- tests/tests-mutations.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index fc63018..6365394 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "name": "respimage", "repo": "afarkas/respimage", - "version": "0.9.2-pre", + "version": "0.9.2", "main": "respimage.min.js", "scripts": [ "respimage.min.js" diff --git a/component.json b/component.json index 0ec8f73..a5a150e 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "respimage", - "version": "0.9.2-pre", + "version": "0.9.2", "repo": "afarkas/respimage", "main": "respimage.min.js", "scripts": ["respimage.min.js"], diff --git a/package.json b/package.json index c982d33..ee93965 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "respimage", - "version": "0.9.2-pre", + "version": "0.9.2", "engines": { "node": ">= 0.8.0" }, diff --git a/plugins/mutation/ri.mutation.min.js b/plugins/mutation/ri.mutation.min.js index 72e9035..4de97ec 100644 --- a/plugins/mutation/ri.mutation.min.js +++ b/plugins/mutation/ri.mutation.min.js @@ -1,3 +1,3 @@ -/*! respimage - v0.9.2-pre - 2014-10-11 +/*! respimage - v0.9.2 - 2014-10-11 Licensed MIT */ !function(a){"use strict";var b;if(window.respimage&&(b=a(window.respimage),a=function(){return b}),"function"==typeof define&&define.amd)require(["../../respimage"],a);else if("object"==typeof module&&"object"==typeof exports)module.exports=a(require("../../respimage"));else if(!window.respimage)throw"you need to include respimage"}(function(a){"use strict";var b=window.document,c=window.Element,d=window.MutationObserver,e=function(){},f={disconnect:e,take:e,observe:e,start:e,stop:e,connected:!1},g=/^loade|^c|^i/.test(b.readyState||""),h=a._;if(h.mutationSupport=!1,h.observer=f,!Object.keys||!window.HTMLSourceElement||!b.addEventListener)return f;var i,j,k,l,m={src:1,srcset:1,sizes:1,media:1},n=Object.keys(m),o={attributes:!0,childList:!0,subtree:!0,attributeFilter:n},p=c&&c.prototype,q={},r=function(a,b){q[a]=h[a],h[a]=b};return p&&!p.matches&&(p.matches=p.matchesSelector||p.mozMatchesSelector||p.webkitMatchesSelector||p.msMatchesSelector),p&&p.matches&&(i=function(a,b){return a.matches(b)},h.mutationSupport=!(!Object.create||!Object.defineProperties)),h.mutationSupport?(f.observe=function(){k&&(f.connected=!0,j&&j.observe(b.body||b.documentElement,o))},f.disconnect=function(){f.connected=!1,j&&j.disconnect()},f.take=function(){j?h.onMutations(j.takeRecords()):l&&l.take()},f.start=function(){k=!0,f.observe()},f.stop=function(){k=!1,f.disconnect()},r("setupRun",function(){return f.disconnect(),q.setupRun.apply(this,arguments)}),r("teardownRun",function(){var a=q.setupRun.apply(this,arguments);return f.observe(),a}),r("setSrc",function(){var a,b=f.connected;return f.disconnect(),a=q.setSrc.apply(this,arguments),b&&f.observe(),a}),r("addSize",function(){var a,b=f.connected;return f.disconnect(),a=q.addSize.apply(this,arguments),b&&f.observe(),a}),h.onMutations=function(a){var b,c,d=[];for(b=0,c=a.length;c>b;b++)g&&"childList"===a[b].type?h.onSubtreeChange(a[b],d):"attributes"===a[b].type&&h.onAttrChange(a[b],d);d.length&&h.fillImgs({elements:d,reparse:!0,reevaluate:!0})},h.onSubtreeChange=function(a,b){h.findAddedMutations(a.addedNodes,b),h.findRemovedMutations(a.removedNodes,a.target,b)},h.findAddedMutations=function(a,b){var c,d,e,f;for(c=0,d=a.length;d>c;c++)e=a[c],1===e.nodeType&&(f=e.nodeName.toUpperCase(),"PICTURE"===f?h.addToElements(e.getElementsByTagName("img")[0],b):"IMG"===f&&i(e,h.selShort)?h.addToElements(e,b):"SOURCE"===f?h.addImgForSource(e,e.parentNode,b):h.addToElements(h.qsa(e,h.selShort),b))},h.findRemovedMutations=function(a,b,c){var d,e,f;for(d=0,e=a.length;e>d;d++)f=a[d],1===f.nodeType&&"SOURCE"===f.nodeName.toUpperCase()&&h.addImgForSource(f,b,c)},h.addImgForSource=function(a,b,c){b&&"PICTURE"!==(b.nodeName||"").toUpperCase()&&(b=b.parentNode),b&&"PICTURE"===(b.nodeName||"").toUpperCase()&&h.addToElements(b.getElementsByTagName("img")[0],c)},h.addToElements=function(a,b){var c,d;if(a)if("length"in a&&!a.nodeType)for(c=0,d=a.length;d>c;c++)h.addToElements(a[c],b);else a.parentNode&&-1===b.indexOf(a)&&b.push(a)},h.onAttrChange=function(a,b){var c,d=a.target[h.ns];d||"srcset"!==a.attributeName||"IMG"!==a.target.nodeName.toUpperCase()?d&&(c=a.target.nodeName.toUpperCase(),"IMG"===c?(a.attributeName in d&&(d[a.attributeName]=void 0,("src"===a.attributeName||h.supSrcset&&"srcset"===a.attributeName)&&(d.curCan=null,d.curSrc=void 0)),h.addToElements(a.target,b)):"SOURCE"===c&&h.addImgForSource(a.target,a.target.parentNode,b)):h.addToElements(a.target,b)},window.HTMLPictureElement||(d&&!h.testMutationEvents?j=new d(h.onMutations):(l=function(){var a=!1,b=[],c=window.setImmediate||window.setTimeout;return function(d){a||(a=!0,l.take||(l.take=function(){b.length&&(h.onMutations(b),b=[]),a=!1}),c(l.take)),b.push(d)}}(),(b.body||b.documentElement).addEventListener("DOMNodeInserted",function(a){f.connected&&g&&l({type:"childList",addedNodes:[a.target],removedNodes:[]})},!0),(b.body||b.documentElement).addEventListener("DOMNodeRemoved",function(a){f.connected&&g&&l({type:"childList",addedNodes:[],removedNodes:[a.target]})},!0),(b.body||b.documentElement).addEventListener("DOMAttrModified",function(a){f.connected&&l({type:"attributes",target:a.target,attributeName:a.attrName})},!0)),window.HTMLImageElement&&Object.defineProperties&&!function(){var a=b.createElement("img"),c=a.getAttribute,d={src:1};h.supSrcset&&!h.supSizes&&(d.srcset=1),Object.defineProperties(window.HTMLImageElement.prototype,{getAttribute:{value:function(a){var b;return d[a]&&(b=this[h.ns])&&void 0!==b[a]?b[a]:c.apply(this,arguments)},writeable:!0,enumerable:!0,configurable:!0}})}(),f.start()),g||b.addEventListener("DOMContentLoaded",function(){g=!0}),f):f}); \ No newline at end of file diff --git a/respimage.js b/respimage.js index 7dee276..30ede2d 100644 --- a/respimage.js +++ b/respimage.js @@ -1,4 +1,4 @@ -/*! respimage - v0.9.2-pre - 2014-10-11 +/*! respimage - v0.9.2 - 2014-10-11 Licensed MIT */ !function(window, document, undefined) { "use strict"; diff --git a/respimage.min.js b/respimage.min.js index 34cc87b..59adf94 100644 --- a/respimage.min.js +++ b/respimage.min.js @@ -1,3 +1,3 @@ -/*! respimage - v0.9.2-pre - 2014-10-11 +/*! respimage - v0.9.2 - 2014-10-11 Licensed MIT */ !function(a,b,c){"use strict";function d(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function e(){I=!1,t.vW=a.innerWidth||Math.max(z.offsetWidth||0,z.clientWidth||0),H=a.innerHeight||Math.max(z.offsetHeight||0,z.clientHeight||0)}function f(a){if(!(a in R)){var b={val:1,type:"x"},c=d(a||"");c&&(c.match(S)?(b.val=1*RegExp.$1,b.type=RegExp.$2):b=!1),R[a]=b}return R[a]}function g(a,b,c){return a/c>.2&&(a+=b*X,b>Z&&(a+=W)),a>c}function h(a){if(!a.getBoundingClientRect)return!0;var b,c,d=a.getBoundingClientRect();return d.top>=0&&(b=d.bottom)<=H&&d.left>=0&&(c=d.right)<=t.vW&&(b||c)}function i(a){var b,c=t.getSet(a),d=!1;"pending"!=c&&(d=!0,c&&(b=t.setRes(c),d=t.applySetCandidate(b,a))),a[t.ns].evaled=d}function j(a,b){return a.res-b.res}function k(a,b,c){var d;return!c&&b&&(c=a[t.ns].sets,c=c&&c[c.length-1]),d=l(b,c),d&&(b=t.makeUrl(b),a[t.ns].curSrc=b,a[t.ns].curCan=d,r||(a.currentSrc=b),d.res||o(d,d.set.sizes)),d}function l(a,b){var c,d,e;if(a&&b)for(e=t.parseSet(b),a=t.makeUrl(a),c=0;cc;c++)e=g[c],e[t.ns]=!0,f=e.getAttribute("srcset"),f&&b.push({srcset:f,media:e.getAttribute("media"),type:e.getAttribute("type"),sizes:e.getAttribute("sizes")})}function o(a,b){var c=a.desc;return"w"==c.type?(a.cWidth=t.calcListLength(b||"100vw"),a.res=c.val/a.cWidth):a.res=c.val,a}b.createElement("picture");var p,q,r,s,t={},u=function(){},v=b.createElement("img"),w=v.getAttribute,x=v.setAttribute,y=v.removeAttribute,z=b.documentElement,A={},B={addSize:!1,xQuant:1,tLow:.1,tHigh:.5,tLazy:.1,greed:.4},C="data-risrc",D=C+"set";t.ns=("ri"+(new Date).getTime()).substr(0,9),r="currentSrc"in v,s=r?"currentSrc":"src",t.supSrcset="srcset"in v,t.supSizes="sizes"in v,t.selShort="picture > img, img[srcset]",t.sel=t.selShort,t.cfg=B,t.supSrcset&&(t.sel+=", img["+D+"]");var E=b.createElement("a");t.makeUrl=function(a){return E.href=a,E.href},t.qsa=function(a,b){return a.querySelectorAll(b)};var F=(a.console&&"function"==typeof console.warn?function(a){console.warn(a)}:u,function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)}),G=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d||!1):a.detachEvent&&a.detachEvent("on"+b,c)};"https:"==location.protocol,t.matchesMedia=function(){return t.matchesMedia=a.matchMedia&&(matchMedia("(min-width: 0.1em)")||{}).matches?function(a){return!a||matchMedia(a).matches}:t.mMQ,t.matchesMedia.apply(this,arguments)},t.vW=0;var H,I=!0,J={minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/},K={};t.mMQ=function(a){var b,c,d=!1;return a?(K[a]||(b=a.match(J.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),c=a.match(J.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),b&&(b=parseFloat(b,10)*(b.indexOf("em")>0?t.getEmValue():1)),c&&(c=parseFloat(c,10)*(c.indexOf("em")>0?t.getEmValue():1)),K[a]={min:b,max:c}),b=K[a].min,c=K[a].max,(b&&t.vW>=b||c&&t.vW<=c)&&(d=!0),d):!0},t.DPR=a.devicePixelRatio||1;var L={},M=/^([\d\.]+)(em|vw|px)$/,N="position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;";t.calcLength=function(a){var c,d,e=a,f=!1;if(!(e in L)){if(d=a.match(M))d[1]=parseFloat(d[1],10),f=d[1]?"vw"==d[2]?t.vW*d[1]/100:"em"==d[2]?t.getEmValue()*d[1]:d[1]:!1;else if(a.indexOf("calc")>-1||parseInt(a,10)){a=a.replace("vw","%"),q||(q=b.createElement("div"),q.style.cssText=N),p||(p=!0,z.insertBefore(q,z.firstChild)),q.style.width="0px";try{q.style.width=a}catch(g){c=!0}f=q.offsetWidth,c&&(f=!1)}0>=f&&(f=!1),L[e]=f}return L[e]},t.types=A,A["image/jpeg"]=!0,A["image/gif"]=!0,A["image/png"]=!0,A["image/svg+xml"]=b.implementation.hasFeature("http://wwwindow.w3.org/TR/SVG11/feature#Image","1.1"),t.supportsType=function(a){return a?A[a]:!0};var O=/(\([^)]+\))?\s*(.+)/,P={};t.parseSize=function(a){var b;return P[a]||(b=(a||"").match(O),P[a]={media:b&&b[1],length:b&&b[2]}),P[a]},t.parseSet=function(a){if(!a.cands){var b,c,d,e,g,h=a.srcset;for(a.cands=[];h;)h=h.replace(/^\s+/g,""),b=h.search(/\s/g),d=null,-1!=b?(c=h.slice(0,b),e=c.charAt(c.length-1),","!=e&&c||(c=c.replace(/,+$/,""),d=""),h=h.slice(b+1),null==d&&(g=h.indexOf(","),-1!=g?(d=h.slice(0,g),h=h.slice(g+1)):(d=h,h=""))):(c=h,h=""),c&&(d=f(d))&&a.cands.push({url:c.replace(/^,+/,""),desc:d,set:a})}return a.cands};var Q,R={},S=/^([\+eE\d\.]+)(w|x)$/,T="font-size:100% !important;";t.getEmValue=function(){var a;if(!Q&&(a=b.body)){var c=b.createElement("div"),d=z.style.cssText,e=a.style.cssText;c.style.cssText=N,z.style.cssText=T,a.style.cssText=T,a.appendChild(c),Q=c.offsetWidth,a.removeChild(c),Q=parseFloat(Q,10),z.style.cssText=d,a.style.cssText=e}return Q||16};var U={};t.calcListLength=function(a){if(!(a in U)||B.noCache){var b,c,e,f,g,h,i=d(a).split(/\s*,\s*/),j=!1;for(g=0,h=i.length;h>g&&(b=i[g],c=t.parseSize(b),e=c.length,f=c.media,!e||!t.matchesMedia(f)||(j=t.calcLength(e))===!1);g++);U[a]=j?j:t.vW}return U[a]},t.setRes=function(a){var b,c;if(a){b=t.parseSet(a);for(var d=0,e=b.length;e>d;d++)c=b[d],c.descriptor||o(c,a.sizes)}return b};var V,W,X,Y,Z,$;t.applySetCandidate=function(a,b){if(a.length){var c,d,e,f,i,l,m,n,o,p,q,u=b[t.ns],v=!0;if(n=u.curSrc||b[s],o=u.curCan||k(b,n,a[0].set),d=t.getX(a,o),n&&(o&&(o.res+=Y),p=!u.pic||o&&o.set==a[0].set,o&&p&&o.res>=d?m=o:b.complete||u.src!=w.call(b,"src")||(p||!$&&!h(b))&&(m=o,q=n,v="lazy",$&&bb(b))),!m)for(a.sort(j),l=a.length,m=a[l-1],e=0;l>e;e++)if(c=a[e],c.res>=d){f=e-1,m=a[f]&&(i=c.res-d)&&n!=t.makeUrl(c.url)&&g(a[f].res,i,d)?a[f]:c;break}return m&&(q=t.makeUrl(m.url),r||(b.currentSrc=q),u.curSrc=q,u.curCan=m,q!=n?t.setSrc(b,m):t.setSize(b)),v}},t.getX=function(){return t.DPR*B.xQuant},t.setSrc=function(a,b){var c;a.src=b.url,"image/svg+xml"==b.set.type&&(c=a.style.width,a.style.width=a.offsetWidth+1+"px",a.offsetWidth+1&&(a.style.width=c))};var _=function(){G(this,"load",_),t.setSize(this)};t.setSize=function(a){var b,c=a[t.ns].curCan;B.addSize&&c&&!a[t.ns].dims&&(a.complete||(G(a,"load",_),F(a,"load",_)),b=a.naturalWidth,b&&("x"==c.desc.type?x.call(a,"width",parseInt(b/c.res/B.xQuant,10)):"w"==c.desc.type&&x.call(a,"width",parseInt(c.cWidth*(b/c.desc.val),10))))},b.addEventListener&&"naturalWidth"in v&&"complete"in v||(t.setSize=u),t.getSet=function(a){var b,c,d,e=!1,f=a[t.ns].sets;for(b=0;bd;d++)t.fillImg(c[d],f);t.teardownRun(f)}};t.fillImgs=eb,a.HTMLPictureElement?(eb=u,t.fillImg=u):!function(){var c=/^loade|^c/,d=function(){clearTimeout(g),g=setTimeout(d,3e3),b.body&&(c.test(b.readyState||"")&&($=!0,clearTimeout(g),G(b,"readystatechange",d)),t.fillImgs())},e=function(){t.fillImgs({reevaluate:!0})},f=function(){clearTimeout(cb),I=!0,cb=setTimeout(e,99)},g=setTimeout(d,b.body?9:99);F(a,"resize",f),F(b,"readystatechange",d)}(),eb._=t,eb.config=function(a,b,c){if("addType"==a){if(A[b]=c,"pending"==c)return}else B[a]=b;db&&t.fillImgs({reevaluate:!0})},a.respimage=eb,"object"==typeof module&&"object"==typeof module.exports?module.exports=eb:"function"==typeof define&&define.amd&&define(function(){return eb})}(window,document); \ No newline at end of file diff --git a/tests/tests-mutations.js b/tests/tests-mutations.js index 46edba2..cd121d3 100644 --- a/tests/tests-mutations.js +++ b/tests/tests-mutations.js @@ -97,7 +97,7 @@ var oldCurSrc = $img.prop('currentSrc'); var oldSrc = $img.prop('src'); - $img.attr('sizes', '100px') + $img.attr('sizes', '100px'); setTimeout(function(){ ok(oldCurSrc.indexOf('small.jpg') != -1);