#include "components/dom_distiller/webui/dom_distiller_ui.h"
#include "components/dom_distiller/core/dom_distiller_constants.h"
#include "components/dom_distiller/core/dom_distiller_service.h"
#include "components/dom_distiller/webui/dom_distiller_handler.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_data_source.h"
#include "grit/component_resources.h"
#include "grit/component_strings.h"
namespace dom_distiller {
DomDistillerUi::DomDistillerUi(content::WebUI* web_ui,
                               DomDistillerService* service,
                               const std::string& scheme)
    : content::WebUIController(web_ui) {
  
  content::WebUIDataSource* source =
      content::WebUIDataSource::Create(kChromeUIDomDistillerHost);
  source->SetDefaultResource(IDR_ABOUT_DOM_DISTILLER_HTML);
  source->AddResourcePath("about_dom_distiller.css",
                          IDR_ABOUT_DOM_DISTILLER_CSS);
  source->AddResourcePath("about_dom_distiller.js", IDR_ABOUT_DOM_DISTILLER_JS);
  source->SetUseJsonJSFormatV2();
  source->AddLocalizedString("domDistillerTitle",
                             IDS_DOM_DISTILLER_WEBUI_TITLE);
  source->AddLocalizedString("addArticleUrl",
                             IDS_DOM_DISTILLER_WEBUI_ENTRY_URL);
  source->AddLocalizedString("addArticleAddButtonLabel",
                             IDS_DOM_DISTILLER_WEBUI_ENTRY_ADD);
  source->AddLocalizedString("addArticleFailedLabel",
                             IDS_DOM_DISTILLER_WEBUI_ENTRY_ADD_FAILED);
  source->AddLocalizedString("viewUrlButtonLabel",
                             IDS_DOM_DISTILLER_WEBUI_VIEW_URL);
  source->AddLocalizedString("viewUrlFailedLabel",
                             IDS_DOM_DISTILLER_WEBUI_VIEW_URL_FAILED);
  source->AddLocalizedString("loadingEntries",
                             IDS_DOM_DISTILLER_WEBUI_FETCHING_ENTRIES);
  source->AddLocalizedString("refreshButtonLabel",
                             IDS_DOM_DISTILLER_WEBUI_REFRESH);
  content::BrowserContext* browser_context =
      web_ui->GetWebContents()->GetBrowserContext();
  content::WebUIDataSource::Add(browser_context, source);
  source->SetJsonPath("strings.js");
  
  web_ui->AddMessageHandler(new DomDistillerHandler(service, scheme));
}
DomDistillerUi::~DomDistillerUi() {}
}