updater: find unregistered apps before GetAppStates/Install/RunInstaller

This CL runs a task to find unregistered apps when `GetAppStates`,
`Install`, and `RunInstaller` are called via the update service, since
these methods benefit from an accurate picture of installed apps on the
system.

Low-Coverage-Reason: COVERAGE_UNDERREPORTED integration tests
Bug: 391634935
Change-Id: I564a8c5fbb85e24776e348f420f1f4d83ad8a2c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6207134
Auto-Submit: S Ganesh <[email protected]>
Commit-Queue: S Ganesh <[email protected]>
Reviewed-by: Joshua Pawlicki <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1412655}
diff --git a/chrome/updater/update_service_impl_impl.h b/chrome/updater/update_service_impl_impl.h
index 45bae5b..12116a8a 100644
--- a/chrome/updater/update_service_impl_impl.h
+++ b/chrome/updater/update_service_impl_impl.h
@@ -96,6 +96,9 @@
       base::RepeatingCallback<void(const UpdateState&)> state_update,
       base::OnceCallback<void(Result)> callback);
 
+  void GetAppStatesImpl(
+      base::OnceCallback<void(const std::vector<AppState>&)> callback);
+
   void CheckForUpdateImpl(
       const std::string& app_id,
       Priority priority,
@@ -113,6 +116,25 @@
       base::RepeatingCallback<void(const UpdateState&)> state_update,
       base::OnceCallback<void(Result)> callback);
 
+  void InstallImpl(
+      const RegistrationRequest& registration,
+      const std::string& client_install_data,
+      const std::string& install_data_index,
+      Priority priority,
+      const std::string& language,
+      base::RepeatingCallback<void(const UpdateState&)> state_update,
+      base::OnceCallback<void(Result)> callback);
+
+  void RunInstallerImpl(
+      const std::string& app_id,
+      const base::FilePath& installer_path,
+      const std::string& install_args,
+      const std::string& install_data,
+      const std::string& install_settings,
+      const std::string& language,
+      base::RepeatingCallback<void(const UpdateState&)> state_update,
+      base::OnceCallback<void(Result)> callback);
+
   bool IsAppPolicyLoadedOK(const std::string& app_id) const;
   void HandlePolicyLoadError(
       const std::string& app_id,