Three weeks ago Google was close to removing our Chrome extension from the Chrome Web Store. Fortunately things ended up working out. Not fun though!
To meet Google’s requirements and stay in the Chrome Web Store we needed to remove a few permissions from our extension. It has become clear over the past few weeks, however, that those permissions enabled our extension to work better than it does now without them.
Here’s our challenge: make our extension work for you as well as it did before all while continuing to require less permissions.
The permissions we removed while trying to get our extension approved were tabs, http://*/* and https://*/*. These permissions grant access to private information and can be misused. In our case, however, they are required to enable some valuable functionality:
-
The tabs permission lets extensions see what tabs are open. Pushbullet uses this permission to avoid opening new tabs for websites that are already open when mirrored notifications are clicked.
-
The http://*/* and https://*/* permissions grant extensions access to data on all webpages. The Pushbullet extension uses this permission to be able to push images and files from websites that do not permit Cross-Origin Resource Sharing (CORS) as documented here by Google for Chrome extensions.
So how do we get these permissions after Google had us remove them?
We’re going to try adding them as optional permissions instead of requiring them right away.
Optional permissions must be specifically granted by users after installation. This makes them much less scary since you can safely install extensions without granting these optional permissions.
For our extension, you can choose to grant these optional permissions on our extension’s options page. We’ve added two new options:
Will something bad happen if we request these permissions again as optional permissions?
This is a mystery to us to be honest. Are we allowed to request these permissions as optional permissions without upsetting Google? The only way to find out is to try so that’s what we’re doing. We’re optimistic things will work out.
Today we submitted an update to our Chrome extension with the optional permissions support.
We hope everything goes smoothly and we’re approved super quick!