blob: 63522debfece6259d4605b2364ea81f606181cc4 [file] [log] [blame]
// Copyright 2014 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.
#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_SUGGESTION_H_
#define COMPONENTS_AUTOFILL_CORE_BROWSER_SUGGESTION_H_
#include <string>
#include "base/strings/string16.h"
namespace autofill {
struct Suggestion {
enum MatchMode {
PREFIX_MATCH, // for prefix matched suggestions;
SUBSTRING_MATCH // for substring matched suggestions;
};
Suggestion();
// Copy constructor for STL containers.
Suggestion(const Suggestion& other);
explicit Suggestion(const base::string16& value);
// Constructor for unit tests. It will convert the strings from UTF-8 to
// UTF-16.
Suggestion(const std::string& value,
const std::string& label,
const std::string& icon,
int frontend_id);
~Suggestion();
// GUID generated by the backend layer. This identifies the exact autofill
// profile that generated this suggestion.
std::string backend_id;
// ID for the frontend to use in identifying the particular result. Positive
// values are sent over IPC to identify the item selected. Negative values
// (see popup_item_ids.h) have special built-in meanings. Default initialized
// to 0.
int frontend_id;
base::string16 value;
base::string16 label;
base::string16 icon;
MatchMode match;
bool is_value_bold; // true if |value| should be displayed in bold type face.
};
} // namespace autofill
#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_SUGGESTION_H_