From 69c29935d57e983b13bf6b74f8d702b245798d82 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Fri, 27 Jan 2017 04:25:44 +0000 Subject: [PATCH] TinyMCE: improve the previews for embedded WordPress posts: - Add option to force a sandbox iframe in wpview. - Use it to show the embedded post preview. - Remove the deprecated `wpembed` plugin.js Fixes #39513. Built from https://develop.svn.wordpress.org/trunk@40019 git-svn-id: http://core.svn.wordpress.org/trunk@39956 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/ajax-actions.php | 18 +++++++-- wp-includes/class-wp-editor.php | 1 - wp-includes/js/mce-view.js | 35 ++++++++++++------ wp-includes/js/mce-view.min.js | 2 +- .../js/tinymce/plugins/wpembed/plugin.js | 17 --------- .../js/tinymce/plugins/wpembed/plugin.min.js | 1 - wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 171892 -> 171791 bytes wp-includes/version.php | 2 +- 8 files changed, 41 insertions(+), 35 deletions(-) delete mode 100644 wp-includes/js/tinymce/plugins/wpembed/plugin.js delete mode 100644 wp-includes/js/tinymce/plugins/wpembed/plugin.min.js diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php index 1226a9e53e..20ef07e2ac 100644 --- a/wp-admin/includes/ajax-actions.php +++ b/wp-admin/includes/ajax-actions.php @@ -3004,7 +3004,6 @@ function wp_ajax_parse_embed() { $parsed = $styles . $html . $scripts; } - if ( ! empty( $no_ssl_support ) || ( is_ssl() && ( preg_match( '%<(iframe|script|embed) [^>]*src="http://%', $parsed ) || preg_match( '%]*href="http://%', $parsed ) ) ) ) { // Admin is ssl and the embed is not. Iframes, scripts, and other "active content" will be blocked. @@ -3014,10 +3013,23 @@ function wp_ajax_parse_embed() { ) ); } - wp_send_json_success( array( + $return = array( 'body' => $parsed, 'attr' => $wp_embed->last_attr - ) ); + ); + + if ( strpos( $parsed, 'class="wp-embedded-content' ) ) { + if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) { + $script_src = includes_url( 'js/wp-embed.js' ); + } else { + $script_src = includes_url( 'js/wp-embed.min.js' ); + } + + $return['head'] = ''; + $return['sandbox'] = true; + } + + wp_send_json_success( $return ); } /** diff --git a/wp-includes/class-wp-editor.php b/wp-includes/class-wp-editor.php index 1d2c75c113..83777cfd8c 100644 --- a/wp-includes/class-wp-editor.php +++ b/wp-includes/class-wp-editor.php @@ -417,7 +417,6 @@ final class _WP_Editors { 'wpdialogs', 'wptextpattern', 'wpview', - 'wpembed', ); if ( ! self::$has_medialib ) { diff --git a/wp-includes/js/mce-view.js b/wp-includes/js/mce-view.js index 16d860d470..21b2c87b6a 100644 --- a/wp-includes/js/mce-view.js +++ b/wp-includes/js/mce-view.js @@ -468,7 +468,7 @@ * @param {Boolean} rendered Only set for (un)rendered nodes. Optional. */ setContent: function( content, callback, rendered ) { - if ( _.isObject( content ) && content.body.indexOf( '' + '' + '' + @@ -623,10 +626,22 @@ } function reload() { - $( node ).data( 'rendered', null ); + if ( ! editor.isHidden() ) { + $( node ).data( 'rendered', null ); - setTimeout( function() { - wp.mce.views.render(); + setTimeout( function() { + wp.mce.views.render(); + } ); + } + } + + function addObserver() { + observer = new MutationObserver( _.debounce( resize, 100 ) ); + + observer.observe( iframeDoc.body, { + attributes: true, + childList: true, + subtree: true } ); } @@ -635,13 +650,11 @@ MutationObserver = iframeWin.MutationObserver || iframeWin.WebKitMutationObserver || iframeWin.MozMutationObserver; if ( MutationObserver ) { - observer = new MutationObserver( _.debounce( resize, 100 ) ); - - observer.observe( iframeDoc.body, { - attributes: true, - childList: true, - subtree: true - } ); + if ( ! iframeDoc.body ) { + iframeDoc.addEventListener( 'DOMContentLoaded', addObserver, false ); + } else { + addObserver(); + } } else { for ( i = 1; i < 6; i++ ) { setTimeout( resize, i * 700 ); diff --git a/wp-includes/js/mce-view.min.js b/wp-includes/js/mce-view.min.js index b35caa88a3..997fb031fc 100644 --- a/wp-includes/js/mce-view.min.js +++ b/wp-includes/js/mce-view.min.js @@ -1 +1 @@ -!function(a,b,c,d){"use strict";var e={},f={};b.mce=b.mce||{},b.mce.views={register:function(a,c){e[a]=b.mce.View.extend(_.extend(c,{type:a}))},unregister:function(a){delete e[a]},get:function(a){return e[a]},unbind:function(){_.each(f,function(a){a.unbind()})},setMarkers:function(a){var b,c,d=[{content:a}],f=this;return _.each(e,function(a,e){c=d.slice(),d=[],_.each(c,function(c){var g,h,i=c.content;if(c.processed)return void d.push(c);for(;i&&(g=a.prototype.match(i));)g.index&&d.push({content:i.substring(0,g.index)}),b=f.createInstance(e,g.content,g.options),h=b.loader?".":b.text,d.push({content:b.ignore?h:'

