Index: wp-admin/plugins.php
===================================================================
--- wp-admin/plugins.php	(revision 27041)
+++ wp-admin/plugins.php	(working copy)
@@ -444,7 +444,73 @@
 
 <?php $wp_list_table->display(); ?>
 </form>
+<script type="text/javascript">
+( function( $ ) {
+ /*** 
+  * Check the dom for pagination links 
+  * This could be done better... 
+  */
+var pagination = $(".pagination-links").get(0),
+	search_input 	= $( "#plugin-search-input" ),
+	plugin_wrap     = $( "#the-list"),
+	plugin_list 	= plugin_wrap.find( "tr" ),
+	no_plugins_found_inserted = false,
+	no_plugins_html  = '<tr id="no-plugins-found" class="no-items"><td class="colspanchange" colspan="3">No plugins found.</td></tr>'; // No plugins needs to be translated 
 
+/***
+ * Lisen for the user trying to input something
+ */
+search_input.on('keyup change blur', function( e ) {
+	
+	e.preventDefault();
+	
+	var filter = search_input.val(),
+		search_for =  new RegExp( filter, "i" ),
+		plugins_found = 0;
+	
+	if( pagination ) {
+		/***
+		 * Do a ajax request and get all the plugins but hide them from view. 
+		 */
+		// the results should be cached for future searches. 
+		// should the results also be paginated?  
+		
+	}
+	
+	plugin_list.each( function( count, plugin ) {
+
+		// Only search the text inside the description and title. 
+		var search_text = $(plugin).find(".plugin-title strong").text();
+			search_text += $(plugin).find(".plugin-description").text();
+		
+		if ( search_text.search( search_for ) < 0 ) { 
+			
+			// check if this plugin is selected 
+			// I think it might be a good idea to keep the plugin visible if the plugin is selected. 
+			if( !$(plugin).find("input:checked").get(0) ){
+				$(plugin).hide();
+			} else {
+				// console.log( "don't hide me" )
+			}
+			
+		} else {
+			$(plugin).show();
+			plugins_found++;
+		}
+
+	} );
+	if( !plugins_found && !no_plugins_found_inserted) {
+		plugin_wrap.append( no_plugins_html );
+		no_plugins_found_inserted = true;
+	} else {
+		$("#no-plugins-found").remove();
+		no_plugins_found_inserted = false;
+	}
+})
+
+} )( jQuery );
+</script>
+
 </div>
 
 <?php
