// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package web_app.proto;
// The installation state a web app can be in. These states are exclusive - a
// web app can only be one of these.
// Notes:
// - This enum doesn't have an 'unspecified' value because it was
// 'upgraded' from a bool field.
enum InstallState {
// Formerly "not locally installed", the app is installed on another device
// but not on this device. This app is in registry and installed via sync and
// will have basic information like the name and icons downloaded. This app
// has no OS integration and cannot be launched in standalone mode without
// being automatically upgraded to `kInstalledWithOsIntegration` and having
// all OS integration installed.
SUGGESTED_FROM_ANOTHER_DEVICE = 0;
// The app is fully installed with OS integration (e.g. a desktop shortcut).
INSTALLED_WITH_OS_INTEGRATION = 1;
// The app is installed on this device, but has not done OS integration like
// create shortcuts, register file handlers, etc. This app cannot be launched
// in standalone mode without being automatically upgraded to
// `INSTALLED_WITH_OS_INTEGRATION` and having all OS integration installed.
// For example, preinstalled apps are installed by this state on
// Windows/Max/Linux.
INSTALLED_WITHOUT_OS_INTEGRATION = 2;
}