This directory contains the App Service publisher classes for web apps (Desktop PWAs and shortcut apps).
App Service publishers keep the App Service updates with the set of installed apps, and implement commands such as launching.
For Ash, Linux, Mac and Windows, the publisher is WebApps. (This is currently also used to support the chrome://apps page in the Lacros browser.)
In Ash with the Lacros flags enabled, this publisher only manages system web apps.
For Lacros, we have a proxy publisher WebAppsCrosapi in the Ash process, that communicates over mojom with the Lacros LacrosWebAppsController. (The web app registry for non-system web apps is in the Lacros process, while the App Service controlling the Chrome OS launcher, shelf, etc. is in the Ash process.)
Each of the web app publisher classes delegate the majority of their functionality to WebAppPublisherHelper.
This class observes updates to the installed set of web apps, and forwards these updates to the publisher that owns it, so the updates can then be forwarded to the App Service.