Index: wp-includes/script-loader.php
===================================================================
--- wp-includes/script-loader.php	(revision 16356)
+++ wp-includes/script-loader.php	(working copy)
@@ -372,7 +372,8 @@
 		$scripts->localize( 'list-table', 'listTableL10n', array(
 			'loading' => __('Loading...'),
 			'error' => __('An error has occurred while loading the items.'),
-			'search' => __('Search results for &#8220;%s&#8221;')
+			'search' => __('Search results for &#8220;%s&#8221;'),
+			'clear_search' => __('Clear search results')
 		) );
 
 		$scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), '20100707' );
Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 16356)
+++ wp-admin/users.php	(working copy)
@@ -347,8 +347,7 @@
 <div class="wrap">
 <?php screen_icon(); ?>
 <h2><?php echo esc_html( $title ); if ( current_user_can( 'create_users' ) || current_user_can( 'promote_users' ) ) { ?>  <a href="user-new.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'user'); ?></a><?php }
-if ( $usersearch )
-	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $usersearch ) ); ?>
+_search_results_subtitle( admin_url( 'users.php' ) ); ?>
 </h2>
 
 <?php $wp_list_table->views(); ?>
@@ -356,7 +355,7 @@
 <form class="search-form" action="" method="get">
 <p class="search-box">
 	<label class="screen-reader-text" for="user-search-input"><?php _e( 'Search Users' ); ?>:</label>
-	<input type="text" id="user-search-input" name="usersearch" value="<?php echo esc_attr($usersearch); ?>" />
+	<input type="text" id="user-search-input" name="s" value="<?php _admin_search_query(); ?>" />
 	<?php submit_button( __( 'Search Users' ), 'button', 'submit', false ); ?>
 </p>
 </form>
Index: wp-admin/edit-comments.php
===================================================================
--- wp-admin/edit-comments.php	(revision 16356)
+++ wp-admin/edit-comments.php	(working copy)
@@ -127,8 +127,7 @@
 <div class="wrap">
 <?php screen_icon(); ?>
 <h2><?php echo esc_html( $title );
-if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
-	printf( '<span class="subtitle">' . sprintf( __( 'Search results for &#8220;%s&#8221;' ), wp_html_excerpt( esc_html( stripslashes( $_REQUEST['s'] ) ), 50 ) ) . '</span>' ); ?>
+_search_results_subtitle( admin_url( 'edit-comments.php' ) ); ?>
 </h2>
 
 <?php
@@ -200,7 +199,7 @@
 
 <?php $wp_list_table->views(); ?>
 
-<form id="comments-form" action="" method="post">
+<form id="comments-form" action="" method="get">
 <p class="search-box">
 	<label class="screen-reader-text" for="comment-search-input"><?php _e( 'Search Comments' ); ?>:</label>
 	<input type="text" id="comment-search-input" name="s" value="<?php _admin_search_query(); ?>" />
Index: wp-admin/includes/class-wp-users-list-table.php
===================================================================
--- wp-admin/includes/class-wp-users-list-table.php	(revision 16356)
+++ wp-admin/includes/class-wp-users-list-table.php	(working copy)
@@ -14,9 +14,9 @@
 	}
 
 	function prepare_items() {
-		global $role, $usersearch;
+		global $role, $search;
 
-		$usersearch = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '';
+		$search = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '';
 
 		$role = isset( $_REQUEST['role'] ) ? $_REQUEST['role'] : '';
 
@@ -28,7 +28,7 @@
 			'number' => $users_per_page,
 			'offset' => ( $paged-1 ) * $users_per_page,
 			'role' => $role,
-			'search' => $usersearch
+			'search' => $search
 		);
 
 		if ( isset( $_REQUEST['orderby'] ) )
