Index: src/wp-includes/js/media-views.js
===================================================================
--- src/wp-includes/js/media-views.js	(revision 27500)
+++ src/wp-includes/js/media-views.js	(working copy)
@@ -3520,6 +3520,13 @@
 			return supports;
 		},
 
+		isDraggingFile: function( e ) {
+			if ( _.isUndefined( e.originalEvent ) || _.isUndefined( e.originalEvent.dataTransfer ) )
+				return false;
+
+			return _.indexOf( event.dataTransfer.types, 'Files' ) > -1;
+		},
+
 		refresh: function( e ) {
 			var dropzone_id;
 			for ( dropzone_id in this.dropzones ) {
@@ -3593,25 +3600,36 @@
 			return this;
 		},
 
-		containerDragover: function() {
+		containerDragover: function( e ) {
+			if ( ! this.isDraggingFile( e ) )
+				return;
+
 			this.overContainer = true;
-			this.refresh();
+			this.refresh( e );
 		},
 
-		containerDragleave: function() {
+		containerDragleave: function( e ) {
+			if ( ! this.isDraggingFile( e ) )
+				return;
+
 			this.overContainer = false;
-
 			// Throttle dragleave because it's called when bouncing from some elements to others.
-			_.delay( _.bind( this.refresh, this ), 50 );
+			_.delay( _.bind( this.refresh, this, e ), 50 );
 		},
 
 		dropzoneDragover: function( e ) {
+			if ( ! this.isDraggingFile( e ) )
+				return;
+
 			this.overDropzone = true;
 			this.refresh( e );
 			return false;
 		},
 
 		dropzoneDragleave: function( e ) {
+			if ( ! this.isDraggingFile( e ) )
+				return;
+
 			this.overDropzone = false;
 			_.delay( _.bind( this.refresh, this, e ), 50 );
 		}
