#ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_LOG_HANDLER_H_
#define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_LOG_HANDLER_H_
#include "content/browser/devtools/protocol/devtools_domain_handler.h"
#include "content/browser/devtools/protocol/log.h"
namespace content {
class DevToolsAgentHostImpl;
namespace protocol {
class LogHandler final : public DevToolsDomainHandler, public Log::Backend {
public:
LogHandler();
LogHandler(const LogHandler&) = delete;
LogHandler& operator=(const LogHandler&) = delete;
~LogHandler() override;
static std::vector<LogHandler*> ForAgentHost(DevToolsAgentHostImpl* host);
void Wire(UberDispatcher* dispatcher) override;
DispatchResponse Disable() override;
DispatchResponse Enable() override;
void EntryAdded(Log::LogEntry* entry);
private:
std::unique_ptr<Log::Frontend> frontend_;
bool enabled_ = false;
};
}
}
#endif