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 51