Просмотр исходного кода

fix: show correct badge when restored from BFCache

tophf 4 лет назад
Родитель
Сommit
c106df0c00
1 измененных файлов с 9 добавлено и 0 удалено
  1. 9 0
      src/injected/content/inject.js

+ 9 - 0
src/injected/content/inject.js

@@ -21,6 +21,7 @@ let realms;
 let pageInjectable;
 let badgePromise;
 let numBadgesSent = 0;
+let bfCacheWired;
 
 bridge.addHandlers({
   // FF bug workaround to enable processing of sourceURL in injected page scripts
@@ -34,6 +35,14 @@ bridge.addHandlers({
     if (!badgePromise) {
       badgePromise = resolvedPromise::then(throttledSetBadge);
     }
+    if (!bfCacheWired) {
+      bfCacheWired = true;
+      window::addEventListener('pageshow', evt => {
+        if (evt.persisted) {
+          sendCmd('SetBadge', runningIds);
+        }
+      });
+    }
   },
 });