@@ -48,6 +48,7 @@ const MESSAGE_ACTIONS = {
4848 SHOW_SUCCESS_TOAST : "showDownloadSuccessToast" ,
4949 SHOW_ERROR_TOAST : "showDownloadErrorToast" ,
5050 SHOW_LOADING_TOAST : "showLoadingToast" ,
51+ DELETE_OBJECT_URL : "deleteObjectURL" ,
5152} ;
5253
5354// ============================================================================
@@ -216,6 +217,12 @@ async function handleStorageChanges(changes) {
216217// ============================================================================
217218// EVENT HANDLERS
218219// ============================================================================
220+ async function revokeObjectURL ( url , tabId ) {
221+ browser . tabs . sendMessage ( tabId , {
222+ action : MESSAGE_ACTIONS . DELETE_OBJECT_URL ,
223+ message : { url } ,
224+ } ) ;
225+ }
219226
220227async function handleContextMenuClick ( info , tab ) {
221228 const menuItemId = info . menuItemId ;
@@ -232,8 +239,11 @@ async function handleContextMenuClick(info, tab) {
232239 return ;
233240 }
234241
235- const { url, fileExtension } = resolvedImage ;
236- downloadImageToLocal ( url , folderSuffix , fileExtension , tab ?. id ) ;
242+ const { url, fileExtension, type } = resolvedImage ;
243+ await downloadImageToLocal ( url , folderSuffix , fileExtension , tab ?. id ) ;
244+ if ( type == "blob" || type == "data" ) {
245+ await revokeObjectURL ( url , tab ?. id ) ;
246+ }
237247 return ;
238248 }
239249
@@ -244,7 +254,10 @@ async function handleContextMenuClick(info, tab) {
244254 return ;
245255 }
246256
247- saveImageToDropbox ( resolvedImage . url , tab ?. id ) ;
257+ await saveImageToDropbox ( resolvedImage . url , tab ?. id ) ;
258+ if ( resolvedImage . type === "blob" || resolvedImage . type === "data" ) {
259+ await revokeObjectURL ( resolvedImage . url , tab ?. id ) ;
260+ }
248261 return ;
249262 }
250263}
0 commit comments