#ifndef CHROME_BROWSER_UI_WEBUI_CONFLICTS_CONFLICTS_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_CONFLICTS_CONFLICTS_HANDLER_H_
#include <string>
#include "base/memory/weak_ptr.h"
#include "base/values.h"
#include "chrome/browser/ui/webui/conflicts/conflicts_data_fetcher.h"
#include "content/public/browser/web_ui_message_handler.h"
class ConflictsHandler : public content::WebUIMessageHandler {
public:
ConflictsHandler();
ConflictsHandler(const ConflictsHandler&) = delete;
ConflictsHandler& operator=(const ConflictsHandler&) = delete;
~ConflictsHandler() override;
private:
void RegisterMessages() override;
void HandleRequestModuleList(const base::Value::List& args);
void OnConflictsDataFetched(base::Value::Dict results);
std::string module_list_callback_id_;
ConflictsDataFetcher::UniquePtr conflicts_data_fetcher_;
base::WeakPtrFactory<ConflictsHandler> weak_ptr_factory_{this};
};
#endif