From db501d7f722a17cd2a533decb89c9bcb9a2a006d Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Fri, 27 Jun 2014 03:00:15 +0000 Subject: [PATCH] TinyMCE: force 'font-weight: bold` for and inside the editor or Chrome and Safari may replace them with spans on pasting. Fixes #28656. Built from https://develop.svn.wordpress.org/trunk@28866 git-svn-id: http://core.svn.wordpress.org/trunk@28666 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../js/tinymce/plugins/wordpress/plugin.js | 2 ++ .../tinymce/plugins/wordpress/plugin.min.js | 2 +- .../js/tinymce/skins/wordpress/wp-content.css | 7 +++++++ wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 126483 -> 126490 bytes 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/wp-includes/js/tinymce/plugins/wordpress/plugin.js b/wp-includes/js/tinymce/plugins/wordpress/plugin.js index f7f2b3cd40..91dff3870a 100644 --- a/wp-includes/js/tinymce/plugins/wordpress/plugin.js +++ b/wp-includes/js/tinymce/plugins/wordpress/plugin.js @@ -297,6 +297,8 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) { } else if ( env.ie < 8 ) { bodyClass.push('ie7'); } + } else if ( env.webkit ) { + bodyClass.push('webkit'); } bodyClass.push('wp-editor'); diff --git a/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js b/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js index 7ea7079617..df32e2c181 100644 --- a/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js +++ b/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js @@ -1 +1 @@ -tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,d,e,f=0;d="hide"===b,a.theme.panel&&(e=a.theme.panel.find(".toolbar:not(.menubar)")),!e||e.length<2||"hide"===b&&!e[1].visible()||(!b&&e[1].visible()&&(b="hide"),tinymce.each(e,function(a,c){c>0&&("hide"===b?(a.hide(),f+=30):(a.show(),f-=30))}),f&&!d&&(tinymce.Env.iOS||(c=a.getContentAreaContainer().firstChild,j.setStyle(c,"height",c.clientHeight+f)),"hide"===b?(setUserSetting("hidetb","0"),g&&g.active(!1)):(setUserSetting("hidetb","1"),g&&g.active(!0))))}function c(a){return a.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(a,b){return''+b+''})}function d(a){return a.replace(/]+>/g,function(a){if(-1!==a.indexOf('class="wp-oembed')){var b=a.match(/alt="([^\"]+)"/);b[1]&&(a="[embed]"+b[1]+"[/embed]")}return a})}function e(b,c){var d,e,f,g,h;f=a.dom.getViewPort(a.getWin()),d=j.getPos(a.getContentAreaContainer()),e=a.dom.getPos(b),g=Math.max(e.x-f.x,0)+d.x,h=Math.max(e.y-f.y,0)+d.y,j.setStyles(c,{top:h+5+"px",left:g+5+"px",display:"block"})}function f(){j.hide(j.select("#wp_editbtns, #wp_gallerybtns"))}var g,h,i,j=tinymce.DOM,k=0;return a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){g=this,g.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(a){a.content&&(-1!==a.content.indexOf("/g,function(a,b){return''})),-1!==a.content.indexOf("")&&(a.content=a.content.replace(//g,'')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/]+>/g,function(a){var b,c="";return-1!==a.indexOf("wp-more-tag")&&(-1!==a.indexOf("mce-wp-more")?((b=a.match(/data-wp-more="([^"]+)"/))&&(c=b[1]),a=""):-1!==a.indexOf("mce-wp-nextpage")&&(a="")),a}))}),a.on("ResolveName",function(b){var c=a.dom,d=b.target;"IMG"===d.nodeName&&c.hasClass(d,"wp-more-tag")&&(c.hasClass(d,"mce-wp-more")?b.name="more":c.hasClass(d,"mce-wp-nextpage")&&(b.name="nextpage"))}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,h=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"More...":"Next Page",d='',"BODY"===h.nodeName||"P"===h.nodeName&&"BODY"===h.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(h,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},a.getBody()),void(c&&("P"===c.nodeName?c.appendChild(g.create("p",null,d).firstChild):g.insertAfter(g.create("p",null,d),c),a.nodeChanged())))}),a.addCommand("WP_Code",function(){a.formatter.toggle("code")}),a.addCommand("WP_Page",function(){a.execCommand("WP_More","nextpage")}),a.addCommand("WP_Help",function(){a.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",title:"Keyboard Shortcuts",width:450,height:420,inline:1,classes:"wp-help"})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(i||(i=a.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),a.getDoc().head.appendChild(i))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&i&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(i)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;tinymce.Env.iOS&&e.addClass(d.documentElement,"ios"),"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie&&(9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7")),c.push("wp-editor"),tinymce.each(c,function(a){a&&e.addClass(d.body,a)}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/

\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),a.content=a.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,""))}),"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-init",[a]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&e.bind(d,"dragstart dragend dragover drop",function(a){"undefined"!=typeof window.jQuery&&window.jQuery(document).trigger(new window.jQuery.Event(a))})}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==k&&((13===c||8===k||46===k)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),k=c)}),a.on("SaveContent",function(b){return!a.inline&&a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/

(?:
|\u00a0|\uFEFF| )*<\/p>/g,"

 

"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/

(?: |\u00a0|\uFEFF| )+<\/p>/gi,"

"))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b"),tinymce.Env.iOS&&(a.settings.height=300)}),h="alt+shift",a.addShortcut(h+"+c","","JustifyCenter"),a.addShortcut(h+"+r","","JustifyRight"),a.addShortcut(h+"+l","","JustifyLeft"),a.addShortcut(h+"+j","","JustifyFull"),a.addShortcut(h+"+q","","mceBlockQuote"),a.addShortcut(h+"+u","","InsertUnorderedList"),a.addShortcut(h+"+o","","InsertOrderedList"),a.addShortcut(h+"+n","","mceSpellCheck"),a.addShortcut(h+"+s","","unlink"),a.addShortcut(h+"+m","","WP_Medialib"),a.addShortcut(h+"+z","","WP_Adv"),a.addShortcut(h+"+t","","WP_More"),a.addShortcut(h+"+d","","Strikethrough"),a.addShortcut(h+"+h","","WP_Help"),a.addShortcut(h+"+p","","WP_Page"),a.addShortcut(h+"+x","","WP_Code"),a.addShortcut("ctrl+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()}),a.on("init",function(){a.dom.bind(a.getWin(),"scroll",function(){f()}),a.dom.bind(a.getBody(),"dragstart",function(){f()})}),a.on("BeforeExecCommand",function(){f()}),a.on("SaveContent",function(){f()}),a.on("MouseDown",function(a){"IMG"!==a.target.nodeName&&f()}),a.on("keydown",function(a){(a.which===tinymce.util.VK.DELETE||a.which===tinymce.util.VK.BACKSPACE)&&f()}),{_showButtons:e,_hideButtons:f,_setEmbed:c,_getEmbed:d}}); \ No newline at end of file +tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,d,e,f=0;d="hide"===b,a.theme.panel&&(e=a.theme.panel.find(".toolbar:not(.menubar)")),!e||e.length<2||"hide"===b&&!e[1].visible()||(!b&&e[1].visible()&&(b="hide"),tinymce.each(e,function(a,c){c>0&&("hide"===b?(a.hide(),f+=30):(a.show(),f-=30))}),f&&!d&&(tinymce.Env.iOS||(c=a.getContentAreaContainer().firstChild,j.setStyle(c,"height",c.clientHeight+f)),"hide"===b?(setUserSetting("hidetb","0"),g&&g.active(!1)):(setUserSetting("hidetb","1"),g&&g.active(!0))))}function c(a){return a.replace(/\[embed\]([\s\S]+?)\[\/embed\][\s\u00a0]*/g,function(a,b){return''+b+''})}function d(a){return a.replace(/]+>/g,function(a){if(-1!==a.indexOf('class="wp-oembed')){var b=a.match(/alt="([^\"]+)"/);b[1]&&(a="[embed]"+b[1]+"[/embed]")}return a})}function e(b,c){var d,e,f,g,h;f=a.dom.getViewPort(a.getWin()),d=j.getPos(a.getContentAreaContainer()),e=a.dom.getPos(b),g=Math.max(e.x-f.x,0)+d.x,h=Math.max(e.y-f.y,0)+d.y,j.setStyles(c,{top:h+5+"px",left:g+5+"px",display:"block"})}function f(){j.hide(j.select("#wp_editbtns, #wp_gallerybtns"))}var g,h,i,j=tinymce.DOM,k=0;return a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){g=this,g.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(a){a.content&&(-1!==a.content.indexOf("/g,function(a,b){return''})),-1!==a.content.indexOf("")&&(a.content=a.content.replace(//g,'')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/]+>/g,function(a){var b,c="";return-1!==a.indexOf("wp-more-tag")&&(-1!==a.indexOf("mce-wp-more")?((b=a.match(/data-wp-more="([^"]+)"/))&&(c=b[1]),a=""):-1!==a.indexOf("mce-wp-nextpage")&&(a="")),a}))}),a.on("ResolveName",function(b){var c=a.dom,d=b.target;"IMG"===d.nodeName&&c.hasClass(d,"wp-more-tag")&&(c.hasClass(d,"mce-wp-more")?b.name="more":c.hasClass(d,"mce-wp-nextpage")&&(b.name="nextpage"))}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,h=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"More...":"Next Page",d='',"BODY"===h.nodeName||"P"===h.nodeName&&"BODY"===h.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(h,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},a.getBody()),void(c&&("P"===c.nodeName?c.appendChild(g.create("p",null,d).firstChild):g.insertAfter(g.create("p",null,d),c),a.nodeChanged())))}),a.addCommand("WP_Code",function(){a.formatter.toggle("code")}),a.addCommand("WP_Page",function(){a.execCommand("WP_More","nextpage")}),a.addCommand("WP_Help",function(){a.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",title:"Keyboard Shortcuts",width:450,height:420,inline:1,classes:"wp-help"})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(i||(i=a.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),a.getDoc().head.appendChild(i))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&i&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(i)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;tinymce.Env.iOS&&e.addClass(d.documentElement,"ios"),"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie?9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7"):b.webkit&&c.push("webkit"),c.push("wp-editor"),tinymce.each(c,function(a){a&&e.addClass(d.body,a)}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/

\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),a.content=a.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,""))}),"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-init",[a]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&e.bind(d,"dragstart dragend dragover drop",function(a){"undefined"!=typeof window.jQuery&&window.jQuery(document).trigger(new window.jQuery.Event(a))})}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==k&&((13===c||8===k||46===k)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),k=c)}),a.on("SaveContent",function(b){return!a.inline&&a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/

(?:
|\u00a0|\uFEFF| )*<\/p>/g,"

 

"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/

(?: |\u00a0|\uFEFF| )+<\/p>/gi,"

"))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b"),tinymce.Env.iOS&&(a.settings.height=300)}),h="alt+shift",a.addShortcut(h+"+c","","JustifyCenter"),a.addShortcut(h+"+r","","JustifyRight"),a.addShortcut(h+"+l","","JustifyLeft"),a.addShortcut(h+"+j","","JustifyFull"),a.addShortcut(h+"+q","","mceBlockQuote"),a.addShortcut(h+"+u","","InsertUnorderedList"),a.addShortcut(h+"+o","","InsertOrderedList"),a.addShortcut(h+"+n","","mceSpellCheck"),a.addShortcut(h+"+s","","unlink"),a.addShortcut(h+"+m","","WP_Medialib"),a.addShortcut(h+"+z","","WP_Adv"),a.addShortcut(h+"+t","","WP_More"),a.addShortcut(h+"+d","","Strikethrough"),a.addShortcut(h+"+h","","WP_Help"),a.addShortcut(h+"+p","","WP_Page"),a.addShortcut(h+"+x","","WP_Code"),a.addShortcut("ctrl+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()}),a.on("init",function(){a.dom.bind(a.getWin(),"scroll",function(){f()}),a.dom.bind(a.getBody(),"dragstart",function(){f()})}),a.on("BeforeExecCommand",function(){f()}),a.on("SaveContent",function(){f()}),a.on("MouseDown",function(a){"IMG"!==a.target.nodeName&&f()}),a.on("keydown",function(a){(a.which===tinymce.util.VK.DELETE||a.which===tinymce.util.VK.BACKSPACE)&&f()}),{_showButtons:e,_hideButtons:f,_setEmbed:c,_getEmbed:d}}); \ No newline at end of file diff --git a/wp-includes/js/tinymce/skins/wordpress/wp-content.css b/wp-includes/js/tinymce/skins/wordpress/wp-content.css index e55bdabe09..ec5182cb55 100644 --- a/wp-includes/js/tinymce/skins/wordpress/wp-content.css +++ b/wp-includes/js/tinymce/skins/wordpress/wp-content.css @@ -17,6 +17,13 @@ body { margin: 10px; } +/* When font-weight is different than the default browser style, +Chrome and Safari replace and with spans with inline styles on pasting?! */ +body.webkit strong, +body.webkit b { + font-weight: bold !important; +} + /* DFW mode */ html.wp-fullscreen, html.wp-fullscreen body { diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz index c1d35062fa162456097fe9eae388cad9600f1044..f7fb3aa4e2bc92bfe7560373746d3d8f864ff66d 100644 GIT binary patch delta 7916 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 P&Dj4BE1l7zA;$#(ctm8p