Chromium Code Reviews| Index: chrome/browser/ui/webui/crashes_ui.cc |
| =================================================================== |
| --- chrome/browser/ui/webui/crashes_ui.cc (revision 90605) |
| +++ chrome/browser/ui/webui/crashes_ui.cc (working copy) |
| @@ -13,6 +13,7 @@ |
| #include "chrome/browser/prefs/pref_service.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
| +#include "chrome/browser/ui/webui/chrome_web_ui_data_source.h" |
| #include "chrome/common/chrome_version_info.h" |
| #include "chrome/common/jstemplate_builder.h" |
| #include "chrome/common/pref_names.h" |
| @@ -31,66 +32,58 @@ |
| namespace { |
| +const char kStringsJsPath[] = "strings.js"; |
| +const char kCrashesJsPath[] = "crashes.js"; |
| + |
| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // CrashesUIHTMLSource |
| // |
| /////////////////////////////////////////////////////////////////////////////// |
| -class CrashesUIHTMLSource : public ChromeURLDataManager::DataSource { |
| +class CrashesUIHTMLSource : public ChromeWebUIDataSource { |
| public: |
| - CrashesUIHTMLSource() |
| - : DataSource(chrome::kChromeUICrashesHost, MessageLoop::current()) {} |
| - |
| - // Called when the network layer has requested a resource underneath |
| - // the path we registered. |
| + CrashesUIHTMLSource(); |
| virtual void StartDataRequest(const std::string& path, |
| bool is_incognito, |
| int request_id); |
| - virtual std::string GetMimeType(const std::string&) const { |
| - return "text/html"; |
| - } |
| + virtual std::string GetMimeType(const std::string& path) const; |
| private: |
| ~CrashesUIHTMLSource() {} |
| - |
| DISALLOW_COPY_AND_ASSIGN(CrashesUIHTMLSource); |
| }; |
| + |
| +CrashesUIHTMLSource::CrashesUIHTMLSource() |
| + : ChromeWebUIDataSource(chrome::kChromeUICrashesHost) { |
| + AddLocalizedString("crashesTitle",IDS_CRASHES_TITLE); |
| + AddLocalizedString("crashCountFormat", |
| + IDS_CRASHES_CRASH_COUNT_BANNER_FORMAT); |
| + AddLocalizedString("crashHeaderFormat", IDS_CRASHES_CRASH_HEADER_FORMAT); |
| + AddLocalizedString("crashTimeFormat", IDS_CRASHES_CRASH_TIME_FORMAT); |
| + AddLocalizedString("bugLinkText", IDS_CRASHES_BUG_LINK_LABEL); |
| + AddLocalizedString("noCrashesMessage", IDS_CRASHES_NO_CRASHES_MESSAGE); |
| + AddLocalizedString("disabledHeader", IDS_CRASHES_DISABLED_HEADER); |
| + AddLocalizedString("disabledMessage", IDS_CRASHES_DISABLED_MESSAGE); |
| +} |
| + |
| void CrashesUIHTMLSource::StartDataRequest(const std::string& path, |
|
Evan Stade
2011/06/30 23:25:23
didn't you change this interface recently
|
| bool is_incognito, |
| int request_id) { |
| - DictionaryValue localized_strings; |
| - localized_strings.SetString("crashesTitle", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_TITLE)); |
| - localized_strings.SetString("crashCountFormat", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_CRASH_COUNT_BANNER_FORMAT)); |
| - localized_strings.SetString("crashHeaderFormat", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_CRASH_HEADER_FORMAT)); |
| - localized_strings.SetString("crashTimeFormat", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_CRASH_TIME_FORMAT)); |
| - localized_strings.SetString("bugLinkText", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_BUG_LINK_LABEL)); |
| - localized_strings.SetString("noCrashesMessage", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_NO_CRASHES_MESSAGE)); |
| - localized_strings.SetString("disabledHeader", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_DISABLED_HEADER)); |
| - localized_strings.SetString("disabledMessage", |
| - l10n_util::GetStringUTF16(IDS_CRASHES_DISABLED_MESSAGE)); |
| + if (path == kStringsJsPath) { |
| + SendLocalizedStringsAsJSON(request_id); |
| + } else { |
| + int idr = (path == kCrashesJsPath) ? IDR_CRASHES_JS : IDR_CRASHES_HTML; |
|
Evan Stade
2011/06/30 23:25:23
no ()
|
| + SendFromResourceBundle(request_id, idr); |
| + } |
| +} |
| - ChromeURLDataManager::DataSource::SetFontAndTextDirection(&localized_strings); |
| +std::string CrashesUIHTMLSource::GetMimeType(const std::string& path) const { |
| + if (path == kCrashesJsPath || path == kStringsJsPath) |
| + return "application/javascript"; |
| - static const base::StringPiece crashes_html( |
| - ResourceBundle::GetSharedInstance().GetRawDataResource(IDR_CRASHES_HTML)); |
| - std::string full_html = |
| - jstemplate_builder::GetI18nTemplateHtml(crashes_html, &localized_strings); |
| - jstemplate_builder::AppendJsTemplateSourceHtml(&full_html); |
| - |
| - scoped_refptr<RefCountedBytes> html_bytes(new RefCountedBytes); |
| - html_bytes->data.resize(full_html.size()); |
| - std::copy(full_html.begin(), full_html.end(), html_bytes->data.begin()); |
| - |
| - SendResponse(request_id, html_bytes); |
| + return "text/html"; |
| } |
| //////////////////////////////////////////////////////////////////////////////// |