chromium/components/sync/protocol/extension_specifics.proto

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Sync protocol datatype extension for extensions.

// If you change or add any fields in this file, update proto_visitors.h and
// potentially proto_enum_conversions.{h, cc}.

syntax = "proto2";

option java_multiple_files = true;
option java_package = "org.chromium.components.sync.protocol";

option optimize_for = LITE_RUNTIME;

package sync_pb;

// Properties of extension sync objects.
//
// Merge policy: the settings for the higher version number win; in
// the case of a tie, server wins.
message ExtensionSpecifics {
  // Globally unique id for this extension.
  optional string id = 1;
  // The known installed version.
  optional string version = 2;

  // Auto-update URL to use for this extension.  May be blank, in
  // which case the default one (i.e., the one for the Chrome
  // Extensions Gallery) is used.
  optional string update_url = 3;
  // Whether or not this extension is enabled.
  optional bool enabled = 4;
  // Whether or not this extension is enabled in incognito mode.
  optional bool incognito_enabled = 5;

  // DEPRECATED. See https://crbug.com/1233303.
  optional string name = 6 [deprecated = true];

  // Whether this extension was installed remotely, and hasn't been approved by
  // a user in chrome yet.
  optional bool remote_install = 7;

  // DEPRECATED. See https://crbug.com/1014183.
  optional bool installed_by_custodian = 8 [deprecated = true];

  // DEPRECATED. See https://crbug.com/839681.
  optional bool all_urls_enabled = 9 [deprecated = true];

  // Bitmask of the set of reasons why the extension is disabled (see
  // extensions::disable_reason::DisableReason). Only relevant when enabled ==
  // false. Note that old clients (<M45) won't set this, even when enabled is
  // false.
  optional int32 disable_reasons = 10;
}