| Index: chrome/ext/background.js |
| diff --git a/chrome/ext/background.js b/chrome/ext/background.js |
| index 0c8bdfc289fc8276fa7a8c6b5f171ad41e729328..d8cbaee11f3c6a6358392f52469cbfc8514880bc 100644 |
| --- a/chrome/ext/background.js |
| +++ b/chrome/ext/background.js |
| @@ -123,13 +123,6 @@ |
| return frame; |
| } |
| - chrome.webNavigation.onBeforeNavigate.addListener(function(details) |
| - { |
| - // Capture parent frame here because onCommitted doesn't get this info. |
| - var frame = createFrame(details.tabId, details.frameId); |
| - frame.parent = framesOfTabs[details.tabId][details.parentFrameId] || null; |
| - }); |
| - |
| var eagerlyUpdatedPages = new ext.PageMap(); |
| ext._updatePageFrameStructure = function(frameId, tabId, url, eager) |
| @@ -168,6 +161,22 @@ |
| frame.url = new URL(url); |
| }; |
| + chrome.webNavigation.onBeforeNavigate.addListener(function(details) |
| + { |
| + // Capture parent frame here because onCommitted doesn't get this info. |
| + var frame = createFrame(details.tabId, details.frameId); |
| + frame.parent = framesOfTabs[details.tabId][details.parentFrameId] || null; |
| + |
| + // Chrome will sometimes perform requests for pre-rendered pages before |
| + // navigation was confirmed and the onComitted event was fired. Those |
| + // requests will often wrongly be considered to be third party, since we |
| + // don't know the correct document domain for requests until after we've |
| + // updated the page structure. As a work around we update the page |
| + // structure eagerly for new tabs (which includes pre-rendered pages). |
| + if (!(details.tabId in framesOfTabs)) |
|
Wladimir Palant
2016/11/14 15:56:29
While this is probably not wrong, I think that you
kzar
2016/11/15 12:19:28
Well so far the issue only described a problem wit
|
| + ext._updatePageFrameStructure(details.frameId, details.tabId, details.url); |
| + }); |
| + |
| chrome.webNavigation.onCommitted.addListener(function(details) |
| { |
| ext._updatePageFrameStructure(details.frameId, details.tabId, details.url); |