Чтобы кэшировать веб-приложение с помощью файла манифеста, браузер должен иметь возможность получать все файлы, перечисленные в файле манифеста.
Хотя я позаботился о том, чтобы каждый файл можно было найти из браузера, там была одна недостающая часть. Браузер искал файл favicon.ico, хотя он не был указан в файле манифеста и, поскольку он не был найден в каталоге, приложение не было кэшировано.
Сразу после помещения файла favicon.ico в каталог приложение начало кэшироваться и работать в автономном режиме.