1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#ifndef CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORD_ITEM_VIEW_H_ 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORD_ITEM_VIEW_H_ 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "components/autofill/core/common/password_form.h" 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "components/password_manager/core/common/password_manager_ui.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "ui/views/view.h" 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 120529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochclass ManagePasswordsBubbleModel; 130529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// A custom view for credentials which allows the management of the specific 15c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// credentials. The view has three distinct states: 16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// 17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// * Present credentials to the user which she may choose to save. 18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// * Present already-saved credentials to the user for management. 19c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// * Offer the user the ability to undo a deletion action. 20c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// 21c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// The ManagePasswordItemView serves as a container for a single view 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// representing one of these states. 23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass ManagePasswordItemView : public views::View { 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public: 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ManagePasswordItemView( 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ManagePasswordsBubbleModel* manage_passwords_bubble_model, 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci const autofill::PasswordForm& password_form, 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) password_manager::ui::PasswordItemPosition position); 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) private: 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci class ManageView; 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci class PendingView; 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci class UndoView; 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) virtual ~ManagePasswordItemView(); 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 37c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch void NotifyClickedDelete(); 38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch void NotifyClickedUndo(); 39c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) // Changes the views according to the state of |delete_password_|. 41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) void Refresh(); 42f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 43010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ManagePasswordsBubbleModel* model_; 44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) autofill::PasswordForm password_form_; 45f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) bool delete_password_; 46f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 47f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ManagePasswordItemView); 48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}; 49f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 50f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORD_ITEM_VIEW_H_ 51