summaryrefslogtreecommitdiff
path: root/chromium/components/dom_distiller/webui/dom_distiller_ui.cc
blob: 807a6b37f72ffa8450ef06cb94b996ca3b37638b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// Copyright 2013 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.

#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_strings.h"
#include "grit/dom_distiller_resources.h"

namespace dom_distiller {

DomDistillerUi::DomDistillerUi(content::WebUI* web_ui,
                               DomDistillerService* service,
                               const std::string& scheme)
    : content::WebUIController(web_ui) {
  // Set up WebUIDataSource.
  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("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");

  // Add message handler.
  web_ui->AddMessageHandler(new DomDistillerHandler(service, scheme));
}

DomDistillerUi::~DomDistillerUi() {}

}  // namespace dom_distiller