diff --git a/platform/firefox/vapi-background.js b/platform/firefox/vapi-background.js index 9d7b3dcd2..f790a283a 100644 --- a/platform/firefox/vapi-background.js +++ b/platform/firefox/vapi-background.js @@ -295,6 +295,8 @@ var windowWatcher = { if ( tabBrowser.deck ) { // Fennec tabContainer = tabBrowser.deck; + tabContainer.addEventListener('DOMTitleChanged', tabWatcher.onFennecLocationChange); + } else if ( tabBrowser.tabContainer ) { // desktop Firefox tabContainer = tabBrowser.tabContainer; @@ -375,6 +377,23 @@ var tabWatcher = { url: location.asciiSpec }); }, + + onFennecLocationChange: function({target: doc}) { + // Fennec "equivalent" to onLocationChange + // note that DOMTitleChanged is selected as it fires very early + // (before DOMContentLoaded), and it does fire even if there is no title + var win = doc.defaultView; + if ( win !== win.top ) { + return; + } + + vAPI.tabs.onNavigation({ + frameId: 0, + tabId: vAPI.tabs.getTabId(getOwnerWindow(win).BrowserApp.getTabForWindow(win)), + url: Services.io.newURI(win.location.href, null, null).asciiSpec + }); + } + }; /******************************************************************************/