1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
// Copyright 2016 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;
package autofill;
// The message is sent when a client needs to autofill forms on web pages and
// asks the server about known field types.
// Next available id: 11
message AutofillQueryContents {
required string client_version = 1;
repeated group Form = 2 {
required fixed64 signature = 3;
repeated group Field = 4 {
required fixed32 signature = 5;
optional string name = 8;
optional string type = 9; // Control type.
}
}
}
// This message is the result of an Autofill query. It holds the field type
// information.
// Next available id: 7
message AutofillQueryResponseContents {
optional bool upload_required = 1;
repeated group Field = 2 { required fixed32 autofill_type = 3; }
}
// This message contains information about the field types in a single form.
// It is sent by the toolbar to contribute to the field type statistics.
// Next available id: 21
message AutofillUploadContents {
required string client_version = 1;
required fixed64 form_signature = 2;
// True if the autofill feature was used to fill this form, false otherwise.
required bool autofill_used = 3;
// A string representing a bit array of what personal information items
// the user has entered in the autofill settings dialog.
// The corresponding bit is set if the user has that particular
// item entered and is not set otherwise.
required string data_present = 4;
// List of the fields in the form and their types.
repeated group Field = 5 {
// Field identification inside the current form.
required fixed32 signature = 6;
// Type of the field, e.g. what type of personal information did the user
// enter in that field before form submission. There is a predefined
// enum of types located at
// components/autofill/core/browser/field_types.h
// AutoFillFieldType
required fixed32 autofill_type = 7;
// The value of the name attribute on the field, if present.
optional string name = 8;
// The value of the autocomplete attribute on the field, if present.
optional string autocomplete = 9;
// The type of input control for this field (e.g. text, textarea, email).
optional string type = 10;
enum PasswordGenerationType {
NO_GENERATION = 0;
AUTOMATICALLY_TRIGGERED_GENERATION_ON_SIGN_UP_FORM = 1;
AUTOMATICALLY_TRIGGERED_GENERATION_ON_CHANGE_PASSWORD_FORM = 2;
MANUALLY_TRIGGERED_GENERATION_ON_SIGN_UP_FORM = 3;
MANUALLY_TRIGGERED_GENERATION_ON_CHANGE_PASSWORD_FORM = 4;
IGNORED_GENERATION_POPUP = 5;
}
// The type of password generation, if it happened.
optional PasswordGenerationType generation_type = 17;
enum FormClassifierOutcome {
NO_OUTCOME = 0;
NON_GENERATION_ELEMENT = 1;
GENERATION_ELEMENT = 2;
}
// The outcome of HTML parsing based form classifier.
optional FormClassifierOutcome form_classifier_outcome = 18;
// The value of the class attribute on the field, if present.
optional string css_classes = 19;
// The properties mask (i.e. whether the field was autofilled, user
// modified, etc.) See FieldPropertiesFlags.
optional uint32 properties_mask = 20;
}
// Signature of the form action host (e.g. Hash64Bit("example.com")).
optional fixed64 action_signature = 13;
// Signature of the form which is used for password generation debugging.
// Currently is used when password generated on a password field of a
// registration form is used on a password field of a login form.
optional fixed64 login_form_signature = 14;
// Whether a form submission event was observed.
optional bool submission = 15;
// The form name.
optional string form_name = 16;
}
|