For any Extension developers, there are some workarounds to avoid asking for the "tabs" permission.
If you just need to know when a tab is visible for your content scripts to do things, use the Page Visibility API[1].
If you want your Extensions background scripts to notify all content scripts of something, you can rely on `chrome.storage.onChanged` event. The storage API does not warn users about permissions[2]
If anyone's interested in code samples, I could through some snippets in a gist.