Index: wp-includes/images/wpicons-2x.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: wp-includes/images/wpicons.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: wp-includes/css/editor.css
===================================================================
--- wp-includes/css/editor.css	(revision 23482)
+++ wp-includes/css/editor.css	(working copy)
@@ -388,7 +388,8 @@
 .wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,
 .wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,
 .wp_themeSkin .mceSplitButton span.mce_numlist,
-.wp_themeSkin .mceSplitButton span.mce_bullist {
+.wp_themeSkin .mceSplitButton span.mce_bullist,
+.fullscreen-mode span.mce_wp_fullscreen {
 	background-image: url('../images/wpicons.png?ver=20120720');
 }
 
@@ -704,13 +705,15 @@
 .wp_themeSkin .mce_forecolorpicker {background-position:-320px -20px}
 
 /* Plugins in WP */
-.wp_themeSkin span.mce_fullscreen {background-position:-240px -20px}
+.wp_themeSkin span.mce_fullscreen,  {background-position:-240px -20px}
 .wp_themeSkin .mceButtonEnabled:hover span.mce_fullscreen,
 .wp_themeSkin .mceButtonActive span.mce_fullscreen {background-position:-240px 0}
 
-.wp_themeSkin span.mce_wp_fullscreen {background-position:-240px -20px}
+.wp_themeSkin span.mce_wp_fullscreen, .fullscreen-mode span.mce_wp_fullscreen {background-position:-240px -20px}
 .wp_themeSkin .mceButtonEnabled:hover span.mce_wp_fullscreen,
-.wp_themeSkin .mceButtonActive span.mce_wp_fullscreen {background-position:-240px 0}
+.wp_themeSkin .mceButtonActive span.mce_wp_fullscreen,
+.fullscreen-mode span.mce_wp_fullscreen:hover {background-position:-240px 0}
+.fullscreen-view .fullscreen-mode span.mce_wp_fullscreen {background-position:-560px -20px}
 
 .wp_themeSkin span.mce_media {background-position:-400px -20px}
 .wp_themeSkin .mceButtonEnabled:hover span.mce_media,
@@ -1168,6 +1171,48 @@
 	background-color: #ccc;
 }
 
