1 // Copyright 2014 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 COMPONENTS_AUTOFILL_CONTENT_RENDERER_RENDERER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ 6 #define COMPONENTS_AUTOFILL_CONTENT_RENDERER_RENDERER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ 7 8 #include <string> 9 10 #include "components/autofill/core/common/save_password_progress_logger.h" 11 12 class PasswordManagerClient; 13 14 namespace IPC { 15 class Sender; 16 } 17 18 namespace autofill { 19 20 // This is the SavePasswordProgressLogger specialization for the renderer code, 21 // which sends logs to the browser process over IPC. 22 class RendererSavePasswordProgressLogger : public SavePasswordProgressLogger { 23 public: 24 // The logger will use |sender| and |routing_id| to send a 25 // AutofillHostMsg_RecordSavePasswordProgress message with the logs to the 26 // browser. The |sender| needs to outlive the constructed logger. 27 RendererSavePasswordProgressLogger(IPC::Sender* sender, int routing_id); 28 virtual ~RendererSavePasswordProgressLogger(); 29 30 protected: 31 // SavePasswordProgressLogger: 32 virtual void SendLog(const std::string& log) OVERRIDE; 33 34 private: 35 // Used by SendLog to send the IPC message with logs. |sender_| needs to 36 // outlive the logger. 37 IPC::Sender* const sender_; 38 const int routing_id_; 39 40 DISALLOW_COPY_AND_ASSIGN(RendererSavePasswordProgressLogger); 41 }; 42 43 } // namespace autofill 44 45 #endif // COMPONENTS_AUTOFILL_CONTENT_RENDERER_RENDERER_BROWSER_SAVE_PASSWORD_PROGRESS_LOGGER_H_ 46