Index: wp-admin/includes/class-wp-posts-list-table.php
===================================================================
--- wp-admin/includes/class-wp-posts-list-table.php	(revision 18660)
+++ wp-admin/includes/class-wp-posts-list-table.php	(working copy)
@@ -988,6 +988,25 @@
 
 			</div>
 
+	<?php if ( post_type_supports( $screen->post_type, 'post-formats' ) && current_theme_supports( 'post-formats' ) ) : 
+		$post_formats = get_theme_support( 'post-formats' );
+		if ( is_array( $post_formats[0] ) ) : ?>
+			<div class="inline-edit-group">
+				<label class="alignleft" for="post_format">
+				<span class="title"><?php _e( 'Post Format' ); ?></span>
+				<select name="post_format" id="post_format">
+				<?php if ( $bulk ) : ?>
+					<option value="-1"><?php _e( '&mdash; No Change &mdash;' ); ?></option>
+				<?php endif; ?>
+					<option value="0"><?php _ex( 'Standard', 'Post format' ); ?></option>
+				<?php foreach ( $post_formats[0] as $format ): ?>
+					<option value="<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></option>
+				<?php endforeach; ?>
+				</select></label>
+			</div>
+		<?php endif; ?>
+	<?php endif; // post-formats ?>
+
 		</div></fieldset>
 
 	<?php
Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 18660)
+++ wp-admin/includes/post.php	(working copy)
@@ -312,9 +312,9 @@
 		foreach ( $post_data['tax_input'] as $tax_name => $terms ) {
 			if ( empty($terms) )
 				continue;
-			if ( is_taxonomy_hierarchical( $tax_name ) )
+			if ( is_taxonomy_hierarchical( $tax_name ) ) {
 				$tax_input[$tax_name] = array_map( 'absint', $terms );
-			else {
+			} else {
 				$tax_input[$tax_name] = preg_replace( '/\s*,\s*/', ',', rtrim( trim($terms), ' ,' ) );
 				$tax_input[$tax_name] = explode(',', $tax_input[$tax_name]);
 			}
@@ -337,6 +337,19 @@
 		}
 	}
 
+	// don't change the post format if it's not supported, unset or set to -1 
+	if ( isset( $post_data['post_format'] ) && '-1' != $post_data['post_format'] && current_theme_supports( 'post-formats' ) ) {
+		$formats = get_theme_support( 'post-formats' );
+		if ( is_array( $formats ) ) {
+			$formats = $formats[0];
+			if ( ! in_array( $post_data['post_format'], $formats ) ) {
+				unset( $post_data['post_format'] );
+			}
+		}
+	} else {
+		unset( $post_data['post_format'] );
+	}
+
 	$updated = $skipped = $locked = array();
 	foreach ( $post_IDs as $post_ID ) {
 		$post_type_object = get_post_type_object( get_post_type( $post_ID ) );
@@ -387,6 +400,8 @@
 				unstick_post( $post_ID );
 		}
 
+		if ( isset( $post_data['post_format'] ) )
+			set_post_format( $post_ID, $post_data['post_format'] );
 	}
 
 	return array( 'updated' => $updated, 'skipped' => $skipped, 'locked' => $locked );
Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 18660)
+++ wp-admin/includes/template.php	(working copy)
@@ -310,6 +310,9 @@
 	if ( !$post_type_object->hierarchical )
 		echo '<div class="sticky">' . (is_sticky($post->ID) ? 'sticky' : '') . '</div>';
 
+	if ( post_type_supports( $post->post_type, 'post-formats' ) )
+		echo '<div class="post_format">' . esc_html( get_post_format( $post->ID ) ) . '</div>';
+
 	echo '</div>';
 }
 
Index: wp-admin/js/inline-edit-post.dev.js
===================================================================
--- wp-admin/js/inline-edit-post.dev.js	(revision 18660)
+++ wp-admin/js/inline-edit-post.dev.js	(working copy)
@@ -129,7 +129,7 @@
 		if ( typeof(id) == 'object' )
 			id = t.getId(id);
 
-		fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password'];
+		fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password', 'post_format'];
 		if ( t.type == 'page' )
 			fields.push('post_parent', 'menu_order', 'page_template');
 
