The first one is permission to communicate with arbitrary servers in order to download URLs and upload files. Tabs is used to interact with OAuth-powered hosts better. The rest just leaves room for future additions (reuploading images from a context menu, storing a cache of uploaded files, notifications for completed uploads, etc.). It doesn't request for permission to access history, and I have no idea why the Chrome web store says that that's a required permission.
"permissions": ["* ://* /","tabs","contextMenus", "unlimitedStorage","notifications"]
The first one is permission to communicate with arbitrary servers in order to download URLs and upload files. Tabs is used to interact with OAuth-powered hosts better. The rest just leaves room for future additions (reuploading images from a context menu, storing a cache of uploaded files, notifications for completed uploads, etc.). It doesn't request for permission to access history, and I have no idea why the Chrome web store says that that's a required permission.