+.fullscreen-mode {
+	position: absolute;
+	right: 8px;
+	top: 3px;
+	display: block;
+	width: 20px;
+	height: 20px;
+	cursor: default;
+	padding: 1px 2px;
+	margin: 1px;
+	-webkit-border-radius: 2px;
+	border-radius: 2px;
+	border-style: solid;
+	border-width: 1px;
+	border-color: transparent;
+}
+
+.fullscreen-mode:hover {
+	background: #eee;
+	background-image: -webkit-gradient(linear, left bottom, left top, from(#e5e5e5), to(#fff));
+	background-image: -webkit-linear-gradient(bottom, #e5e5e5, #fff);
+	background-image:    -moz-linear-gradient(bottom, #e5e5e5, #fff);
+	background-image:      -o-linear-gradient(bottom, #e5e5e5, #fff);
+	background-image: linear-gradient(to top, #e5e5e5, #fff);
+	border-color: #bbb;
+}
+
+.fullscreen-mode span.mce_wp_fullscreen {
+	display: block;
+	height: 20px;
+	width: 20px;
+}
+
+.rtl .fullscreen-mode {
+	left: 8px;
+	right: auto;
+}
+
+.no-js .fullscreen-mode {
+	display: none;
+}
+
 /*------------------------------------------------------------------------------
  wp-link
 ------------------------------------------------------------------------------*/
@@ -1432,7 +1477,7 @@
  *
  * http://docs.jquery.com/UI/Dialog#theming
  */
-.wp-dialog { position: absolute; width: 300px; overflow: hidden; }
+.wp-dialog { position: absolute; width: 300px; overflow: hidden; z-index: 150001 }
 .wp-dialog .ui-dialog-titlebar { position: relative; }
 .wp-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
 .wp-dialog .ui-dialog-content { position: relative; border: 0; padding: 0; background: none; overflow: auto; zoom: 1; }
@@ -2071,9 +2116,10 @@
 	.wp_themeSkin .mceSplitButton .mce_spellchecker span.mce_spellchecker,
 	.wp_themeSkin .mceSplitButton .mce_forecolor span.mce_forecolor,
 	.wp_themeSkin .mceSplitButton span.mce_numlist,
-	.wp_themeSkin .mceSplitButton span.mce_bullist {
+	.wp_themeSkin .mceSplitButton span.mce_bullist,
+	.fullscreen-mode span.mce_wp_fullscreen {
 		background-image: url('../images/wpicons-2x.png?ver=20120720');
-		background-size: 560px 40px;
+		background-size: 582px 40px;
 	}
 
 	.wp-media-buttons .add_media span.wp-media-buttons-icon,
Index: wp-includes/class-wp-editor.php
===================================================================
--- wp-includes/class-wp-editor.php	(revision 23482)
+++ wp-includes/class-wp-editor.php	(working copy)
@@ -142,7 +142,7 @@
 			echo "</div>\n";
 		}
 
-		$the_editor = apply_filters('the_editor', '<div id="wp-' . $editor_id . '-editor-container" class="wp-editor-container"><textarea' . $editor_class . $height . $tabindex . ' cols="40" name="' . $set['textarea_name'] . '" id="' . $editor_id . '">%s</textarea></div>');
+		$the_editor = apply_filters('the_editor', '<div id="wp-' . $editor_id . '-editor-container" class="wp-editor-container"><a role="button" href="#" class="mceButton mceButtonEnabled fullscreen-mode" aria-labelledby="content_wp_fullscreen_voice" title="Distraction Free Writing mode (Alt + Shift + W)" tabindex="-1"><span  class="mceIcon mce_wp_fullscreen"></span><span class="mceVoiceLabel mceIconOnly" style="display: none;" id="content_wp_fullscreen_voice">Distraction Free Writing mode (Alt + Shift + W)</span></a><textarea' . $editor_class . $height . $tabindex . ' cols="40" name="' . $set['textarea_name'] . '" id="' . $editor_id . '">%s</textarea></div>');
 		$content = apply_filters('the_editor_content', $content);
 
 		printf($the_editor, $content);
Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 23482)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -1379,7 +1379,7 @@
 	global $wp_list_table;
 
 	check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' );
-	
+
 	$post_data = wp_unslash( $_POST );
 
 	$taxonomy = sanitize_key( $post_data['taxonomy'] );
@@ -1762,7 +1762,7 @@
 		$last_edited = sprintf( __('Last edited on %1$s at %2$s'), $last_date, $last_time );
 	}
 
-	echo json_encode( array( 'message' => $message, 'last_edited' => $last_edited ) );
+	echo json_encode( array( 'id' => $post_id, 'message' => $message, 'last_edited' => $last_edited ) );
 	wp_die();
 }
 
Index: wp-admin/js/wp-fullscreen.js
===================================================================
--- wp-admin/js/wp-fullscreen.js	(revision 23482)
+++ wp-admin/js/wp-fullscreen.js	(working copy)
@@ -1,3 +1,222 @@
+if ( ! window.WP ) { window.WP = {}; }
+WP.Fullscreen = function ( $ ) {
+	var fadeOut,
+		isRtl = ( $( 'body' ).hasClass( 'rtl' ) ),
+		mouseMovePause = false
+		oldheight = 0,
+		postBodyContent = $( '#wp-content-wrap' ),
+		sidePostbox = $( '#postbox-container-1' ),
+		textAreaResizePause = false,
+		titleBox = $( '#titlediv' ),
+		titleBoxHeight = titleBox.height();
+
+	function clearFadeOut () {
+		clearTimeout(fadeOut);
+		fadeOut = 0;
+	}
+	function editorEventsOff () {
+		if ( typeof tinymce != 'undefined' && tinymce.activeEditor ) {
+			tinymce.activeEditor.dom.unbind( tinymce.activeEditor.dom.doc, 'mousemove' );
+			tinymce.activeEditor.dom.unbind( tinymce.activeEditor.dom.doc, 'mouseleave' );
+			tinymce.activeEditor.dom.unbind( tinymce.activeEditor.dom.doc, 'click' );
+			tinymce.activeEditor.dom.unbind( tinymce.activeEditor.dom.doc, 'keypress' );
+			window.tinyMCE.activeEditor.dom.setStyle(window.tinyMCE.activeEditor.dom.select('body'), 'overflow', 'auto' );
+			window.tinyMCE.activeEditor.dom.setStyle(window.tinyMCE.activeEditor.dom.select('body'), 'height', '300px' );
+			$( '#content_ifr' ).css( 'height', '300px' );
+		}
+		$( '#content' ).off( 'mousemove mouseleave click' ).css( 'height', '300px' );
+		$( document ).off( 'keydown' );
+	}
+	function editorEventsOn () {
+		editorEventsOff();
+
+		// Give tinymce.activeEditor a chance to set
+		setTimeout(function () {
+			if ( typeof tinymce != 'undefined' && tinymce.activeEditor ) {
+				tinymce.activeEditor.dom.bind( tinymce.activeEditor.dom.doc, 'mousemove', function( e ){
+					fadeInThrottle();
+					fadeOutFullscreen();
+				});
+				tinymce.activeEditor.dom.bind( tinymce.activeEditor.dom.doc, 'mouseleave', function( e ){
+					clearFadeOut();
+				});
+				tinymce.activeEditor.dom.bind( tinymce.activeEditor.dom.doc, 'click', function( e ){
+					fadeOutFullscreen();
+				});
+				tinymce.activeEditor.dom.bind( tinymce.activeEditor.dom.doc, 'keydown', function( e ){
+					if ( 27 === e.keyCode ) {
+						fadeInFullscreen();
+						hideFullscreenMode();
+						return;
+					}
+					resizeEditor( $( tinymce.activeEditor.dom.doc ).find( 'body' ), 'visual' );
+				});
+				window.tinyMCE.activeEditor.dom.setStyle(window.tinyMCE.activeEditor.dom.select('body'), 'overflow', 'hidden' );
+			}
+			$( '#content' ).on( 'mousemove', function () {
+				fadeInThrottle();
+				fadeOutFullscreen();
+			}).on( 'mouseleave', function () {
+				clearFadeOut();
+			}).on( 'click', function () {
+				fadeOutFullscreen();
+			}).on( 'keypress paste', function () {
+				setTimeout( function () { resizeEditor( $( '#content' ), 'text' ); }, 30);
+			}).css( 'overflow', 'hidden' );
+			editorSetFocus();
+			// Exit with esc key
+			$( document ).on( 'keydown', function ( e ) {
+				if ( 27 !== e.keyCode )
+					return;
+				fadeInFullscreen();
+				hideFullscreenMode();
+			});
+		}, 300);
+	}
+	function editorSetFocus () {
+		if ( typeof tinymce != 'undefined' && tinymce.activeEditor )
+			tinymce.activeEditor.focus();
+		else
+			$( '#content' ).focus();
+	}
+	function fadeInFullscreen() {
+		$( '#wp-content-editor-tools, #edit-slug-box, .mceToolbar, .quicktags-toolbar, .fullscreen-mode, .mceStatusbar, #postbox-container-1, #post-status-info, #content-resize-handle' ).css( { opacity: 100 } );
+		$( '.wp-editor-container' ).css( { borderColor: '#ccc #ccc #dfdfdf' } );
+	}
+	function fadeInThrottle () {
+		if ( ! mouseMovePause ) {
+			mouseMovePause = true;
+			fadeInFullscreen();
+			setTimeout( function () { mouseMovePause = false; }, 300 )
+		}
+	}
+	function fadeOutFullscreen () {
+		clearFadeOut();
+		fadeOut = setTimeout(function() {
+			$( '#wp-content-editor-tools, #edit-slug-box, .mceToolbar, .quicktags-toolbar, .fullscreen-mode, .mceStatusbar, #postbox-container-1, #post-status-info, #content-resize-handle' ).animate( { opacity: 0 }, 600 );
+			$( '.wp-editor-container' ).animate( { borderColor: '#fff' }, 600 );
+		}, 1000);
+	}
+	function hideFullscreenMode () {
+		$( '#hiddenaction' ).val( 'editpost' );
+		$( '#fullscreen-overlay' ).fadeOut( 'slow' );
+		$( 'body' ).removeClass( 'fullscreen-view' );
+		$( 'html' ).animate( { marginTop: 0 }, 500 );
+		titleBox.animate( { maxHeight: titleBoxHeight + 'px', marginBottom: '10px' }, 500 );
+		postBodyContent.css( { 'position': 'relative' } );
+		sidePostbox.css( { 'position': 'relative', 'opacity': 100 } ).off( 'mouseenter mouseleave' );
+		// Has to happen after the HTML margin animation, else the screen jumps
+		setTimeout(function() {
+			postBodyContent.css( { 'zIndex': 999 } );
+			sidePostbox.css( { 'zIndex': 999 } );
+			$( '#wpbody-content' ).css( 'overflow','hidden' );
+		}, 600);
+		$( '#formatdiv, #categorydiv, #tagsdiv-post_tag' ).show();
+		$( '#misc-publishing-actions, #major-publishing-actions' ).slideDown();
+		$( '#minor-publishing' ).css( 'border-bottom-color', '#dfdfdf' );
+		$( '#minor-publishing-actions' ).css( 'marginBottom', '0' );
+		// Use visiblity here vs. display - prevents jump in transition when scrollbars disappear
+		$( '#postbox-container-2' ).css( 'visibility', 'visible' );
+		clearFadeOut();
+		$( '.fullscreen-mode .mce_wp_fullscreen' ).css( 'background-position', '-240px -20px' );
+		$( '#wp-content-wrap, #submitdiv' ).off('mouseenter mouseleave');
+		$( '.wp-switch-editor' ).off( 'click' );
+		editorSetFocus();
+		$( '.fullscreen-view #save-post' ).off( 'click' );
+		$( '.fullscreen-view #post' ).off( 'submit' );
+		$( '#content' ).off( 'keypress paste' );
+		editorEventsOff();
+	}
+	function resizeEditor ( txt, type ) {
+		var newheight,
+			scrollHeight = txt.prop( 'scrollHeight' ),
+			newheight = scrollHeight > 300 ? scrollHeight : 300;
+
+		if ( ! textAreaResizePause && newheight - 30 != oldheight ) {
+			textAreaResizePause = true
+			var heightVal = newheight + 30 + 'px';
+
+			if ( 'visual' === type ) {
+				$( '#content_ifr' ).css( 'height', heightVal );
+				window.tinyMCE.activeEditor.dom.setStyle(window.tinyMCE.activeEditor.dom.select('body'), 'height', heightVal );
+			} else {
+				txt.css( 'height', heightVal );
+			}
+			oldheight = newheight;
+
+			// Throttle resize attempts
+			setTimeout( function () { textAreaResizePause = false; }, 1000 )
+		}
+	}
+	function saveDraft () {
+		$( '#hiddenaction' ).val( 'wp-fullscreen-save-post' );
+		$.post( ajaxurl, $( 'form#post' ).serialize(), function( r ){
+			$( '#minor-publishing-actions .spinner' ).hide();
+			$( '#save-post' ).removeClass( 'button-disabled' );
+			$( '#publish' ).removeClass( 'button-primary-disabled' );
+
+			$( '#last-edit' ).html( r.last_edited );
+
+			if ( window.history )
+				window.history.replaceState({}, 'Saved Draft', 'post.php?post=' + r.id + '&action=edit');
+		}, 'json' );
+	}
+	function showFullscreenMode () {
+		$( '#fullscreen-overlay' ).fadeIn( 'fast' );
+		$( 'body' ).addClass( 'fullscreen-view' );
+		$( 'html' ).animate( { marginTop: $( '#post-body' ).offset().top * -1 + 20 + 'px' }, 400 );
+		titleBox.animate( { maxHeight: 0, marginBottom: 0 }, 300 );
+		postBodyContent.css( { 'position': 'absolute', 'zIndex': 150000 } );
+		if ( isRtl )
+			sidePostbox.css( { 'position': 'absolute', 'zIndex': 150000, 'left': 0 } );
+		else
+			sidePostbox.css( { 'position': 'absolute', 'zIndex': 150000, 'right': 0 } );
+		$( '#wpbody-content' ).css( 'overflow','visible' );
+		$( '#formatdiv, #categorydiv, #tagsdiv-post_tag' ).hide();
+		$( '#misc-publishing-actions, #major-publishing-actions' ).slideUp();
+		$( '#minor-publishing' ).css( 'border-bottom-color', 'transparent' );
+		$( '#minor-publishing-actions' ).css( 'marginBottom', '10px' );
+		// Use visiblity here vs. display - prevents jump in transition when scrollbars disappear
+		$( '#postbox-container-2' ).css( 'visibility', 'hidden' );
+		fadeOutFullscreen();
+		$( '.fullscreen-mode .mce_wp_fullscreen' ).css( 'background-position', '-560px -20px' );
+		$( '#wp-content-wrap, #submitdiv' ).on( 'mouseover', function () {
+			clearFadeOut();
+			fadeInThrottle();
+		}).mouseleave( function () {
+			fadeOutFullscreen();
+		});
+		// Attach events when visual or text tabs are clicked
+		$( '.wp-switch-editor' ).on( 'click', function () {
+			editorEventsOn();
+		});
+		// Catch Save Draft click event
+		$( '.fullscreen-view #save-post' ).on( 'click', function ( e ) {
+			saveDraft();
+			e.preventDefault();
+		});
+		editorEventsOn();
+		// Resize text areas
+		if ( window.tinymce.activeEditor )
+			resizeEditor( $( window.tinymce.activeEditor.dom.doc ).find( 'body' ), 'visual' );
+		resizeEditor( $( '#content' ), 'text' );
+	}
+	return {
+		init: function () {
+			$( '.fullscreen-mode' ).click( function () {
+				if ( $( '#fullscreen-overlay' ).is( ':visible' ) )
+					hideFullscreenMode();
+				else
+					showFullscreenMode();
+				return false;
+			});
+			// Move #post-status-info inside #wp-content-wrap
+			$( '#post-status-info' ).detach().appendTo( '#wp-content-wrap' );
+		}
+	}
+} (jQuery);
+WP.Fullscreen.init();
+
 /**
  * PubSub
  *
Index: wp-admin/css/wp-admin.css
===================================================================
--- wp-admin/css/wp-admin.css	(revision 23482)
+++ wp-admin/css/wp-admin.css	(working copy)
@@ -2001,8 +2001,17 @@
 
 #poststuff #post-body {
 	padding: 0;
+	position: relative;
 }
 
+#postdivrich, {
+	position: relative;
+}
+
+#wp-content-wrap {
+	width: 100%;
+}
+
 #post-body-content {
 	width: 100%;
 	float: left;
@@ -2978,6 +2987,7 @@
 
 #titlediv div.inside {
 	margin: 0;
+	max-height: 23px;
 }
 
 #poststuff #titlewrap {
@@ -2993,8 +3003,7 @@
 	outline: none;
 }
 
-#titlediv #title-prompt-text,
-#wp-fullscreen-title-prompt-text {
+#titlediv #title-prompt-text {
 	color: #bbb;
 	position: absolute;
 	font-size: 1.7em;
@@ -3346,6 +3355,7 @@
 	cursor: se-resize;
 	position: absolute;
 	right: 2px;
+	bottom: 3px;
 	height: 19px;
 }
 
@@ -7912,6 +7922,10 @@
 	width: 300px;
 }
 
+.wp-editor-container {
+	position: relative;
+}
+
 /* theme-editor */
 .alignleft h3 {
 	margin: 0;
