// Copyright (c) 2014 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.
//
// Sync protocol datatype extension for supervised user whitelists.

// 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 supervised user whitelist sync objects.
// The fields here are a subset of the fields in an ExtensionSpecifics.
message ManagedUserWhitelistSpecifics {
  // Globally unique id for this whitelist that identifies it in the Web Store.
  optional string id = 1;

  // The name of the whitelist.
  optional string name = 2;
}
