1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_PASSWORDS_PASSWORD_UI_VIEW_H_ 6 #define CHROME_BROWSER_UI_PASSWORDS_PASSWORD_UI_VIEW_H_ 7 8 #include "base/memory/scoped_vector.h" 9 #include "ui/gfx/native_widget_types.h" 10 11 namespace autofill { 12 struct PasswordForm; 13 } 14 15 class Profile; 16 17 // An interface for a passwords UI View. A UI view is responsible for 18 // displaying passwords in the UI and routing UI commands to the 19 // PasswordManagerPresenter. 20 class PasswordUIView { 21 public: 22 virtual ~PasswordUIView() {} 23 24 // Returns the profile associated with the currently active profile. 25 virtual Profile* GetProfile() = 0; 26 27 // Reveals the password for the saved password entry at |index| in the UI. 28 // |index| the index of the saved password entry. 29 // |password_value| the value of saved password entry at |index|. 30 virtual void ShowPassword(size_t index, 31 const base::string16& password_value) = 0; 32 33 // Updates the list of passwords in the UI. 34 // |password_list| the list of saved password entries. 35 // |show_passwords| true if the passwords should be shown in the UI. 36 virtual void SetPasswordList( 37 const ScopedVector<autofill::PasswordForm>& password_list, 38 bool show_passwords) = 0; 39 40 // Updates the list of password exceptions in the UI. 41 // |password_exception_list| The list of saved password exceptions. 42 virtual void SetPasswordExceptionList( 43 const ScopedVector<autofill::PasswordForm>& password_exception_list) = 0; 44 #if !defined(OS_ANDROID) 45 // Returns the top level NativeWindow for the view. 46 virtual gfx::NativeWindow GetNativeWindow() = 0; 47 #endif 48 }; 49 50 #endif // CHROME_BROWSER_UI_PASSWORDS_PASSWORD_UI_VIEW_H_ 51