At the moment, I need that for Wikipedia Peek.
Currently, I am extending it to show little preview boxes on (optionally) every website.
To isolate the content from the page (as good as I think it is possible) I use sandboxed iframes with blob:-URLs for the content.
But that can fail if the CSP of the page restricts the allowed child-src
s.
So if it does, I open popup windows in the corresponding places (and tabs on Android).
At least the former can work pretty well, but it adds dead entries to the tab and window history.
Re-opening these windows/tabs is not harmful for the extension, but it prevents the users from re-opening the windows/tabs they actually want.
This would of course also be fixed if WebExtensions had a proper way of displaying overlay information.