Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / sync_internals_ui.cc
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/webui/sync_internals_ui.h"
6
7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/ui/webui/sync_internals_message_handler.h"
9 #include "chrome/common/url_constants.h"
10 #include "content/public/browser/web_ui.h"
11 #include "content/public/browser/web_ui_data_source.h"
12 #include "grit/sync_internals_resources.h"
13
14 namespace {
15
16 content::WebUIDataSource* CreateSyncInternalsHTMLSource() {
17   content::WebUIDataSource* source =
18       content::WebUIDataSource::Create(chrome::kChromeUISyncInternalsHost);
19
20   source->SetUseJsonJSFormatV2();
21   source->SetJsonPath("strings.js");
22   source->AddResourcePath("sync_index.js", IDR_SYNC_INTERNALS_INDEX_JS);
23   source->AddResourcePath("chrome_sync.js",
24                           IDR_SYNC_INTERNALS_CHROME_SYNC_JS);
25   source->AddResourcePath("types.js", IDR_SYNC_INTERNALS_TYPES_JS);
26   source->AddResourcePath("sync_log.js", IDR_SYNC_INTERNALS_SYNC_LOG_JS);
27   source->AddResourcePath("sync_node_browser.js",
28                           IDR_SYNC_INTERNALS_SYNC_NODE_BROWSER_JS);
29   source->AddResourcePath("sync_search.js",
30                           IDR_SYNC_INTERNALS_SYNC_SEARCH_JS);
31   source->AddResourcePath("about.js", IDR_SYNC_INTERNALS_ABOUT_JS);
32   source->AddResourcePath("data.js", IDR_SYNC_INTERNALS_DATA_JS);
33   source->AddResourcePath("events.js", IDR_SYNC_INTERNALS_EVENTS_JS);
34   source->AddResourcePath("search.js", IDR_SYNC_INTERNALS_SEARCH_JS);
35   source->SetDefaultResource(IDR_SYNC_INTERNALS_INDEX_HTML);
36   return source;
37 }
38
39 }  // namespace
40
41 SyncInternalsUI::SyncInternalsUI(content::WebUI* web_ui)
42     : WebUIController(web_ui) {
43   Profile* profile = Profile::FromWebUI(web_ui);
44   content::WebUIDataSource::Add(profile, CreateSyncInternalsHTMLSource());
45
46   web_ui->AddMessageHandler(new SyncInternalsMessageHandler);
47 }
48
49 SyncInternalsUI::~SyncInternalsUI() {}
50