Index: safari/ext/background.js |
diff --git a/safari/ext/background.js b/safari/ext/background.js |
index e154aff029b37cedb5b06df6ed19f287e003aa48..9bbf25eb4875897b11a62da8a43c7a134002ced8 100644 |
--- a/safari/ext/background.js |
+++ b/safari/ext/background.js |
@@ -154,11 +154,15 @@ |
if (!(event.target instanceof SafariBrowserTab)) |
return; |
+ let visiblePage = event.target._visiblePage; |
+ if (visiblePage) |
+ ext.pages.onActivated._dispatch(visiblePage); |
+ |
// update the toolbar item for the page visible in the tab that just |
// became active. If we can't find that page (e.g. when a page was |
// opened in a new tab, and our content script didn't run yet), the |
// toolbar item of the window, is reset to its intial configuration. |
- updateToolbarItemForPage(event.target._visiblePage, event.target.browserWindow); |
+ updateToolbarItemForPage(visiblePage, event.target.browserWindow); |
}, true); |
@@ -171,7 +175,7 @@ |
{ |
this._id = id; |
this._tab = tab; |
- this._frames = [{url: new URL(url), parent: null}]; |
+ this._frames = [{url: new URL(url || "about:blank"), parent: null}]; |
if (tab.page) |
this._messageProxy = new ext._MessageProxy(tab.page); |
@@ -293,7 +297,8 @@ |
callback(matchedPages); |
}, |
- onLoading: new ext._EventTarget() |
+ onLoading: new ext._EventTarget(), |
+ onActivated: new ext._EventTarget(), |
}; |
safari.application.addEventListener("close", function(event) |