- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / quota_internals / quota_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/quota_internals/quota_internals_ui.h"
6
7 #include <string>
8
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/webui/quota_internals/quota_internals_handler.h"
11 #include "chrome/common/url_constants.h"
12 #include "content/public/browser/web_contents.h"
13 #include "content/public/browser/web_ui.h"
14 #include "content/public/browser/web_ui_data_source.h"
15 #include "grit/quota_internals_resources.h"
16 #include "ui/base/l10n/l10n_util.h"
17 #include "ui/base/resource/resource_bundle.h"
18
19 using content::WebContents;
20
21 namespace {
22
23 content::WebUIDataSource* CreateQuotaInternalsHTMLSource() {
24   content::WebUIDataSource* source =
25       content::WebUIDataSource::Create(chrome::kChromeUIQuotaInternalsHost);
26
27   source->SetJsonPath("strings.js");
28   source->AddResourcePath(
29       "event_handler.js", IDR_QUOTA_INTERNALS_EVENT_HANDLER_JS);
30   source->AddResourcePath(
31       "message_dispatcher.js", IDR_QUOTA_INTERNALS_MESSAGE_DISPATCHER_JS);
32   source->SetDefaultResource(IDR_QUOTA_INTERNALS_MAIN_HTML);
33   return source;
34 }
35
36 }  // namespace
37
38 QuotaInternalsUI::QuotaInternalsUI(content::WebUI* web_ui)
39     : WebUIController(web_ui) {
40   web_ui->AddMessageHandler(new quota_internals::QuotaInternalsHandler);
41   Profile* profile = Profile::FromWebUI(web_ui);
42   content::WebUIDataSource::Add(profile, CreateQuotaInternalsHTMLSource());
43 }