@@ -925,6 +925,7 @@ const getPageSpread = properties => {
925925class KF8 {
926926 parser = new DOMParser ( )
927927 serializer = new XMLSerializer ( )
928+ transformTarget = new EventTarget ( )
928929 #cache = new Map ( )
929930 #fragmentOffsets = new Map ( )
930931 #fragmentSelectors = new Map ( )
@@ -1071,8 +1072,13 @@ class KF8 {
10711072 : await this . mobi . loadResource ( id - 1 )
10721073 const result = [ MIME . XHTML , MIME . HTML , MIME . CSS , MIME . SVG ] . includes ( type )
10731074 ? await this . replaceResources ( this . mobi . decode ( raw ) ) : raw
1074- const doc = type === MIME . SVG ? this . parser . parseFromString ( result , type ) : null
1075- return [ new Blob ( [ result ] , { type } ) ,
1075+ const detail = { data : result , type }
1076+ const event = new CustomEvent ( 'data' , { detail } )
1077+ this . transformTarget . dispatchEvent ( event )
1078+ const newData = await event . detail . data
1079+ const newType = await event . detail . type
1080+ const doc = newType === MIME . SVG ? this . parser . parseFromString ( newData , newType ) : null
1081+ return [ new Blob ( [ newData ] , { newType } ) ,
10761082 // SVG wrappers need to be inlined
10771083 // as browsers don't allow external resources when loading SVG as an image
10781084 doc ?. getElementsByTagNameNS ( 'http://www.w3.org/2000/svg' , 'image' ) ?. length
0 commit comments