diff options
-rw-r--r-- | src/js/1p-filters.js | 1 | ||||
-rw-r--r-- | src/js/traffic.js | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/js/1p-filters.js b/src/js/1p-filters.js index 26853c8..24709a0 100644 --- a/src/js/1p-filters.js +++ b/src/js/1p-filters.js @@ -171,4 +171,3 @@ uDom.onLoad(function() { // https://www.youtube.com/watch?v=UNilsLf6eW4 })(); - diff --git a/src/js/traffic.js b/src/js/traffic.js index 7fbc606..06f5aae 100644 --- a/src/js/traffic.js +++ b/src/js/traffic.js @@ -35,6 +35,7 @@ // This is to be used as last-resort fallback in case a tab is found to not // be bound while network requests are fired for the tab. +var mostRecentRootDocURLTimestamp = 0; var mostRecentRootDocURL = ''; /******************************************************************************/ @@ -63,6 +64,7 @@ var onBeforeRequest = function(details) { pageStore.logRequest(pageStore, ''); } mostRecentRootDocURL = requestURL; + mostRecentRootDocURLTimestamp = Date.now(); return; } @@ -76,6 +78,13 @@ var onBeforeRequest = function(details) { // Lookup the page store associated with this tab id. pageStore = µb.pageStoreFromTabId(tabId); if ( !pageStore ) { + // https://github.com/gorhill/uBlock/issues/1025 + // Google Hangout popup opens without a root frame. So for now we will + // just discard that best-guess root frame if it is too far in the + // future, at which point it ceases to be a "best guess". + if ( (Date.now() - mostRecentRootDocURLTimestamp) >= 500 ) { + mostRecentRootDocURL = ''; + } // https://github.com/gorhill/uBlock/issues/1001 // Not a behind-the-scene request, yet no page store found for the // tab id: we will thus bind the last-seen root document to the |