Index: wp-admin/includes/class-wp-ms-users-list-table.php
===================================================================
--- wp-admin/includes/class-wp-ms-users-list-table.php	(revision 16356)
+++ wp-admin/includes/class-wp-ms-users-list-table.php	(working copy)
@@ -23,9 +23,9 @@
 	}
 
 	function prepare_items() {
-		global $usersearch, $role, $wpdb;
+		global $search, $role, $wpdb;
 
-		$usersearch = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '';
+		$search = isset( $_REQUEST['s'] ) ? $_REQUEST['s'] : '';
 
 		$users_per_page = $this->get_items_per_page( 'users_network_per_page' );
 
@@ -36,7 +36,7 @@
 		$args = array(
 			'number' => $users_per_page,
 			'offset' => ( $paged-1 ) * $users_per_page,
-			'search' => $usersearch,
+			'search' => $search,
 			'blog_id' => 0
 		);
 
@@ -47,7 +47,7 @@
 
 		// If the network is large and a search is not being performed, show only the latest users with no paging in order
 		// to avoid expensive count queries.
-		if ( !$usersearch && ( get_blog_count() >= 10000 ) ) {
+		if ( !$search && ( get_blog_count() >= 10000 ) ) {
 			if ( !isset($_REQUEST['orderby']) )
 				$_GET['orderby'] = $_REQUEST['orderby'] = 'id';
 			if ( !isset($_REQUEST['order']) )
Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 16356)
+++ wp-admin/includes/template.php	(working copy)
@@ -2165,3 +2165,17 @@
 	return $button;
 }
 
+/**
+ * Print the search results sentence as a subtitle
+ *
+ * @since 3.1.0
+ *
+ * uses esc_html
+ *
+ * @param string $url The URL of the search page
+ */
+function _search_results_subtitle( $url ) {
+	if ( !empty( $_REQUEST['s']) && !empty( $url ) )
+		printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '<a id="clear-search" href="%s" class="ntdelbutton" title="' . __( 'Clear search results' ) . '">X</a></span>', esc_html( stripslashes( $_REQUEST['s'] ) ), $url );
+	return null;
+}
Index: wp-admin/edit-tags.php
===================================================================
--- wp-admin/edit-tags.php	(revision 16356)
+++ wp-admin/edit-tags.php	(working copy)
@@ -212,8 +212,7 @@
 <div class="wrap nosubsub">
 <?php screen_icon(); ?>
 <h2><?php echo esc_html( $title );
-if ( !empty($_REQUEST['s']) )
-	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?>
+_search_results_subtitle( admin_url( "edit-tags.php?taxonomy=$taxonomy" ) ); ?>
 </h2>
 
 <?php if ( isset($_REQUEST['message']) && ( $msg = (int) $_REQUEST['message'] ) ) : ?>
Index: wp-admin/js/list-table.dev.js
===================================================================
--- wp-admin/js/list-table.dev.js	(revision 16356)
+++ wp-admin/js/list-table.dev.js	(working copy)
@@ -220,14 +220,30 @@
 		listTable.update_rows(data, true, function() {
 			$('h2 .subtitle').remove();
 
-			if ( data.s )
-				$('h2').append($('<span class="subtitle">').html(
-					listTableL10n.search.replace('%s', this.htmlencode(data.s))
-				));
+			if ( data.s ) {
+				$('h2').append( $('<span class="subtitle">').html(
+					listTableL10n.search.replace('%s', this.htmlencode(data.s)) +
+					'<a id="clear-search" class="ntdelbutton" title="' +
+					listTableL10n.clear_search +
+					'">X</a></span>'
+				) );
+			}
+				
 		});
 	}
+
+	function clear_search() {
+		listTable.update_rows({'s': ''}, true, function() {
+			$('h2 .subtitle').remove();
+			$('.search-box input[type="text"]').val('');
+		});
+
+		return false;
+	};
+
 	$('.search-box :submit').click(change_search);
 	$('.search-box :text').keypress(change_search);
+	$('#clear-search').live('click', clear_search)
 
 	// tablenav dropdowns
 	$('#post-query-submit').click(function() {
Index: wp-admin/upload.php
===================================================================
--- wp-admin/upload.php	(revision 16356)
+++ wp-admin/upload.php	(working copy)
@@ -152,8 +152,7 @@
 <div class="wrap">
 <?php screen_icon(); ?>
 <h2><?php echo esc_html( $title ); ?> <a href="media-new.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'file'); ?></a> <?php
-if ( isset($_GET['s']) && $_GET['s'] )
-	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
+_search_results_subtitle( admin_url( 'upload.php' ) ); ?>
 </h2>
 
 <?php
Index: wp-admin/network/users.php
===================================================================
--- wp-admin/network/users.php	(revision 16356)
+++ wp-admin/network/users.php	(working copy)
@@ -70,17 +70,14 @@
 	if ( current_user_can( 'create_users') ) : ?>
 		<a href="<?php echo network_admin_url('user-new.php'); ?>" class="button add-new-h2"><?php echo esc_html_x( 'Add New', 'users' ); ?></a><?php
 	endif;
-	
-	if ( !empty( $usersearch ) )
-	printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( $usersearch ) );
-	?>
+	_search_results_subtitle( network_admin_url( 'users.php' ) ); ?>
 	</h2>
 
 	<?php $wp_list_table->views(); ?>
 
 	<form action="" method="get" class="search-form">
 		<p class="search-box">
-		<input type="text" name="s" value="<?php echo esc_attr( $usersearch ); ?>" class="search-input" id="user-search-input" />
+		<input type="text" name="s" value="<?php echo esc_attr( $search ); ?>" class="search-input" id="user-search-input" />
 		<?php submit_button( __( 'Search Users' ), 'button', 'post-query-submit', false ); ?>
 		</p>
 	</form>
Index: wp-admin/network/sites.php
===================================================================
--- wp-admin/network/sites.php	(revision 16356)
+++ wp-admin/network/sites.php	(working copy)
@@ -94,17 +94,14 @@
 <?php echo $msg; ?>
 <?php if ( current_user_can( 'create_sites') ) : ?>
         <a href="<?php echo network_admin_url('site-new.php'); ?>" class="button add-new-h2"><?php echo esc_html_x( 'Add New', 'sites' ); ?></a>
-<?php endif; ?>
-
-<?php if ( isset( $_REQUEST['s'] ) && $_REQUEST['s'] ) {
-	printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( $s ) );
-} ?>
+<?php endif;
+_search_results_subtitle( network_admin_url( 'sites.php' ) ); ?>
 </h2>
 
 <form action="" method="get" id="ms-search">
 <p class="search-box">
 <input type="hidden" name="action" value="blogs" />
