Note that the linkExposure content script can only determine whether the page is in the active tab in its window. It cannot determine whether the browser is active or its window has focus. We'll have to pass that information to the content script (e.g., by listening to attention events from the PageEvent module and forwarding them to the relevant tabs).
Also, just a reminder to please not use jQuery (91371a53615bb26439c1f1eb251d4ba48d7a557b) in the content script environment. That's a lot of unnecessary bulk to add to every page load.
Note that the linkExposure content script can only determine whether the page is in the active tab in its window. It cannot determine whether the browser is active or its window has focus. We'll have to pass that information to the content script (e.g., by listening to attention events from the PageEvent module and forwarding them to the relevant tabs).
A couple of design directions: