blob: a636371b51345ac11d66eb49cae281dba0f6130f [file] [log] [blame]
// 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 <string>
#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_