Screenshots without tab

Hi, I am looking for a tool to make screenshots of pages without opening new visible tab for them. When Firefox supported XUL, I have used SpeedDial. When Firefox moved to WebExtensions, addons were cut of most browser-related functionality.
Currently as I see it in other addons, they are using browser.tabs.captureTab() method, while opening needed url in “invisible” tab. The problem is that this tab can be hidden only from direct displaying, while they still appear in taskbar(previews) and tabbar. Also when they appear(even in temporary “invisible” window), browser window goes in focus, which fail any drag’n’drop process.
As a result, the only working way to do a screenshot is using html2canvas tool, while loading this page on background page in iframe.

So there are my questions:

  1. Are there any plans for developing of normal screenshot tool? In example you can add a function, which will create an HTML-object with restricted content, which will load/cache/refresh thumbnails by itself, but not allowing these thumbnails to be accessible by JS-code for security reasons(i.e. display only element).
  2. If you wont develop a screenshoting tool, then what about invisible window/tab, which wont distract OS and user for background processes? I mean, it should be really invisible. Like a background page, but supported by browser.tabs.captureTab().

There’s a “preview service” in Firefox that’s used for the native new tab page afaik. I think there’s a bug on bugzilla somewhere with the feature suggestion to expose it at least for the top sites API (so the “speed dial”). At least I remember it being talked about at some point in the past.

I’m not sure how the current new tab page fetches its previews or if it even still uses the preview service, since it only shows a preview of visited pages (a really easy way to make a speed dial-like extension not have to do the workaround you mentioned, by the way).

As I understood you, you want to say that I can use cached previews for manually visited pages. This is not what I am looking for.
Main feature that I see in speed dial is that it should be able to update dials without manual visiting them. I.e. update facebook dial every 10 minute to visually show me that there are messages for me without actually wasting any RAM or CPU for an always open background tab.