chrome/browser/web_applications/docs/manifest_representations.md
This is a list of all the places where we represent manifest data in our codebase.
blink.mojom.Manifest
Mojo IPC representation between Blink and the browser.
Output of the Blink manifest parser.
blink::Manifest
Contains subtypes representing certain fields of the manifest that need to be duplicated in handwritten C++ for assorted reasons.
Used to be a full duplicate manifest definition until https://crbug.com/40780829.
WebAppInstallInfo
Used for installation and updates.
web_app::WebApp
Installed web app representation in RAM.
web_app.WebAppProto
Installed web app representation on disk.
sync_pb.WebAppSpecificsProto
Installed web app representation in sync cloud.
webapps.mojom.WebPageMetadata
Manifest data provided by an HTML document.
web_app::ParseOfflineManifest()
Custom JSON + PNG format for bundling WebAppInstallInfo data on disk for offline default web app installation.
WebApkInfo
Web app installation data that was packaged in an APK.
payments::WebAppInstallationInfo
Payments code doesn't live under /chrome/browser, they have their own parser and representation.
apps.proto.AppProvisioningResponse
Apps Preload Service server communication proto containing default web app install data.