chromium/ios/web_view/public/cwv_autofill_form.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef IOS_WEB_VIEW_PUBLIC_CWV_AUTOFILL_FORM_H_
#define IOS_WEB_VIEW_PUBLIC_CWV_AUTOFILL_FORM_H_

#import <Foundation/Foundation.h>

#import "cwv_export.h"

NS_ASSUME_NONNULL_BEGIN

// The different form types used in autofilling.
typedef NS_OPTIONS(NSInteger, CWVAutofillFormType) {
  // The type of form is unknown.
  CWVAutofillFormTypeUnknown = 0,
  // Address forms that can be autofilled with saved profiles.
  CWVAutofillFormTypeAddresses = 1 << 0,
  // Credit card forms that can be autofilled with saved credit cards.
  CWVAutofillFormTypeCreditCards = 1 << 1,
  // Log in forms that can be autofilled with saved credentials.
  CWVAutofillFormTypePasswords = 1 << 2
};

// Contains information on a HTML <form> that may be autofilled.
CWV_EXPORT
@interface CWVAutofillForm : NSObject

// The name attribute of the form.
@property(nullable, nonatomic, copy, readonly) NSString* name;

// Indicates the types of form this may be. Note that a form may contain
// addresses, credit cards, and passwords.
@property(nonatomic, readonly) CWVAutofillFormType type;

- (instancetype)init NS_UNAVAILABLE;

@end

NS_ASSUME_NONNULL_END

#endif  // IOS_WEB_VIEW_PUBLIC_CWV_AUTOFILL_FORM_H_