it's a little complicated.
I'm basically making about thirty requests into a worker within the offscreen document.
It's not a bulk request, but they are 28-31 synchronous requests spaced by a certain number of seconds
Each response is processed with DOMParser and the result is appended as html code to a string.
When the worker has finished processing all requests it returns that string to the service worker which shows the user a notification asking whether to view the output as html or xls.
During this time I may not find any extension pages (or even any tabs in general) open.
In fact, at the start of the "job" I inform the user that he can also browse or close the tab\window from which he made the request but he must not close the browser otherwise the request (the offscreen document and the worker) will be lost.
If the user chooses HTML then I open a new tab and put my generated table inside a placeholder (div). Conversely, if the user chooses the xls format, I start the download from within the off-screen document.
If it has not already been reported, and if you think it might help, I could also open a bug report.