Index: wp-includes/class-wp-image-editor-gd.php
===================================================================
--- wp-includes/class-wp-image-editor-gd.php	(revision 22344)
+++ wp-includes/class-wp-image-editor-gd.php	(working copy)
@@ -300,6 +300,9 @@
 		if ( ! $filename )
 			$filename = $this->generate_filename( null, null, $extension );
 
+		if ( function_exists( 'imageinterlace' ) )
+			imageinterlace( $image, apply_filters( 'image_save_progressive', 0, $mime_type ) );
+
 		if ( 'image/gif' == $mime_type ) {
 			if ( ! $this->make_image( $filename, 'imagegif', array( $image, $filename ) ) )
 				return new WP_Error( 'image_save_error', __('Image Editor Save Failed') );
Index: wp-includes/class-wp-image-editor-imagick.php
===================================================================
--- wp-includes/class-wp-image-editor-imagick.php	(revision 22344)
+++ wp-includes/class-wp-image-editor-imagick.php	(working copy)
@@ -358,6 +358,12 @@
 			$orig_format = $this->image->getImageFormat();
 
 			$this->image->setImageFormat( strtoupper( $this->get_extension( $mime_type ) ) );
+
+			$interlace = apply_filters( 'image_save_progressive', 0, $mime_type );
+			if ( $interlace ) {
+				$this->image->setImageInterlaceScheme( strtoupper( $mime_type ) == 'PNG' ? Imagick::INTERLACE_PLANE : Imagick::INTERLACE_LINE );
+			}
+
 			$this->make_image( $filename, array( $image, 'writeImage' ), array( $filename ) );
 
 			// Reset original Format
