// Copyright 2014 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_CONTENT_RENDERER_RENDERER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_RENDERER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ #include #include "base/macros.h" #include "components/autofill/core/common/save_password_progress_logger.h" class PasswordManagerClient; namespace IPC { class Sender; } namespace autofill { // This is the SavePasswordProgressLogger specialization for the renderer code, // which sends logs to the browser process over IPC. class RendererSavePasswordProgressLogger : public SavePasswordProgressLogger { public: // The logger will use |sender| and |routing_id| to send a // AutofillHostMsg_RecordSavePasswordProgress message with the logs to the // browser. The |sender| needs to outlive the constructed logger. RendererSavePasswordProgressLogger(IPC::Sender* sender, int routing_id); ~RendererSavePasswordProgressLogger() override; protected: // SavePasswordProgressLogger: void SendLog(const std::string& log) override; private: // Used by SendLog to send the IPC message with logs. |sender_| needs to // outlive the logger. IPC::Sender* const sender_; const int routing_id_; DISALLOW_COPY_AND_ASSIGN(RendererSavePasswordProgressLogger); }; } // namespace autofill #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_RENDERER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_