I did some more investigation.
There maybe two bugs here. One of them occurs when "Reload the current tab only" is checked, the other when "Reload the current tab only" is un-checked.
The former seems caused by MainChild.js isCurrentFrame comparing different window IDs when I would think they're supposed to be the same. It causes NoScript to erroneously conclude that the permission change isn't relevant for the current tab, so NoScript bails early and doesn't reload anything.
The latter bug is confusing me. I'm getting weird results that don't look consistent. In MainChild.js, in the function reload(), for the line "let sites = this.getSites(browser)" it looks like this can get assigned to "sites" when this issue occurs -
Code: Select all
{scriptCount:1, pluginCount:0, pluginExtras:[[]], pluginSites:[], docSites:["moz-extension://<NS embedded webext internal uuid>"], recentlyBlocked:[], all:[], docJSBlocked:false, cspBlocked:false, topSite:"moz-extension://<NS embedded webext internal uuid>"}
But this also can happen when changing permissions of the top-level document, yet that seems to reload fine.
Does any of this help?