• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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