diff --git a/src/js/_enqueues/wp/emoji.js b/src/js/_enqueues/wp/emoji.js index 27882d1e27..c5884a7777 100644 --- a/src/js/_enqueues/wp/emoji.js +++ b/src/js/_enqueues/wp/emoji.js @@ -121,6 +121,11 @@ while ( ii-- ) { node = addedNodes[ ii ]; + // Don't replace emoji inside elements that don't support it. + if ( ! node || node.closest( '.wp-exclude-emoji' ) || node.closest( '.CodeMirror' ) ) { + continue; + } + // Node type 3 is a TEXT_NODE. if ( node.nodeType === 3 ) { if ( ! node.parentNode ) { @@ -145,14 +150,8 @@ node = node.parentNode; } - /* - * If the class name of a non-element node contains 'wp-exclude-emoji' ignore it. - * - * Node type 1 is an ELEMENT_NODE. - */ - if ( ! node || node.nodeType !== 1 || - ( node.className && typeof node.className === 'string' && node.className.indexOf( 'wp-exclude-emoji' ) !== -1 ) ) { - + // Only make replacements inside Element nodes. + if ( node.nodeType !== 1 ) { continue; }