Why aren’t you listening for
webNavigation.onCommitted from the background page?
You could probably also listen for the
'beforeunload' event with a content script and message the beckground to close the window when that happens. (If the tab navigation is what you want to act on, not “url change”.)