// 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. #ifndef COMPONENTS_AUTOFILL_CORE_COMMON_SIGNATURES_UTIL_H_ #define COMPONENTS_AUTOFILL_CORE_COMMON_SIGNATURES_UTIL_H_ #include #include #include #include "base/strings/string16.h" namespace autofill { struct FormData; struct FormFieldData; using FormSignature = uint64_t; using FieldSignature = uint32_t; // Calculates form signature based on |form_data|. FormSignature CalculateFormSignature(const FormData& form_data); // Calculates field signature based on |field_name| and |field_type|. FieldSignature CalculateFieldSignatureByNameAndType( const base::string16& field_name, const std::string& field_type); // Calculates field signature based on |field_data|. This function is a proxy to // |CalculateFieldSignatureByNameAndType|. FieldSignature CalculateFieldSignatureForField(const FormFieldData& field_data); // Returns 64-bit hash of the string. uint64_t StrToHash64Bit(const std::string& str); // Returns 32-bit hash of the string. uint32_t StrToHash32Bit(const std::string& str); } #endif // COMPONENTS_AUTOFILL_CORE_COMMON_SIGNATURES_UTIL_H_