Make WordPress Core

Ticket #34640: 34640.2.diff

File 34640.2.diff, 1.8 KB (added by pento, 11 years ago)
  • src/wp-includes/js/twemoji.js

     
    386386          );
    387387          if (src) {
    388388            img = new Image();
    389             img.onerror = twemoji.onerror;
     389            img.onerror = options.onerror;
    390390            img.setAttribute('draggable', 'false');
    391391            attrib = options.attributes(icon, variant);
    392392            for (attrname in attrib) {
     
    550550      base:       typeof how.base === 'string' ? how.base : twemoji.base,
    551551      ext:        how.ext || twemoji.ext,
    552552      size:       how.folder || toSizeSquaredAsset(how.size || twemoji.size),
    553       className:  how.className || twemoji.className
     553      className:  how.className || twemoji.className,
     554      onerror:    how.onerror || twemoji.onerror
    554555    });
    555556  }
    556557
  • src/wp-includes/js/wp-emoji.js

     
    5858                                                        ii === 1 && removedNodes.length === 1 &&
    5959                                                        addedNodes[0].nodeType === 3 &&
    6060                                                        removedNodes[0].nodeName === 'IMG' &&
    61                                                         addedNodes[0].data === removedNodes[0].alt
     61                                                        addedNodes[0].data === removedNodes[0].alt &&
     62                                                        'load-failed' === removedNodes[0].getAttribute( 'data-error' )
    6263                                                ) {
    6364                                                        return;
    6465                                                }
     
    155156                                        }
    156157
    157158                                        return ''.concat( options.base, icon, options.ext );
     159                                },
     160                                onerror: function() {
     161                                        if ( twemoji.parentNode ) {
     162                                                this.setAttribute( 'data-error', 'load-failed' );
     163                                                twemoji.parentNode.replaceChild( document.createTextNode( twemoji.alt ), twemoji );
     164                                        }
    158165                                }
    159166                        };
    160167