'+h+"

",processed:!0}),i=i.slice(g.index+g.content.length);i&&d.push({content:i})})}),a=_.pluck(d,"content").join(""),a.replace(/

\s*

")},createInstance:function(a,b,c,d){var e,g,h=this.get(a);return b=tinymce.DOM.decode(b),b.indexOf("[")!==-1&&b.indexOf("]")!==-1&&(b=b.replace(/\[[^\]]+\]/g,function(a){return a.replace(/[\r\n]/g,"")})),!d&&(g=this.getInstance(b))?g:(e=encodeURIComponent(b),c=_.extend(c||{},{text:b,encodedText:e}),f[e]=new h(c))},getInstance:function(a){return"string"==typeof a?f[encodeURIComponent(a)]:f[d(a).attr("data-wpview-text")]},getText:function(a){return decodeURIComponent(d(a).attr("data-wpview-text")||"")},render:function(a){_.each(f,function(b){b.render(null,a)})},update:function(a,b,c,d){var e=this.getInstance(c);e&&e.update(a,b,c,d)},edit:function(a,b){var c=this.getInstance(b);c&&c.edit&&c.edit(c.text,function(d,e){c.update(d,a,b,e)})},remove:function(a,b){var c=this.getInstance(b);c&&c.remove(a,b)}},b.mce.View=function(a){_.extend(this,a),this.initialize()},b.mce.View.extend=Backbone.View.extend,_.extend(b.mce.View.prototype,{content:null,loader:!0,initialize:function(){},getContent:function(){return this.content},render:function(a,b){null!=a&&(this.content=a),a=this.getContent(),(this.loader||a)&&(b&&this.unbind(),this.replaceMarkers(),a?this.setContent(a,function(a,b){d(b).data("rendered",!0),this.bindNode.call(this,a,b)},!!b&&null):this.setLoader())},bindNode:function(){},unbindNode:function(){},unbind:function(){this.getNodes(function(a,b){this.unbindNode.call(this,a,b)},!0)},getEditors:function(a){_.each(tinymce.editors,function(b){b.plugins.wpview&&a.call(this,b)},this)},getNodes:function(a,b){this.getEditors(function(c){var e=this;d(c.getBody()).find('[data-wpview-text="'+e.encodedText+'"]').filter(function(){var a;return null==b||(a=d(this).data("rendered")===!0,b?a:!a)}).each(function(){a.call(e,c,this,this)})})},getMarkers:function(a){this.getEditors(function(b){var c=this;d(b.getBody()).find('[data-wpview-marker="'+this.encodedText+'"]').each(function(){a.call(c,b,this)})})},replaceMarkers:function(){this.getMarkers(function(a,b){var c,e=b===a.selection.getNode();return this.loader||d(b).text()===this.text?(c=a.$('

