// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/web_applications/web_app_constants.h" #include <ostream> #include <string> #include "components/webapps/browser/installable/installable_metrics.h" namespace web_app { const char kRunOnOsLoginModeWindowed[] = …; static_assert …; static_assert …; static_assert …; static_assert …; // WebAppManagement types that can't be uninstalled by the user. Counterpart to // kUserUninstallableSources. constexpr WebAppManagementTypes kNotUserUninstallableSources = …; constexpr bool AllWebAppManagementTypesListed() { … } // When adding a new WebAppManagement::Type, mark whether or not it is // uninstallable by adding it to the appropriate WebAppManagementTypes constant. // // Note: A nicer way to do this would be to compute kUserUninstallableSources // using a constexpr function which includes an exhaustive switch statement over // WebAppManagement::Types. Such a method would use base::Union to accumulate // sources, which is only constexpr once std::bitset::operator| is constexpr in // C++23. static_assert …; namespace WebAppManagement { std::ostream& operator<<(std::ostream& os, WebAppManagement::Type type) { … } bool IsIwaType(WebAppManagement::Type type) { … } } // namespace WebAppManagement std::ostream& operator<<(std::ostream& os, RunOnOsLoginMode mode) { … } std::ostream& operator<<(std::ostream& os, ApiApprovalState state) { … } } // namespace web_app