Splitting from #4971, since the Sidebar and other embedded Windows are different APIs.
For the sidebar, we can just reload the frame for now (since it will set itself back up automatically) and if we move to a new DTD API in future, we can add a theme change event to that.
For the other embedded windows, refreshing is destructive and they'll also need some postMessage version.