Index: chrome/ext/background.js |
diff --git a/chrome/ext/background.js b/chrome/ext/background.js |
index 0c8bdfc289fc8276fa7a8c6b5f171ad41e729328..65edc7e03c9c4203299bbcde9500781a63bee97b 100644 |
--- a/chrome/ext/background.js |
+++ b/chrome/ext/background.js |
@@ -128,6 +128,13 @@ |
// 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; |
+ |
+ // Frames are assumed to always have a URL, so for new frames it's better to |
+ // record the URL now. Otherwise requests new frames make before their |
+ // onCommitted event fires won't be subject to blocking and will cause |
+ // exceptions. |
+ if (!("url" in frame)) |
+ frame.url = new URL(details.url); |
}); |
var eagerlyUpdatedPages = new ext.PageMap(); |