This is something I noticed while debugging the fireing of unload events, this just lools wrong, and doesn't seem to cause any problems so this could be an invalid bug. If this behavior is intended by the design of the docshell/webshell, then go ahead and mark this INVALID. The problem is: Clicking on a link that has a target that specifies some other window, or a new window, causes nsWebShell::OnStartDocumentLoad() to be called on the docshell where the link is, even if that doeshell should be completely uneffected by the link click (AFAIK). IMO we should only call OnStartDocumentLoad() for the docshell where the new document is being loaded, not for the docshell that initiated the load...
Good question! OnStartDocumentLoad doesn't appear to be used that much so either behaviour could be correct. On the one hand, the target should be notified (and we could probably add it to the observer list no problem), but if we do that then what happens if the target is not open yet? Should we open the target, set up the observer only for the embedder to decide they didn't want the window in the first place? I'm assigning to myself for the moment.
A solution I have in mind for another bug should fix this problem. The new docshell should get all the channel notifications, not the current one. Adding a dependency to bug 41214
Ack, a typo. I meant to say this bug was dependent on bug 41241, not 41214.
Marking WONTFIX seeing as OnStartDocumentLoad no longer exists