Introduce browser messaging saver (#5512)

* First commit

* Subscriber: Make onmessage be async

* Don't use a variable before it's defined...
This commit is contained in:
Jeremy Ruston
2025-10-29 14:52:21 +00:00
committed by GitHub
parent 5848d66e96
commit f38e9f0822
4 changed files with 209 additions and 10 deletions

View File

@@ -33,10 +33,15 @@ exports.startup = function() {
});
$tw.titleContainer = $tw.fakeDocument.createElement("div");
$tw.titleWidgetNode.render($tw.titleContainer,null);
document.title = $tw.titleContainer.textContent;
var publishTitle = function() {
$tw.titlePublisher.send({verb: "PAGETITLE",body: document.title});
document.title = $tw.titleContainer.textContent;
};
$tw.titlePublisher = new $tw.utils.BrowserMessagingPublisher({type: "PAGETITLE", onsubscribe: publishTitle});
publishTitle();
$tw.wiki.addEventListener("change",function(changes) {
if($tw.titleWidgetNode.refresh(changes,$tw.titleContainer,null)) {
document.title = $tw.titleContainer.textContent;
publishTitle();
}
});
// Set up the styles