While debugging the fetching of web app manifests, I noticed that manifests don't seem to get loaded from the cache where expected, due to an encoding-related mismatch between additional requests and the cached resource. After fixing that, using a cached manifest crashes due to ApplicationManifestLoader::startLoading() reporting a finished load synchronously before DocumentLoader::loadApplicationManifest() returns its callback ID to the caller. This confuses WebPage, which receives notification about a loaded manifest with an unrecognized callback ID.
<rdar://problem/35922108>