Index: safari/ext/background.js |
diff --git a/safari/ext/background.js b/safari/ext/background.js |
index e154aff029b37cedb5b06df6ed19f287e003aa48..7d97aeb36857ac40565dfaa6e64d6a58fc25f1bb 100644 |
--- a/safari/ext/background.js |
+++ b/safari/ext/background.js |
@@ -154,6 +154,10 @@ |
if (!(event.target instanceof SafariBrowserTab)) |
return; |
+ var activeTab = event.target.browserWindow.activeTab; |
kzar
2016/01/24 15:43:01
I'm not sure I've got this dispatcher right, does
|
+ var pageId = addPage(activeTab, activeTab.url, false); |
+ ext.pages.onActivated._dispatch(pages[pageId]); |
+ |
// 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 |
@@ -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}]; |
kzar
2016/01/24 15:43:01
Required as apparently Safari throws an exception
|
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) |