WordPress/wp-includes/js/wp-emoji.min.js
Andrew Ozz e7131def4d Emoji:
- Patch twemoji.js to prevent infinite loop.
- Fix some `undefined` errors in old IE.
Props iseulde. See #31242.
Built from https://develop.svn.wordpress.org/trunk@31756


git-svn-id: http://core.svn.wordpress.org/trunk@31737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-12 19:53:26 +00:00

1 line
1.6 KiB
JavaScript

window.wp=window.wp||{},function(a,b,c,d){var e=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,f={parseAllEmoji:!1,parseEmoji:!1,parseFlags:!1,init:function(){f.parseAllEmoji=!f.browserSupportsEmoji(),f.parseFlags=!f.browserSupportsFlagEmoji(),f.parseEmoji=f.parseAllEmoji||f.parseFlags,a.addEventListener?a.addEventListener("load",f.load,!1):a.attachEvent&&a.attachEvent("onload",f.load)},load:function(){e&&new e(function(a){for(var b,c,d=a.length;d--;)for(b=a[d].addedNodes.length;b--;)c=a[d].addedNodes[b],3===c.nodeType&&(c=c.parentNode),c&&1===c.nodeType&&f.parse(c)}).observe(document.body,{childList:!0,subtree:!0}),f.parse(document.body)},browserSupportsEmoji:function(){var a=document.createElement("canvas"),b=a.getContext&&a.getContext("2d");return b&&b.fillText?(b.textBaseline="top",b.font="600 32px Arial",b.fillText(String.fromCharCode(55357,56835),0,0),0!==b.getImageData(16,16,1,1).data[0]):!1},browserSupportsFlagEmoji:function(){var a=document.createElement("canvas"),b=a.getContext&&a.getContext("2d");return b&&b.fillText?(b.textBaseline="top",b.font="32px Arial",b.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),a.toDataURL().length>3e3):!1},parse:function(a){return f.parseEmoji?c.parse(a,{base:d.baseUrl,ext:d.ext,callback:function(a,b){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return!f.parseFlags||f.parseAllEmoji||a.match(/^1f1(e[6-9a-f]|f[1-9a-f])-1f1(e[6-9a-f]|f[1-9a-f])$/)?"".concat(b.base,"/",a,b.ext):!1}}):a}};f.init(),b.emoji=f}(window,window.wp,window.twemoji,window._wpemojiSettings);