1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// found in the LICENSE file. 4c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ 6c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ 7c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 8c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include <string> 9c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 10c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "components/autofill/core/common/save_password_progress_logger.h" 11c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 12c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochnamespace password_manager { 13c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 14c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass PasswordManagerClient; 15c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// This is the SavePasswordProgressLogger specialization for the browser code, 17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// where the PasswordManagerClient can be directly called. 18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochclass BrowserSavePasswordProgressLogger 19c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch : public autofill::SavePasswordProgressLogger { 20c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch public: 21c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch explicit BrowserSavePasswordProgressLogger(PasswordManagerClient* client); 22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch virtual ~BrowserSavePasswordProgressLogger(); 23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch protected: 25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch // autofill::SavePasswordProgressLogger: 26c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch virtual void SendLog(const std::string& log) OVERRIDE; 27c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 28c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch private: 29c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch // The PasswordManagerClient to which logs can be sent for display. The client 30c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch // must outlive this logger. 31c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch PasswordManagerClient* const client_; 32c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 33c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch DISALLOW_COPY_AND_ASSIGN(BrowserSavePasswordProgressLogger); 34c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch}; 35c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 36c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch} // namespace password_manager 37c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch 38c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#endif // COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ 39