Определяется только в том случае, если есть ожидающая навигация, которая не разрешается визуально в адресной строке браузера. Как только Chrome решит продолжить (что происходит после окончательного подключения к удаленному серверу), он изменит URL в адресной строке, и это будет конец «ожидания».
Гарантии нет будет ли он присутствовать или нет, потому что это зависит от асинхронных событий в сетевом стеке и от того, как ОС планирует процессы в данный конкретный момент. Исходный код Chromium просто имеет if
check там , поэтому он ничего не принимает.
Сделайте это так:
if ((newTab.pendingUrl || newTab.url) === extensionURL) {
//....
}
или
const url = newTab.pendingUrl || newTab.url;
if (url === extensionURL) {
//....
}