// Copyright 2017 The Chromium Authors. All rights reserved.
// 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;

option java_outer_classname = "ExtensionInstallProtos";
option java_package = "org.chromium.components.metrics";

package metrics;

// Stores information about an extension installed on a user's machine.
// Next tag: 17.
message ExtensionInstallProto {
  // The type of extension item this is.
  enum Type {
    UNKNOWN_TYPE = 0;         // Unknown (hopefully never used)
    EXTENSION = 1;            // A browser extension
    THEME = 2;                // A browser theme
    USER_SCRIPT = 3;          // An extension converted from a user script
    HOSTED_APP = 4;           // A hosted app
    LEGACY_PACKAGED_APP = 5;  // A (deprecated) v1 packaged app
    PLATFORM_APP = 6;         // A platform app
    SHARED_MODULE = 7;        // A shared module
  }
  optional Type type = 1;

  // The source of the extension.
  enum InstallLocation {
    UNKNOWN_LOCATION = 0;  // Unknown (hopefully never used)
    INTERNAL = 1;  // A crx file from the internal Extensions directory; most
                   // webstore-installed extensions fall into this category.
    EXTERNAL_PREF = 2;  // A crx file from an external directory (via prefs).
    EXTERNAL_REGISTRY = 3;  // A crx file from an external directory (via the
                            // Windows registry)
    UNPACKED = 4;   // An unpacked extension loaded from chrome://extensions.
    COMPONENT = 5;  // An internal component extension.
    EXTERNAL_PREF_DOWNLOAD = 6;    // A crx file from an external directory (via
                                   // prefs), downloaded from an update URL.
    EXTERNAL_POLICY_DOWNLOAD = 7;  // A crx file from an external directory (via
                                   // admin policies), downloaded from an update
                                   // URL.
    COMMAND_LINE = 8;  // Loaded from the commandline (e.g. --load-extension).
    EXTERNAL_POLICY = 9;  // A crx file from an external directory (via admin
                          // policies), cached locally and installed from the
                          // cache.
    EXTERNAL_COMPONENT = 10;  // A component extension that was downloaded
                              // externally via an update url.
  }
  optional InstallLocation install_location = 2;

  // The manifest version in the extension. Note: this refers to the
  // Chrome-required versioning of the manifest, not the extension version.
  // Currently, it is always 1 or 2.
  optional int32 manifest_version = 3;

  // The associated UI action in the extension. Each extension can have at most
  // one type of action.
  enum ActionType {
    NO_ACTION = 0;
    BROWSER_ACTION = 1;
    PAGE_ACTION = 2;
    SYSTEM_INDICATOR = 3;
  }
  optional ActionType action_type = 4;

  // If the extension has been granted file access.
  optional bool has_file_access = 5;

  // If the extension has been granted permission to run in incognito contexts.
  optional bool has_incognito_access = 6;

  // If the extension originated from the Chrome Web Store according to the
  // prefs.
  // This differs from install_location, which specifies from where the location
  // on the user’s machine from where the install originated, but not whether
  // the extension is hosted in the store. For instance, sideloaded extensions
  // that are specified via ID in the registry are downloaded from the store.
  optional bool is_from_store = 7;

  // If the extension automatically updates from the Chrome Web Store.
  optional bool updates_from_store = 8;

  // If the extension is a bookmark app that was generated from a web page. This
  // is distinct from install_location above, which specifies from where on the
  // user’s machine the install originated.
  optional bool is_from_bookmark = 9;

  // If the extension was created from a user script. This is distinct from
  // install_location above, which specifies from where on the user’s machine
  // the install originated.
  optional bool is_converted_from_user_script = 10;

  // If the extension was installed by default when the profile was created.
  // These extensions are specified by Chrome.
  optional bool is_default_installed = 11;

  // If the extension was installed by an OEM. This differs from
  // "is_default_installed", since these extensions are specified by the OEM
  // rather than by Chrome. These are specified in a file that is created as
  // part of the creation of the Chrome image, and can be specific to different
  // OEMs.
  optional bool is_oem_installed = 12;

  // The type of background page this extension has. Each extension can have at
  // most one type of background presence.
  enum BackgroundScriptType {
    NO_BACKGROUND_SCRIPT = 0;        // The extension has no background page.
    PERSISTENT_BACKGROUND_PAGE = 1;  // The extension has a persistent
                                     // background page.
    EVENT_PAGE = 2;                  // The extension has a (lazy) event page.
  }
  optional BackgroundScriptType background_script_type = 13;

  // The reasons an extension may be disabled.
  enum DisableReason {
    USER_ACTION = 0;              // The user disabled the extension.
    PERMISSIONS_INCREASE = 1;     // The extension increased permissions.
    RELOAD = 2;                   // The extension is reloading.
    UNSUPPORTED_REQUIREMENT = 3;  // The extension has requirements that weren't
                                  // met (e.g. graphics capabilities).
    SIDELOAD_WIPEOUT = 4;         // The extension was disabled in the sideload
                                  // wipeout.
    UNKNOWN_FROM_SYNC = 5;        // The extension was disabled by sync.
    NOT_VERIFIED = 6;             // The extension couldn't be verified.
    GREYLIST = 7;                 // The extension was found on the greylist.
    CORRUPTED = 8;  // The extension install was corrupted according to content
                    // verification.
    REMOTE_INSTALL = 9;  // The extension was installed remotely and hasn't been
                         // enabled.
    EXTERNAL_EXTENSION = 10;  // The extension was sideloaded and hasn't been
                              // enabled.
    UPDATE_REQUIRED_BY_POLICY = 11;    // Policy requires an unmet minimum
                                       // version.
    CUSTODIAN_APPROVAL_REQUIRED = 12;  // The extension is pending custodian
                                       // approval for a supervised user.
    BLOCKED_BY_POLICY = 13;  // The extension is disabled because it's blocked
                             // by enterprise policy.
  }
  // Any DisableReasons in effect for the extension. An empty list means the
  // extension is not disabled. Note that an extension that is not disabled may
  // nonetheless not be running, e.g., terminated because the extension process
  // was killed.
  repeated DisableReason disable_reasons = 14;

  // The state of the extension in the safe browsing blacklist.
  // The numeric values here match the values of the respective enum in
  // ClientCRXListInfoResponse proto.
  enum BlacklistState {
    // The extension is not in the blacklist.
    NOT_BLACKLISTED = 0;
    // The extension is malware.
    BLACKLISTED_MALWARE = 1;
    // The extension has a serious security vulnerability.
    BLACKLISTED_SECURITY_VULNERABILITY = 2;
    // The extension violated CWS policy.
    BLACKLISTED_CWS_POLICY_VIOLATION = 3;
    // The extension is considered potentially unwanted.
    BLACKLISTED_POTENTIALLY_UNWANTED = 4;
    // Used when we couldn't connect to server, e.g. when offline.
    BLACKLISTED_UNKNOWN = 5;
  }
  optional BlacklistState blacklist_state = 15;

  // Whether the extension was installed in the current sampling period. This
  // is useful if trying to use extension installation in conjunction with other
  // metrics (e.g. page load). Since some of the metrics from this period will
  // have the extension installed and others won't, these records can be
  // discarded for that analysis.
  optional bool installed_in_this_sample_period = 16;
}
