> If that's only for that, I'd rather move this in another function, like "preloadDefaultIcon" that would do only this part, and keep "loadDefaultIcon" clean, without this. What do you think ?

Well, it should work because we load default icons (asynchronously) before calling indexedDB to recover icons, etc so when we start painting the first icon, in theory, we should have the blobs by default available but a race condition could happen, weird, but could be. So I prefer to keep this condition.