Index: src/wp-includes/functions.php
===================================================================
--- src/wp-includes/functions.php	(revision 37611)
+++ src/wp-includes/functions.php	(working copy)
@@ -2469,7 +2469,7 @@
  * @return array Array of mime types keyed by the file extension regex corresponding
  *               to those types.
  */
-function get_allowed_mime_types( $user = null ) {
+function get_allowed_mime_types( $user = null , $ignore_user = false ) {
 	$t = wp_get_mime_types();
 
 	unset( $t['swf'], $t['exe'] );
@@ -2484,12 +2484,14 @@
 	 *
 	 * @since 2.0.0
 	 *
-	 * @param array            $t    Mime types keyed by the file extension regex corresponding to
-	 *                               those types. 'swf' and 'exe' removed from full list. 'htm|html' also
-	 *                               removed depending on '$user' capabilities.
-	 * @param int|WP_User|null $user User ID, User object or null if not provided (indicates current user).
+	 * @param array            $t           Mime types keyed by the file extension regex corresponding to
+	 *                                      those types. 'swf' and 'exe' removed from full list. 'htm|html' also
+	 *                                      removed depending on '$user' capabilities.
+	 * @param int|WP_User|null $user        User ID, User object or null if not provided (indicates current user).
+	 *
+	 * @param bool             $ignore_user An override flag to return all possible mime types regardless of user.
 	 */
-	return apply_filters( 'upload_mimes', $t, $user );
+	return apply_filters( 'upload_mimes', $t, $user, $ignore_user );
 }
 
 /**
Index: tests/phpunit/tests/functions.php
===================================================================
--- tests/phpunit/tests/functions.php	(revision 37611)
+++ tests/phpunit/tests/functions.php	(working copy)
@@ -408,6 +408,26 @@
 	}
 
 	/**
+	 * @ticket 32544
+	 */
+	function test_get_allowed_mime_types_all() {
+		add_filter( 'upload_mimes', array( $this, 'whitelist_test_mime_type_ignore' ), 10, 3 );
+		$all_mimes = get_allowed_mime_types( null, true );
+		$this->assertArrayHasKey( 'test', $all_mimes );
+
+		$mimes = get_allowed_mime_types();
+		$this->assertArrayNotHasKey( 'test', $mimes );
+	}
+
+	public function whitelist_test_mime_type_ignore( $mimes, $user_id, $ignore_user ) {
+		$mime_types = array( 'test' => 'text/test' );
+		if ( $ignore_user ) {
+			$mimes = array_merge( $mime_types, $mimes );
+		}
+		return $mimes;
+	}
+
+	/**
 	 * @ticket 23688
 	 */
 	function test_canonical_charset() {