-<input type="text" name="s" value="<?php echo esc_attr( $s ); ?>" />
+<input type="text" name="s" value="<?php _admin_search_query(); ?>" />
 <?php submit_button( __( 'Search Sites' ), 'button', 'submit', false ); ?>
 </p>
 </form>
Index: wp-admin/edit.php
===================================================================
--- wp-admin/edit.php	(revision 16356)
+++ wp-admin/edit.php	(working copy)
@@ -170,8 +170,7 @@
 <div class="wrap">
 <?php screen_icon(); ?>
 <h2><?php echo esc_html( $post_type_object->labels->name ); ?> <a href="<?php echo $post_new_file ?>" class="button add-new-h2"><?php echo esc_html($post_type_object->labels->add_new); ?></a> <?php
-if ( isset($_REQUEST['s']) && $_REQUEST['s'] )
-	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', get_search_query() ); ?>
+_search_results_subtitle( admin_url( "edit.php?post_type=$post_type" ) ); ?>
 </h2>
 
 <?php
Index: wp-admin/css/colors-classic.dev.css
===================================================================
--- wp-admin/css/colors-classic.dev.css	(revision 16356)
+++ wp-admin/css/colors-classic.dev.css	(working copy)
@@ -684,12 +684,14 @@
 }
 
 .tagchecklist span a,
-#bulk-titles div a {
+#bulk-titles div a,
+a#clear-search {
 	background: url(../images/xit.gif) no-repeat;
 }
 
 .tagchecklist span a:hover,
-#bulk-titles div a:hover {
+#bulk-titles div a:hover,
+a#clear-search:hover {
 	background: url(../images/xit.gif) no-repeat -10px 0;
 }
 
Index: wp-admin/css/colors-fresh.dev.css
===================================================================
--- wp-admin/css/colors-fresh.dev.css	(revision 16356)
+++ wp-admin/css/colors-fresh.dev.css	(working copy)
@@ -684,12 +684,14 @@
 }
 
 .tagchecklist span a,
-#bulk-titles div a {
+#bulk-titles div a,
+a#clear-search {
 	background: url(../images/xit.gif) no-repeat;
 }
 
 .tagchecklist span a:hover,
-#bulk-titles div a:hover {
+#bulk-titles div a:hover,
+a#clear-search:hover {
 	background: url(../images/xit.gif) no-repeat -10px 0;
 }
 
Index: wp-admin/css/wp-admin.dev.css
===================================================================
--- wp-admin/css/wp-admin.dev.css	(revision 16356)
+++ wp-admin/css/wp-admin.dev.css	(working copy)
@@ -284,6 +284,15 @@
 	margin: -5px 0 0;
 }
 
+a#clear-search {
+	display: inline-block;
+	cursor: pointer;
+	height: 10px;
+	margin: 3px 5px 0;
+	overflow: hidden;
+	text-indent: -9999px;
+	width: 10px;
+}
 
 /*------------------------------------------------------------------------------
   3.0 - Actions
Index: wp-admin/link-manager.php
===================================================================
--- wp-admin/link-manager.php	(revision 16356)
+++ wp-admin/link-manager.php	(working copy)
@@ -58,8 +58,7 @@
 <div class="wrap nosubsub">
 <?php screen_icon(); ?>
 <h2><?php echo esc_html( $title ); ?> <a href="link-add.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a> <?php
-if ( !empty($_REQUEST['s']) )
-	printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( stripslashes($_REQUEST['s']) ) ); ?>
+_search_results_subtitle( admin_url( 'link-manager.php' ) ); ?>
 </h2>
 
 <?php
