autofill_dialog_common.h revision ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16
1// Copyright 2013 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#ifndef CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_COMMON_H_
6#define CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_COMMON_H_
7
8#include "chrome/browser/ui/autofill/autofill_dialog_types.h"
9#include "components/autofill/core/browser/autofill_type.h"
10#include "components/autofill/core/browser/field_types.h"
11
12namespace autofill {
13class AutofillProfile;
14}
15
16namespace wallet {
17class Address;
18}
19
20namespace autofill {
21namespace common {
22
23// Returns true if |input| should be shown when |field_type| has been requested.
24bool InputTypeMatchesFieldType(const DetailInput& input,
25                               const AutofillType& field_type);
26
27// Returns true if |input| in the given |section| should be used for a
28// site-requested |field|.
29bool DetailInputMatchesField(DialogSection section,
30                             const DetailInput& input,
31                             const AutofillField& field);
32
33// Returns true if the |type| belongs to the CREDIT_CARD field type group.
34bool IsCreditCardType(ServerFieldType type);
35
36// Constructs |inputs| from template data for a given |dialog_section|.
37void BuildInputsForSection(DialogSection dialog_section, DetailInputs* inputs);
38
39// Returns the AutofillMetrics::DIALOG_UI_*_EDIT_UI_SHOWN metric corresponding
40// to the |section|.
41AutofillMetrics::DialogUiEvent DialogSectionToUiEditEvent(
42    DialogSection section);
43
44// Returns the AutofillMetrics::DIALOG_UI_*_ITEM_ADDED metric corresponding
45// to the |section|.
46AutofillMetrics::DialogUiEvent DialogSectionToUiItemAddedEvent(
47    DialogSection section);
48
49// Returns the AutofillMetrics::DIALOG_UI_*_ITEM_ADDED metric corresponding
50// to the |section|.
51AutofillMetrics::DialogUiEvent DialogSectionToUiSelectionChangedEvent(
52    DialogSection section);
53
54}  // namespace common
55}  // namespace autofill
56
57#endif  // CHROME_BROWSER_UI_AUTOFILL_AUTOFILL_DIALOG_COMMON_H_
58