{"json_modified": "2016-03-28T08:26:25.788202", "uuid": "012b290d-903a-4a61-a380-7c778ebdcae6", "title": "Application cache implementation overview", "url": "/en-US/docs/Mozilla/Application_cache_implementation_overview", "tags": [], "translations": [], "modified": "2016-02-28T07:15:30", "label": "Application cache implementation overview", "localization_tags": [], "locale": "en-US", "id": 66019, "last_edit": "2013-04-25T13:36:22", "summary": "This happens in nsHttpChannel::OpenCacheEntry(). All top level document loading (navigation) channels are set ChooseApplicationCache flag, which happens in nsDocShell::DoURILoad(). Channels having that flag set are searching for nsIApplicationCache object prior inspecting normal HTTP cache. nsIApplicationCacheService::ChooseApplicationCache is given the URL the channel is about to load. It synchronously returns an nsIApplicationCache object representing the most recent cache version from the most recent cache group containing the entry under the URL or a matching namespace.", "sections": [{"id": "Loading_a_top_level_document_from_offline_cache", "title": "Loading a top level document from offline cache"}, {"id": "Associating_the_top_level_document_with_offline_cache", "title": "Associating the top level document with offline cache"}, {"id": "Marking_entries_as_foreign", "title": "Marking entries as foreign"}, {"id": "Loading_subresources_of_a_document_using_offline_cache", "title": "Loading subresources of a document using offline cache"}, {"id": "Falling_back_on_a_resource_load_failure", "title": "Falling back on a resource load failure"}, {"id": "Updating_an_existing_cache_or_first_download_of_an_offline_cache", "title": "Updating an existing cache or first download of an offline cache"}], "slug": "Mozilla/Application_cache_implementation_overview", "review_tags": []}