| // Copyright (c) 2011 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 autofill. |
| |
| // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change |
| // any fields in this file. |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| option retain_unknown_fields = true; |
| |
| package sync_pb; |
| |
| import "sync.proto"; |
| |
| // Properties of autofill sync objects. |
| |
| // An AutofillProfile. |
| message AutofillProfileSpecifics { |
| // User-defined label. |
| optional string label = 1; |
| |
| optional string guid = 15; |
| |
| // Contact info. |
| optional string name_first = 2; |
| optional string name_middle = 3; |
| optional string name_last = 4; |
| optional string email_address = 5; |
| optional string company_name = 6; |
| |
| // Home address. |
| optional string address_home_line1 = 7; |
| optional string address_home_line2 = 8; |
| optional string address_home_city = 9; |
| optional string address_home_state = 10; |
| optional string address_home_zip = 11; |
| optional string address_home_country = 12; |
| |
| // Phone + fax. |
| optional string phone_home_whole_number = 13; |
| optional string phone_fax_whole_number = 14; |
| } |
| |
| message AutofillCreditCardSpecifics { |
| // User-defined label (e.g. Amazon Visa). |
| optional string label = 1; |
| |
| // The cardholder's name. |
| optional string name_on_card = 2; |
| |
| // The type, e.g. Mastercard. |
| optional string type = 3; |
| |
| // The credit card number. |
| optional string card_number = 4; |
| |
| // The expiration. |
| optional string expiration_month = 5; |
| optional string expiration_year = 6; |
| |
| // The CVV. |
| optional string verification_code = 7; |
| |
| // The label of the Autofill profile that contains the billing address. |
| optional string billing_address = 8; |
| |
| // The label of the Autofill profile that contains the shipping address. |
| optional string shipping_address = 9; |
| } |
| |
| message AutofillSpecifics { |
| // If any of these 3 fields are present, then all 3 should be, and it implies |
| // that this entity represents a classic autofill object. In this case, |
| // none of the autofill++ objects below should be present. |
| optional string name = 1; |
| optional string value = 2; |
| repeated int64 usage_timestamp = 3; |
| |
| // An autofill++ profile object. If present, indicates this entity |
| // represents an AutofillProfile exclusively, and no other fields (such as |
| // name/value or credit_card) should be present. |
| optional AutofillProfileSpecifics profile = 4; |
| |
| // An AutofillCreditCardSpecifics, encryped using Nigori (see Chromium's |
| // base/nigori.h for details). If present, indicates this entity represents |
| // an autofill++ CreditCard, and no other fields should be present. |
| // If encryption for autofill++ is not enabled, this is unused. See |
| // |credit_card| in that case. |
| optional bytes encrypted_credit_card = 5; |
| |
| // If encryption for autofill++ is not enabled, this field stores the |
| // AutofillCreditCardSpecifics [instead of |encrypted_credit_card|]. |
| optional AutofillCreditCardSpecifics credit_card = 6; |
| } |
| |
| extend EntitySpecifics { |
| optional AutofillSpecifics autofill = 31729; |
| optional AutofillProfileSpecifics autofill_profile = 63951; |
| } |