diff --git a/src/wp-includes/css/editor.css b/src/wp-includes/css/editor.css
index b35a1a8e4d..3f89381c4c 100644
--- a/src/wp-includes/css/editor.css
+++ b/src/wp-includes/css/editor.css
@@ -2,12 +2,13 @@
TinyMCE and Quicklinks toolbars
------------------------------------------------------------------------------*/
-.mce-panel {
+div.mce-panel {
border: 0;
background: #fff;
+ filter: none;
}
-.mce-toolbar-grp {
+div.mce-toolbar-grp {
border-bottom: 1px solid #dedede;
background: #f5f5f5;
}
@@ -40,6 +41,7 @@
margin: 0 1px;
-webkit-border-radius: 2px;
border-radius: 2px;
+ filter: none;
}
#wp-fullscreen-buttons .mce-btn:hover,
@@ -107,37 +109,37 @@
color: #333;
}
-.mce-i-bold,
-.mce-i-italic,
-.mce-i-bullist,
-.mce-i-numlist,
-.mce-i-blockquote,
-.mce-i-alignleft,
-.mce-i-aligncenter,
-.mce-i-alignright,
-.mce-i-link,
-.mce-i-unlink,
-.mce-i-wp_more,
-.mce-i-strikethrough,
-.mce-i-spellchecker,
-.mce-i-fullscreen,
-.mce-i-wp_fullscreen,
-.mce-i-wp_adv,
-.mce-i-underline,
-.mce-i-alignjustify,
-.mce-i-forecolor,
-.mce-i-pastetext,
-.mce-i-pasteword,
-.mce-i-removeformat,
-.mce-i-charmap,
-.mce-i-outdent,
-.mce-i-indent,
-.mce-i-undo,
-.mce-i-redo,
-.mce-i-help,
-.mce-i-wp_help,
-.mce-i-wp-media-library,
-.mce-i-ltr {
+i.mce-i-bold,
+i.mce-i-italic,
+i.mce-i-bullist,
+i.mce-i-numlist,
+i.mce-i-blockquote,
+i.mce-i-alignleft,
+i.mce-i-aligncenter,
+i.mce-i-alignright,
+i.mce-i-link,
+i.mce-i-unlink,
+i.mce-i-wp_more,
+i.mce-i-strikethrough,
+i.mce-i-spellchecker,
+i.mce-i-fullscreen,
+i.mce-i-wp_fullscreen,
+i.mce-i-wp_adv,
+i.mce-i-underline,
+i.mce-i-alignjustify,
+i.mce-i-forecolor,
+i.mce-i-pastetext,
+i.mce-i-pasteword,
+i.mce-i-removeformat,
+i.mce-i-charmap,
+i.mce-i-outdent,
+i.mce-i-indent,
+i.mce-i-undo,
+i.mce-i-redo,
+i.mce-i-help,
+i.mce-i-wp_help,
+i.mce-i-wp-media-library,
+i.mce-i-ltr {
font: normal 20px/1 'dashicons';
padding: 0;
vertical-align: top;
@@ -146,116 +148,117 @@
-moz-osx-font-smoothing: grayscale;
}
-.mce-i-bold:before {
+i.mce-i-bold:before {
content: '\f200';
}
-.mce-i-italic:before {
+i.mce-i-italic:before {
content: '\f201';
}
-.mce-i-bullist:before {
+i.mce-i-bullist:before {
content: '\f203';
}
-.mce-i-numlist:before {
+i.mce-i-numlist:before {
content: '\f204';
}
-.mce-i-blockquote:before {
+i.mce-i-blockquote:before {
content: '\f205';
}
-.mce-i-alignleft:before {
+i.mce-i-alignleft:before {
content: '\f206';
}
-.mce-i-aligncenter:before {
+i.mce-i-aligncenter:before {
content: '\f207';
}
-.mce-i-alignright:before {
+i.mce-i-alignright:before {
content: '\f208';
}
-.mce-i-link:before {
+i.mce-i-link:before {
content: '\f103';
}
-.mce-i-unlink:before {
+i.mce-i-unlink:before {
content: '\f225';
}
-.mce-i-wp_more:before {
+i.mce-i-wp_more:before {
content: '\f209';
}
-.mce-i-strikethrough:before {
+i.mce-i-strikethrough:before {
content: '\f224';
}
-.mce-i-spellchecker:before {
+i.mce-i-spellchecker:before {
content: '\f210';
}
-.mce-i-fullscreen:before,
-.mce-i-wp_fullscreen:before {
+i.mce-i-fullscreen:before,
+i.mce-i-wp_fullscreen:before {
content: '\f211';
}
-.mce-i-wp_adv:before {
+i.mce-i-wp_adv:before {
content: '\f212';
}
-.mce-i-underline:before {
+
+i.mce-i-underline:before {
content: '\f213';
}
-.mce-i-alignjustify:before {
+i.mce-i-alignjustify:before {
content: '\f214';
}
-.mce-i-forecolor:before {
+i.mce-i-forecolor:before {
content: '\f215';
}
-.mce-i-pastetext:before {
+i.mce-i-pastetext:before {
content: '\f217';
}
-.mce-i-removeformat:before {
+i.mce-i-removeformat:before {
content: '\f218';
}
-.mce-i-charmap:before {
+i.mce-i-charmap:before {
content: '\f220';
}
-.mce-i-outdent:before {
+i.mce-i-outdent:before {
content: '\f221';
}
-.mce-i-indent:before {
+i.mce-i-indent:before {
content: '\f222';
}
-.mce-i-undo:before {
+i.mce-i-undo:before {
content: '\f171';
}
-.mce-i-redo:before {
+i.mce-i-redo:before {
content: '\f172';
}
-.mce-i-help:before,
-.mce-i-wp_help:before {
+i.mce-i-help:before,
+i.mce-i-wp_help:before {
content: '\f223';
}
-.mce-i-wp-media-library:before {
+i.mce-i-wp-media-library:before {
content: '\f104';
}
-.mce-i-ltr:before {
+i.mce-i-ltr:before {
content: '\f320';
}
@@ -299,8 +302,7 @@
box-shadow: none;
}
-.quicktags-toolbar,
-.wp_themeSkin tr.mceFirst td.mceToolbar {
+.quicktags-toolbar {
border-bottom: 1px solid #dedede;
background: #f5f5f5;
}
diff --git a/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js b/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js
index 4cf15899b1..1fe5aae93e 100644
--- a/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js
+++ b/src/wp-includes/js/tinymce/plugins/wordpress/plugin.js
@@ -4,10 +4,14 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
last = 0;
function toggleToolbars( state ) {
- var iframe,
- pixels = 0,
- initial = state === 'hide',
- toolbars = editor.theme.panel && editor.theme.panel.find('.toolbar');
+ var iframe, initial, toolbars,
+ pixels = 0;
+
+ initial = ( state === 'hide' );
+
+ if ( editor.theme.panel ) {
+ toolbars = editor.theme.panel.find('.toolbar');
+ }
if ( ! toolbars || toolbars.length < 2 || ( state === 'hide' && ! toolbars[1].visible() ) ) {
return;
diff --git a/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js b/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
index 0c244b1a3f..1bc5a6cfeb 100644
--- a/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
+++ b/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
@@ -49,6 +49,11 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
function getShortcode( content ) {
return content.replace( /
]*>([\s\S]+?)<\/div>/g, function( a, b ) {
+ if ( b.indexOf('
]+)>\s*
]+>([\s\S]+?)<\/dt>\s*]+>([\s\S]*?)<\/dd>\s*<\/dl>/gi, function( a, b, c, cap ) {
var id, cls, w;
@@ -129,7 +134,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
captionId = '',
captionAlign = '',
captionWidth = '',
- wrap, parent, html, P, imgId;
+ wrap, parent, node, html, imgId;
// Temp image id so we can find the node later
data.id = '__wp-temp-img-id';
@@ -178,7 +183,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
}
if ( parent && parent.nodeName === 'P' ) {
- wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
+ wrap = dom.create( 'div', { 'class': 'mceTemp', 'draggable': 'true' }, html );
dom.insertAfter( wrap, parent );
editor.selection.select( wrap );
editor.nodeChanged();
@@ -187,7 +192,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
dom.remove( parent );
}
} else {
- editor.selection.setContent( '' + html + '
' );
+ editor.selection.setContent( '' + html + '
' );
}
} else {
editor.selection.setContent( html );
@@ -244,7 +249,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
''+ html +''+ caption +'';
if ( parent = dom.getParent( imgNode, 'p' ) ) {
- wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
+ wrap = dom.create( 'div', { 'class': 'mceTemp', 'draggable': 'true' }, html );
dom.insertAfter( wrap, parent );
editor.selection.select( wrap );
editor.nodeChanged();
@@ -256,7 +261,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
dom.remove( parent );
}
} else {
- editor.selection.setContent( '
' + html + '
' );
+ editor.selection.setContent( '
' + html + '
' );
}
}
} else {
@@ -284,7 +289,7 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
editor.on( 'wpLoadImageData', function( e ) {
var parent,
- data = e.imgData.data
+ data = e.imgData.data,
imgNode = e.imgData.node;
if ( parent = dom.getParent( imgNode, 'dl.wp-caption' ) ) {
diff --git a/src/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js b/src/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
index f8d5159530..8865bef142 100644
--- a/src/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
+++ b/src/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js
@@ -10,11 +10,10 @@ tinymce.PluginManager.add( 'wpfullscreen', function( editor ) {
var deltaSize, myHeight,
d = editor.getDoc(),
body = d.body,
- de = d.documentElement,
- DOM = tinymce.DOM
+ DOM = tinymce.DOM,
resizeHeight = 250;
- if ( ( e && e.type == 'setcontent' && e.initial ) || editor.settings.inline ) {
+ if ( ( e && e.type === 'setcontent' && e.initial ) || editor.settings.inline ) {
return;
}
diff --git a/src/wp-includes/js/tinymce/plugins/wpgallery/plugin.js b/src/wp-includes/js/tinymce/plugins/wpgallery/plugin.js
index fd23c9bcb3..df2e8fca74 100644
--- a/src/wp-includes/js/tinymce/plugins/wpgallery/plugin.js
+++ b/src/wp-includes/js/tinymce/plugins/wpgallery/plugin.js
@@ -1,5 +1,5 @@
/* global tinymce */
-tinymce.PluginManager.add('wpgallery', function( editor, url ) {
+tinymce.PluginManager.add('wpgallery', function( editor ) {
function parseGallery( content ) {
return content.replace( /\[gallery([^\]]*)\]/g, function( match, attr ) {
@@ -69,7 +69,7 @@ tinymce.PluginManager.add('wpgallery', function( editor, url ) {
});
*/
editor.on( 'mouseup', function( e ) {
- if ( e.target.nodeName == 'IMG' && editor.dom.hasClass( e.target, 'wp-gallery' ) ) {
+ if ( e.target.nodeName === 'IMG' && editor.dom.hasClass( e.target, 'wp-gallery' ) ) {
// Don't trigger on right-click
if ( e.button !== 2 ) {
if ( editor.dom.hasClass( e.target, 'wp-gallery-selected' ) ) {
diff --git a/src/wp-includes/js/tinymce/plugins/wpview/plugin.js b/src/wp-includes/js/tinymce/plugins/wpview/plugin.js
index c2ec6925ec..0c56ecba1f 100644
--- a/src/wp-includes/js/tinymce/plugins/wpview/plugin.js
+++ b/src/wp-includes/js/tinymce/plugins/wpview/plugin.js
@@ -13,8 +13,9 @@
var wpView = this;
// Check if the `wp.mce` API exists.
- if ( typeof wp === 'undefined' || ! wp.mce )
+ if ( typeof wp === 'undefined' || ! wp.mce ) {
return;
+ }
editor.on( 'PreInit', function() {
// Add elements so we can set `contenteditable` to false.
@@ -26,8 +27,9 @@
// view wrappers. Since the editor's DOM is outdated at this point,
// we'll wait to render the views.
editor.on( 'BeforeSetContent', function( e ) {
- if ( ! e.content )
+ if ( ! e.content ) {
return;
+ }
e.content = wp.mce.view.toViews( e.content );
});
@@ -42,13 +44,14 @@
var selection = editor.selection;
// When a view is selected, ensure content that is being pasted
// or inserted is added to a text node (instead of the view).
- editor.on( 'BeforeSetContent', function( e ) {
+ editor.on( 'BeforeSetContent', function() {
var walker, target,
view = wpView.getParentView( selection.getNode() );
// If the selection is not within a view, bail.
- if ( ! view )
+ if ( ! view ) {
return;
+ }
// If there are no additional nodes or the next node is a
// view, create a text node after the current view.
@@ -72,13 +75,15 @@
//
// Runs on paste and on inserting nodes/html.
editor.on( 'SetContent', function( e ) {
- if ( ! e.context )
+ if ( ! e.context ) {
return;
+ }
var node = selection.getNode();
- if ( ! node.innerHTML )
+ if ( ! node.innerHTML ) {
return;
+ }
node.innerHTML = wp.mce.view.toViews( node.innerHTML );
wp.mce.view.render( node );
@@ -88,8 +93,9 @@
// When the editor's contents are being accessed as a string,
// transform any views back to their text representations.
editor.on( 'PostProcess', function( e ) {
- if ( ( ! e.get && ! e.save ) || ! e.content )
+ if ( ( ! e.get && ! e.save ) || ! e.content ) {
return;
+ }
e.content = wp.mce.view.toText( e.content );
});
@@ -97,7 +103,7 @@
// Triggers when the selection is changed.
// Add the event handler to the top of the stack.
editor.on( 'NodeChange', function( e ) {
- var view = wpView.getParentView( node );
+ var view = wpView.getParentView( e.element );
// Update the selected view.
if ( view ) {
@@ -117,12 +123,13 @@
view, instance;
// If a view isn't selected, let the event go on its merry way.
- if ( ! selected )
+ if ( ! selected ) {
return;
+ }
// If the caret is not within the selected view, deselect the
// view and bail.
- view = wpView.getParentView( selection.getNode() );
+ view = wpView.getParentView( editor.selection.getNode() );
if ( view !== selected ) {
wpView.deselect();
return;
@@ -138,8 +145,9 @@
// Let keypresses that involve the command or control keys through.
// Also, let any of the F# keys through.
- if ( event.metaKey || event.ctrlKey || ( keyCode >= 112 && keyCode <= 123 ) )
+ if ( event.metaKey || event.ctrlKey || ( keyCode >= 112 && keyCode <= 123 ) ) {
return;
+ }
event.preventDefault();
});
@@ -147,8 +155,9 @@
getParentView : function( node ) {
while ( node ) {
- if ( this.isView( node ) )
+ if ( this.isView( node ) ) {
return node;
+ }
node = node.parentNode;
}
@@ -159,8 +168,9 @@
},
select : function( view ) {
- if ( view === selected )
+ if ( view === selected ) {
return;
+ }
this.deselect();
selected = view;
@@ -168,8 +178,10 @@
},
deselect : function() {
- if ( selected )
+ if ( selected ) {
wp.mce.view.deselect( selected );
+ }
+
selected = null;
}
});
diff --git a/src/wp-includes/js/tinymce/skins/wordpress/wp-content.css b/src/wp-includes/js/tinymce/skins/wordpress/wp-content.css
index a7e1aae054..92e1f35369 100644
--- a/src/wp-includes/js/tinymce/skins/wordpress/wp-content.css
+++ b/src/wp-includes/js/tinymce/skins/wordpress/wp-content.css
@@ -50,8 +50,12 @@ dl.aligncenter {
border: 0 none;
}
-.wp-caption img,
-.wp-caption a {
+div.mceTemp {
+ -ms-user-select: element;
+}
+
+dl.wp-caption,
+dl.wp-caption * {
-webkit-user-drag: none;
}