// Copyright (c) 2012 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 CHROME_COMMON_PASSWORD_GENERATION_UTIL_H_ #define CHROME_COMMON_PASSWORD_GENERATION_UTIL_H_ namespace password_generation { // Enumerates various events related to the password generation process. enum PasswordGenerationEvent { // No Account creation form is detected. NO_SIGN_UP_DETECTED, // Account creation form is detected. SIGN_UP_DETECTED, // Password generation icon is shown inside the first password field. ICON_SHOWN, // Password generation bubble is shown after user clicks on the icon. BUBBLE_SHOWN, // Number of enum entries, used for UMA histogram reporting macros. EVENT_ENUM_COUNT }; // Wrapper to store the user interactions with the password generation bubble. struct PasswordGenerationActions { // Whether the user has clicked on the learn more link. bool learn_more_visited; // Whether the user has accepted the generated password. bool password_accepted; // Whether the user has manually edited password entry. bool password_edited; // Whether the user has clicked on the regenerate button. bool password_regenerated; PasswordGenerationActions(); ~PasswordGenerationActions(); }; void LogUserActions(PasswordGenerationActions actions); void LogPasswordGenerationEvent(PasswordGenerationEvent event); } // namespace password_generation #endif // CHROME_COMMON_PASSWORD_GENERATION_UTIL_H_