'),a.$(b).replaceWith(c),void(e&&setTimeout(function(){a.selection.select(c[0]),a.selection.collapse()}))):void a.dom.setAttrib(b,"data-wpview-marker",null)})},removeMarkers:function(){this.getMarkers(function(a,b){a.dom.setAttrib(b,"data-wpview-marker",null)})},setContent:function(a,b,c){_.isObject(a)&&a.body.indexOf("'),c.undoManager.transact(function(){d.innerHTML="",d.appendChild(_.isString(a)?c.dom.createFragment(a):a),c.dom.add(d,"span",{"class":"wpview-end"})}),b&&b.call(this,c,d)},c)},setIframes:function(a,c,e,f){var g=this;this.getNodes(function(f,h){function i(){var a;q||k.contentWindow&&(a=d(k),g.iframeHeight=d(m.body).height(),a.height()!==g.iframeHeight&&(a.height(g.iframeHeight),f.nodeChanged()))}function j(){d(h).data("rendered",null),setTimeout(function(){b.mce.views.render()})}var k,l,m,n,o,p,q,r=f.dom,s="",t=f.getBody().className||"",u=f.getDoc().getElementsByTagName("head")[0];if(tinymce.each(r.$('link[rel="stylesheet"]',u),function(a){a.href&&a.href.indexOf("skins/lightgray/content.min.css")===-1&&a.href.indexOf("skins/wordpress/wp-content.css")===-1&&(s+=r.getOuterHTML(a))}),g.iframeHeight&&r.add(h,"span",{"data-mce-bogus":1,style:{display:"block",width:"100%",height:g.iframeHeight}},"\u200b"),f.undoManager.transact(function(){h.innerHTML="",k=r.add(h,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"},height:g.iframeHeight}),r.add(h,"span",{"class":"mce-shim"}),r.add(h,"span",{"class":"wpview-end"})}),k.contentWindow){if(l=k.contentWindow,m=l.document,m.open(),m.write(''+a+s+''+c+""),m.close(),g.iframeHeight&&(q=!0,setTimeout(function(){q=!1,i()},3e3)),d(l).on("load",i).on("unload",j),n=l.MutationObserver||l.WebKitMutationObserver||l.MozMutationObserver)o=new n(_.debounce(i,100)),o.observe(m.body,{attributes:!0,childList:!0,subtree:!0});else for(p=1;p<6;p++)setTimeout(i,700*p);e&&e.call(g,f,h)}},f)},setLoader:function(a){this.setContent('
')},setError:function(a,b){this.setContent('

'+a+"

")},match:function(a){var b=c.next(this.type,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}},update:function(a,c,f,g){_.find(e,function(e,h){var i=e.prototype.match(a);if(i)return d(f).data("rendered",!1),c.dom.setAttrib(f,"data-wpview-text",encodeURIComponent(a)),b.mce.views.createInstance(h,a,i.options,g).render(),c.focus(),!0})},remove:function(a,b){this.unbindNode.call(this,a,b),a.dom.remove(b),a.focus()}})}(window,window.wp,window.wp.shortcode,window.jQuery),function(a,b,c,d){function e(b){var c={};return a.tinymce?!b||b.indexOf("<")===-1&&b.indexOf(">")===-1?b:(j=j||new a.tinymce.html.Schema(c),k=k||new a.tinymce.html.DomParser(c,j),l=l||new a.tinymce.html.Serializer(c,j),l.serialize(k.parse(b,{forced_root_block:!1}))):b.replace(/<[^>]+>/g,"")}var f,g,h,i,j,k,l;f={state:[],edit:function(a,b){var d=this.type,e=c[d].edit(a);this.pausePlayers&&this.pausePlayers(),_.each(this.state,function(a){e.state(a).on("update",function(a){b(c[d].shortcode(a).string(),"gallery"===d)})}),e.on("close",function(){e.detach()}),e.open()}},g=_.extend({},f,{state:["gallery-edit"],template:c.template("editor-gallery"),initialize:function(){var a=c.gallery.attachments(this.shortcode,c.view.settings.post.id),b=this.shortcode.attrs.named,d=this;a.more().done(function(){a=a.toJSON(),_.each(a,function(a){a.sizes&&(b.size&&a.sizes[b.size]?a.thumbnail=a.sizes[b.size]:a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))}),d.render(d.template({verifyHTML:e,attachments:a,columns:b.columns?parseInt(b.columns,10):c.galleryDefaults.columns}))}).fail(function(a,b){d.setError(b)})}}),h=_.extend({},f,{action:"parse-media-shortcode",initialize:function(){var a=this;this.url&&(this.loader=!1,this.shortcode=c.embed.shortcode({url:this.text})),wp.ajax.post(this.action,{post_ID:c.view.settings.post.id,type:this.shortcode.tag,shortcode:this.shortcode.string()}).done(function(b){a.render(b)}).fail(function(b){a.url?(a.ignore=!0,a.removeMarkers()):a.setError(b.message||b.statusText,"admin-media")}),this.getEditors(function(b){b.on("wpview-selected",function(){a.pausePlayers()})})},pausePlayers:function(){this.getNodes(function(a,b,c){var e=d("iframe.wpview-sandbox",c).get(0);e&&(e=e.contentWindow)&&e.mejs&&_.each(e.mejs.players,function(a){try{a.pause()}catch(b){}})})}}),i=_.extend({},h,{action:"parse-embed",edit:function(a,b){var d=c.embed.edit(a,this.url),e=this;this.pausePlayers(),d.state("embed").props.on("change:url",function(a,b){b&&a.get("url")&&(d.state("embed").metadata=a.toJSON())}),d.state("embed").on("select",function(){var a=d.state("embed").metadata;b(e.url?a.url:c.embed.shortcode(a).string())}),d.on("close",function(){d.detach()}),d.open()}}),b.register("gallery",_.extend({},g)),b.register("audio",_.extend({},h,{state:["audio-details"]})),b.register("video",_.extend({},h,{state:["video-details"]})),b.register("playlist",_.extend({},h,{state:["playlist-edit","video-playlist-edit"]})),b.register("embed",_.extend({},i)),b.register("embedURL",_.extend({},i,{match:function(a){var b=/(^|

)(https?:\/\/[^\s"]+?)(<\/p>\s*|$)/gi,c=b.exec(a);if(c)return{index:c.index+c[1].length,content:c[2],options:{url:!0}}}}))}(window,window.wp.mce.views,window.wp.media,window.jQuery); \ No newline at end of file +!function(a,b,c,d){"use strict";var e={},f={};b.mce=b.mce||{},b.mce.views={register:function(a,c){e[a]=b.mce.View.extend(_.extend(c,{type:a}))},unregister:function(a){delete e[a]},get:function(a){return e[a]},unbind:function(){_.each(f,function(a){a.unbind()})},setMarkers:function(a){var b,c,d=[{content:a}],f=this;return _.each(e,function(a,e){c=d.slice(),d=[],_.each(c,function(c){var g,h,i=c.content;if(c.processed)return void d.push(c);for(;i&&(g=a.prototype.match(i));)g.index&&d.push({content:i.substring(0,g.index)}),b=f.createInstance(e,g.content,g.options),h=b.loader?".":b.text,d.push({content:b.ignore?h:'

'+h+"

",processed:!0}),i=i.slice(g.index+g.content.length);i&&d.push({content:i})})}),a=_.pluck(d,"content").join(""),a.replace(/

\s*

")},createInstance:function(a,b,c,d){var e,g,h=this.get(a);return b=tinymce.DOM.decode(b),b.indexOf("[")!==-1&&b.indexOf("]")!==-1&&(b=b.replace(/\[[^\]]+\]/g,function(a){return a.replace(/[\r\n]/g,"")})),!d&&(g=this.getInstance(b))?g:(e=encodeURIComponent(b),c=_.extend(c||{},{text:b,encodedText:e}),f[e]=new h(c))},getInstance:function(a){return"string"==typeof a?f[encodeURIComponent(a)]:f[d(a).attr("data-wpview-text")]},getText:function(a){return decodeURIComponent(d(a).attr("data-wpview-text")||"")},render:function(a){_.each(f,function(b){b.render(null,a)})},update:function(a,b,c,d){var e=this.getInstance(c);e&&e.update(a,b,c,d)},edit:function(a,b){var c=this.getInstance(b);c&&c.edit&&c.edit(c.text,function(d,e){c.update(d,a,b,e)})},remove:function(a,b){var c=this.getInstance(b);c&&c.remove(a,b)}},b.mce.View=function(a){_.extend(this,a),this.initialize()},b.mce.View.extend=Backbone.View.extend,_.extend(b.mce.View.prototype,{content:null,loader:!0,initialize:function(){},getContent:function(){return this.content},render:function(a,b){null!=a&&(this.content=a),a=this.getContent(),(this.loader||a)&&(b&&this.unbind(),this.replaceMarkers(),a?this.setContent(a,function(a,b){d(b).data("rendered",!0),this.bindNode.call(this,a,b)},!!b&&null):this.setLoader())},bindNode:function(){},unbindNode:function(){},unbind:function(){this.getNodes(function(a,b){this.unbindNode.call(this,a,b)},!0)},getEditors:function(a){_.each(tinymce.editors,function(b){b.plugins.wpview&&a.call(this,b)},this)},getNodes:function(a,b){this.getEditors(function(c){var e=this;d(c.getBody()).find('[data-wpview-text="'+e.encodedText+'"]').filter(function(){var a;return null==b||(a=d(this).data("rendered")===!0,b?a:!a)}).each(function(){a.call(e,c,this,this)})})},getMarkers:function(a){this.getEditors(function(b){var c=this;d(b.getBody()).find('[data-wpview-marker="'+this.encodedText+'"]').each(function(){a.call(c,b,this)})})},replaceMarkers:function(){this.getMarkers(function(a,b){var c,e=b===a.selection.getNode();return this.loader||d(b).text()===this.text?(c=a.$('

'),a.$(b).replaceWith(c),void(e&&setTimeout(function(){a.selection.select(c[0]),a.selection.collapse()}))):void a.dom.setAttrib(b,"data-wpview-marker",null)})},removeMarkers:function(){this.getMarkers(function(a,b){a.dom.setAttrib(b,"data-wpview-marker",null)})},setContent:function(a,b,c){_.isObject(a)&&(a.sandbox||a.head||a.body.indexOf("'),c.undoManager.transact(function(){d.innerHTML="",d.appendChild(_.isString(a)?c.dom.createFragment(a):a),c.dom.add(d,"span",{"class":"wpview-end"})}),b&&b.call(this,c,d)},c)},setIframes:function(a,c,e,f){var g=this;this.getNodes(function(f,h){function i(){var a;r||l.contentWindow&&(a=d(l),g.iframeHeight=d(n.body).height(),a.height()!==g.iframeHeight&&(a.height(g.iframeHeight),f.nodeChanged()))}function j(){f.isHidden()||(d(h).data("rendered",null),setTimeout(function(){b.mce.views.render()}))}function k(){p=new o(_.debounce(i,100)),p.observe(n.body,{attributes:!0,childList:!0,subtree:!0})}var l,m,n,o,p,q,r,s=f.dom,t="",u=f.getBody().className||"",v=f.getDoc().getElementsByTagName("head")[0];if(tinymce.each(s.$('link[rel="stylesheet"]',v),function(a){a.href&&a.href.indexOf("skins/lightgray/content.min.css")===-1&&a.href.indexOf("skins/wordpress/wp-content.css")===-1&&(t+=s.getOuterHTML(a))}),g.iframeHeight&&s.add(h,"span",{"data-mce-bogus":1,style:{display:"block",width:"100%",height:g.iframeHeight}},"\u200b"),f.undoManager.transact(function(){h.innerHTML="",l=s.add(h,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"},height:g.iframeHeight}),s.add(h,"span",{"class":"mce-shim"}),s.add(h,"span",{"class":"wpview-end"})}),l.contentWindow){if(m=l.contentWindow,n=m.document,n.open(),n.write(''+a+t+''+c+""),n.close(),g.iframeHeight&&(r=!0,setTimeout(function(){r=!1,i()},3e3)),d(m).on("load",i).on("unload",j),o=m.MutationObserver||m.WebKitMutationObserver||m.MozMutationObserver)n.body?k():n.addEventListener("DOMContentLoaded",k,!1);else for(q=1;q<6;q++)setTimeout(i,700*q);e&&e.call(g,f,h)}},f)},setLoader:function(a){this.setContent('
')},setError:function(a,b){this.setContent('

'+a+"

")},match:function(a){var b=c.next(this.type,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}},update:function(a,c,f,g){_.find(e,function(e,h){var i=e.prototype.match(a);if(i)return d(f).data("rendered",!1),c.dom.setAttrib(f,"data-wpview-text",encodeURIComponent(a)),b.mce.views.createInstance(h,a,i.options,g).render(),c.focus(),!0})},remove:function(a,b){this.unbindNode.call(this,a,b),a.dom.remove(b),a.focus()}})}(window,window.wp,window.wp.shortcode,window.jQuery),function(a,b,c,d){function e(b){var c={};return a.tinymce?!b||b.indexOf("<")===-1&&b.indexOf(">")===-1?b:(j=j||new a.tinymce.html.Schema(c),k=k||new a.tinymce.html.DomParser(c,j),l=l||new a.tinymce.html.Serializer(c,j),l.serialize(k.parse(b,{forced_root_block:!1}))):b.replace(/<[^>]+>/g,"")}var f,g,h,i,j,k,l;f={state:[],edit:function(a,b){var d=this.type,e=c[d].edit(a);this.pausePlayers&&this.pausePlayers(),_.each(this.state,function(a){e.state(a).on("update",function(a){b(c[d].shortcode(a).string(),"gallery"===d)})}),e.on("close",function(){e.detach()}),e.open()}},g=_.extend({},f,{state:["gallery-edit"],template:c.template("editor-gallery"),initialize:function(){var a=c.gallery.attachments(this.shortcode,c.view.settings.post.id),b=this.shortcode.attrs.named,d=this;a.more().done(function(){a=a.toJSON(),_.each(a,function(a){a.sizes&&(b.size&&a.sizes[b.size]?a.thumbnail=a.sizes[b.size]:a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))}),d.render(d.template({verifyHTML:e,attachments:a,columns:b.columns?parseInt(b.columns,10):c.galleryDefaults.columns}))}).fail(function(a,b){d.setError(b)})}}),h=_.extend({},f,{action:"parse-media-shortcode",initialize:function(){var a=this;this.url&&(this.loader=!1,this.shortcode=c.embed.shortcode({url:this.text})),wp.ajax.post(this.action,{post_ID:c.view.settings.post.id,type:this.shortcode.tag,shortcode:this.shortcode.string()}).done(function(b){a.render(b)}).fail(function(b){a.url?(a.ignore=!0,a.removeMarkers()):a.setError(b.message||b.statusText,"admin-media")}),this.getEditors(function(b){b.on("wpview-selected",function(){a.pausePlayers()})})},pausePlayers:function(){this.getNodes(function(a,b,c){var e=d("iframe.wpview-sandbox",c).get(0);e&&(e=e.contentWindow)&&e.mejs&&_.each(e.mejs.players,function(a){try{a.pause()}catch(b){}})})}}),i=_.extend({},h,{action:"parse-embed",edit:function(a,b){var d=c.embed.edit(a,this.url),e=this;this.pausePlayers(),d.state("embed").props.on("change:url",function(a,b){b&&a.get("url")&&(d.state("embed").metadata=a.toJSON())}),d.state("embed").on("select",function(){var a=d.state("embed").metadata;b(e.url?a.url:c.embed.shortcode(a).string())}),d.on("close",function(){d.detach()}),d.open()}}),b.register("gallery",_.extend({},g)),b.register("audio",_.extend({},h,{state:["audio-details"]})),b.register("video",_.extend({},h,{state:["video-details"]})),b.register("playlist",_.extend({},h,{state:["playlist-edit","video-playlist-edit"]})),b.register("embed",_.extend({},i)),b.register("embedURL",_.extend({},i,{match:function(a){var b=/(^|

)(https?:\/\/[^\s"]+?)(<\/p>\s*|$)/gi,c=b.exec(a);if(c)return{index:c.index+c[1].length,content:c[2],options:{url:!0}}}}))}(window,window.wp.mce.views,window.wp.media,window.jQuery); \ No newline at end of file diff --git a/wp-includes/js/tinymce/plugins/wpembed/plugin.js b/wp-includes/js/tinymce/plugins/wpembed/plugin.js deleted file mode 100644 index b6efbc95bf..0000000000 --- a/wp-includes/js/tinymce/plugins/wpembed/plugin.js +++ /dev/null @@ -1,17 +0,0 @@ -(function ( tinymce ) { - 'use strict'; - - tinymce.PluginManager.add( 'wpembed', function ( editor, url ) { - editor.on( 'init', function () { - var scriptId = editor.dom.uniqueId(); - - var scriptElm = editor.dom.create( 'script', { - id: scriptId, - type: 'text/javascript', - src: url + '/../../../wp-embed.js' - } ); - - editor.getDoc().getElementsByTagName( 'head' )[ 0 ].appendChild( scriptElm ); - } ); - } ); -})( window.tinymce ); diff --git a/wp-includes/js/tinymce/plugins/wpembed/plugin.min.js b/wp-includes/js/tinymce/plugins/wpembed/plugin.min.js deleted file mode 100644 index dc6f896b49..0000000000 --- a/wp-includes/js/tinymce/plugins/wpembed/plugin.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){"use strict";a.PluginManager.add("wpembed",function(a,b){a.on("init",function(){var c=a.dom.uniqueId(),d=a.dom.create("script",{id:c,type:"text/javascript",src:b+"/../../../wp-embed.js"});a.getDoc().getElementsByTagName("head")[0].appendChild(d)})})}(window.tinymce); \ 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 f46aa8227b74ef2ca89057583885cf7a94f89056..1bfe3bc6993eb021ecfa13de757f4194cbe71c72 100644 GIT binary patch delta 13315 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 NzX9mGtbmr}2LNZ1(#QY+ delta 13436 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 eMGcU6C*Na)`p|kfgrN|e|9=QAVDy3S