Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(939)

Unified Diff: chrome/browser/ui/webui/crashes_ui.cc

Issue 7276009: Add content-security-policy directive to chrome://crashes page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/crashes.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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";
}
////////////////////////////////////////////////////////////////////////////////
« no previous file with comments | « chrome/browser/resources/crashes.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698