Home | History | Annotate | Download | only in protocol
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 //
      5 // Sync protocol datatype extension for autofill.
      6 
      7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
      8 // any fields in this file.
      9 
     10 syntax = "proto2";
     11 
     12 option optimize_for = LITE_RUNTIME;
     13 option retain_unknown_fields = true;
     14 
     15 package sync_pb;
     16 
     17 import "sync.proto";
     18 
     19 // Properties of autofill sync objects.
     20 
     21 // An AutofillProfile.
     22 message AutofillProfileSpecifics {
     23   // User-defined label.
     24   optional string label = 1;
     25   
     26   optional string guid = 15;
     27 
     28   // Contact info.
     29   optional string name_first = 2;
     30   optional string name_middle = 3;
     31   optional string name_last = 4;
     32   optional string email_address = 5;
     33   optional string company_name = 6;
     34 
     35   // Home address.
     36   optional string address_home_line1 = 7;
     37   optional string address_home_line2 = 8;
     38   optional string address_home_city = 9;
     39   optional string address_home_state = 10;
     40   optional string address_home_zip = 11;
     41   optional string address_home_country = 12;
     42 
     43   // Phone + fax.
     44   optional string phone_home_whole_number = 13;
     45   optional string phone_fax_whole_number = 14;
     46 }
     47 
     48 message AutofillCreditCardSpecifics {
     49   // User-defined label (e.g. Amazon Visa). 
     50   optional string label = 1;
     51 
     52   // The cardholder's name.
     53   optional string name_on_card = 2;
     54 
     55   // The type, e.g. Mastercard.
     56   optional string type = 3;
     57 
     58   // The credit card number.
     59   optional string card_number = 4;
     60 
     61   // The expiration.
     62   optional string expiration_month = 5;
     63   optional string expiration_year = 6;
     64 
     65   // The CVV.
     66   optional string verification_code = 7;
     67 
     68   // The label of the Autofill profile that contains the billing address.
     69   optional string billing_address = 8;
     70 
     71   // The label of the Autofill profile that contains the shipping address.
     72   optional string shipping_address = 9;
     73 }
     74 
     75 message AutofillSpecifics {
     76   // If any of these 3 fields are present, then all 3 should be, and it implies
     77   // that this entity represents a classic autofill object.  In this case,
     78   // none of the autofill++ objects below should be present.
     79   optional string name = 1;
     80   optional string value = 2;
     81   repeated int64 usage_timestamp = 3;
     82 
     83   // An autofill++ profile object.  If present, indicates this entity
     84   // represents an AutofillProfile exclusively, and no other fields (such as
     85   // name/value or credit_card) should be present.
     86   optional AutofillProfileSpecifics profile = 4;
     87 
     88   // An AutofillCreditCardSpecifics, encryped using Nigori (see Chromium's
     89   // base/nigori.h for details).  If present, indicates this entity represents
     90   // an autofill++ CreditCard, and no other fields should be present.
     91   // If encryption for autofill++ is not enabled, this is unused.  See
     92   // |credit_card| in that case.
     93   optional bytes encrypted_credit_card = 5;
     94 
     95   // If encryption for autofill++ is not enabled, this field stores the
     96   // AutofillCreditCardSpecifics [instead of |encrypted_credit_card|].
     97   optional AutofillCreditCardSpecifics credit_card = 6;
     98 }
     99 
    100 extend EntitySpecifics {
    101   optional AutofillSpecifics autofill = 31729;
    102   optional AutofillProfileSpecifics autofill_profile = 63951;
    103 }
    104