@@ -1047,6 +1047,13 @@ const util = (function() {
10471047 if ( retval ) retval = retval [ 0 ] ;
10481048 return retval ;
10491049 }
1050+ function detectMimeType ( b64 ) {
1051+ for ( var s in MIME_TYPE_SIGNATURES ) {
1052+ if ( b64 . indexOf ( s ) === 0 ) {
1053+ return MIME_TYPE_SIGNATURES [ s ] [ 0 ] ;
1054+ }
1055+ }
1056+ }
10501057
10511058 function sanitize ( dirty ) {
10521059 const clean = DOMPurify . sanitize ( dirty , { USE_PROFILES : { html : true } } ) ;
@@ -1103,6 +1110,31 @@ const util = (function() {
11031110 "image/avif" : [ "avif" ]
11041111 } ;
11051112
1113+ const MIME_TYPE_SIGNATURES = {
1114+ "/9j/" : [ "image/jpeg" ] ,
1115+ "iVBORw0KGgo=" : [ "image/png" , "image/apng" ] ,
1116+ "R0lGODdh" : [ "image/gif" ] ,
1117+ "R0lGODlh" : [ "image/gif" ] ,
1118+ "UklGR" : [ "image/webp" ] ,
1119+ "Qk0=" : [ "image/bmp" ] ,
1120+ "SUkqAA==" : [ "image/tiff" ] ,
1121+ "TU0AKg==" : [ "image/tiff" ] ,
1122+ "PD94bWw=" : [ "image/svg+xml" ] ,
1123+ "AAABAA==" : [ "image/x-icon" , "image/vnd.microsoft.icon" ] ,
1124+ "ZnR5cGhlaWZj" : [ "image/heif" ] ,
1125+ "ZnR5cG1pZjE=" : [ "image/heif" ] ,
1126+ "ZnR5cGhlaWNj" : [ "image/heic" ] ,
1127+ "SUm8" : [ "image/jxr" ] ,
1128+ "q0tUWCAxMb0NCgo=" : [ "image/ktx" ] ,
1129+ "AAACAA==" : [ "image/x-tga" ] ,
1130+ "ZnR5cGF2aWY=" : [ "image/avif" ] ,
1131+ "UDAx" : [ "image/x-portable-bitmap" ] ,
1132+ "UDAy" : [ "image/x-portable-graymap" ] ,
1133+ "UDAz" : [ "image/x-portable-pixmap" ] ,
1134+ "UDA0" : [ "image/x-portable-anymap" ] ,
1135+ "WaZqlQ==" : [ "image/x-cmu-raster" ]
1136+ } ;
1137+
11061138 return {
11071139 XMLNS : XMLNS ,
11081140 INLINE_ELEMENTS : INLINE_ELEMENTS ,
@@ -1209,6 +1241,7 @@ const util = (function() {
12091241 removeSpansWithNoAttributes : removeSpansWithNoAttributes ,
12101242 replaceSemanticInlineStylesWithTags : replaceSemanticInlineStylesWithTags ,
12111243 wrapInnerContentInTag : wrapInnerContentInTag ,
1212- getDefaultExtensionByMime : getDefaultExtensionByMime
1244+ getDefaultExtensionByMime : getDefaultExtensionByMime ,
1245+ detectMimeType : detectMimeType
12131246 } ;
12141247} ) ( ) ;
0 commit comments