Я не знаю, что делает Firefox, но если бы это был я, я бы посмотрел на следующее:
Начальная страница обычно загружается довольно быстро. Начните синтаксический анализ, пока он еще входит, и начните захватывать другие ресурсы (css, js, images и т. Д.), Которые требует страница.
Используйте индикатор выполнения, чтобы показать, сколько времени займут вспомогательные файлы, и оцените страницу на основе пессимистического среднего значения других файлов того типа, которые вы загружали ранее.
То, что многие программы делают со своим индикатором выполнения, когда у него нет информации, - это предоставление индикатора выполнения, который замедляется по мере приближения к концу. Он никогда не достигает конца, но продолжает двигаться, пока продолжают поступать данные.