From b9e796a5c14a456931b34b8878fd9197a767c7e5 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Fri, 26 Jun 2015 23:19:24 +0000 Subject: [PATCH] TinyMCE: prevent error in the wptextpattern plugin when the first child node in a paragraph is not a text node. See #31441; Built from https://develop.svn.wordpress.org/trunk@32960 git-svn-id: http://core.svn.wordpress.org/trunk@32931 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../tinymce/plugins/wptextpattern/plugin.js | 4 ++++ .../plugins/wptextpattern/plugin.min.js | 2 +- wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 139864 -> 139867 bytes wp-includes/version.php | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js index 5886b1616a..e4a3bade08 100644 --- a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js +++ b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js @@ -88,6 +88,10 @@ } } + if ( ! child ) { + return; + } + if ( ! child.nodeValue ) { child = child.nextSibling; } diff --git a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js index fdf5a65b71..b9cb943ff9 100644 --- a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js +++ b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js @@ -1 +1 @@ -!function(a,b){a.PluginManager.add("wptextpattern",function(c){function d(a,b){g.push({regExp:a,callback:b})}var e=c.$,f=a.util.VK,g=[],h=!1;d(/^[*-]\s/,function(){this.execCommand("InsertUnorderedList")}),d(/^1[.)]\s/,function(){this.execCommand("InsertOrderedList")}),d(/^>\s/,function(){this.formatter.toggle("blockquote")}),d(/^(#{2,6})\s/,function(){this.formatter.toggle("h"+arguments[1].length)}),c.on("selectionchange",function(){h=!1}),c.on("keydown",function(a){!h||a.keyCode!==f.BACKSPACE&&27!==a.keyCode||(c.undoManager.undo(),a.preventDefault())}),c.on("keyup",function(d){var i,j,k,l,m;if(d.keyCode===f.SPACEBAR&&(i=c.selection.getRng(),j=i.startContainer,j&&3===j.nodeType&&(k=j.nodeValue,l=c.dom.getParent(j,"p")))){for(;(m=l.firstChild)&&3!==m.nodeType;)l=m;m.nodeValue||(m=m.nextSibling),m===j&&a.each(g,function(a){var d,f=k.replace(a.regExp,function(){return d=arguments,""});if(k!==f&&i.startOffset===k.length-f.length)return c.undoManager.add(),c.undoManager.transact(function(){var b;f?e(j).replaceWith(document.createTextNode(f)):(b=e(j.parentNode),e(j).remove(),b.html()||b.append("
")),c.selection.setCursorLocation(l),a.callback.apply(c,d)}),b(function(){h=!0}),!1})}})})}(window.tinymce,window.setTimeout); \ No newline at end of file +!function(a,b){a.PluginManager.add("wptextpattern",function(c){function d(a,b){g.push({regExp:a,callback:b})}var e=c.$,f=a.util.VK,g=[],h=!1;d(/^[*-]\s/,function(){this.execCommand("InsertUnorderedList")}),d(/^1[.)]\s/,function(){this.execCommand("InsertOrderedList")}),d(/^>\s/,function(){this.formatter.toggle("blockquote")}),d(/^(#{2,6})\s/,function(){this.formatter.toggle("h"+arguments[1].length)}),c.on("selectionchange",function(){h=!1}),c.on("keydown",function(a){!h||a.keyCode!==f.BACKSPACE&&27!==a.keyCode||(c.undoManager.undo(),a.preventDefault())}),c.on("keyup",function(d){var i,j,k,l,m;if(d.keyCode===f.SPACEBAR&&(i=c.selection.getRng(),j=i.startContainer,j&&3===j.nodeType&&(k=j.nodeValue,l=c.dom.getParent(j,"p")))){for(;(m=l.firstChild)&&3!==m.nodeType;)l=m;m&&(m.nodeValue||(m=m.nextSibling),m===j&&a.each(g,function(a){var d,f=k.replace(a.regExp,function(){return d=arguments,""});if(k!==f&&i.startOffset===k.length-f.length)return c.undoManager.add(),c.undoManager.transact(function(){var b;f?e(j).replaceWith(document.createTextNode(f)):(b=e(j.parentNode),e(j).remove(),b.html()||b.append("
")),c.selection.setCursorLocation(l),a.callback.apply(c,d)}),b(function(){h=!0}),!1}))}})})}(window.tinymce,window.setTimeout); \ No newline at end of file diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz index 1296151062c05d14933c44ea5bcd4dd01a178394..61f63c5c575039d88a3837834f0eee24d36a6eb6 100644 GIT binary patch delta 2531 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 diff --git a/wp-includes/version.php b/wp-includes/version.php index e3241c00a4..5480ed1d4b 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.3-alpha-32959'; +$wp_version = '4.3-alpha-32960'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.