summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui
diff options
context:
space:
mode:
authorrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-30 00:50:26 +0000
committerrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-30 00:50:26 +0000
commita3bb6568a7a996081da62d58c81d626a64c4f309 (patch)
treefaa936470db0c4d1573cb257e36bdd676a6a201d /chrome/browser/dom_ui
parent648a1de30f6693ffd72844a02448d93877aa9f88 (diff)
downloadchromium_src-a3bb6568a7a996081da62d58c81d626a64c4f309.zip
chromium_src-a3bb6568a7a996081da62d58c81d626a64c4f309.tar.gz
chromium_src-a3bb6568a7a996081da62d58c81d626a64c4f309.tar.bz2
UI Revamp + several fixes.
.) UI matched to the Chrome settings DOM UI .) User-mail is now unchangeable .) Changed the screenshot input to a nicer toggle system .) Saved screenshots are only now loaded when the user choses to see them .) Check boxes for everything .) Privacy policy added .) Text changed around as per request by Chrome OS marketing BUG=chromium-os:8836,chromium:61847 TEST=Ran the new UI, checking and unchecking various boxes, trying different screenshots and submitting. More tests being done by the feedback team. Review URL: http://codereview.chromium.org/5271007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67633 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui')
-rwxr-xr-x[-rw-r--r--]chrome/browser/dom_ui/bug_report_ui.cc76
1 files changed, 56 insertions, 20 deletions
diff --git a/chrome/browser/dom_ui/bug_report_ui.cc b/chrome/browser/dom_ui/bug_report_ui.cc
index 2be4fba..d3e2797 100644..100755
--- a/chrome/browser/dom_ui/bug_report_ui.cc
+++ b/chrome/browser/dom_ui/bug_report_ui.cc
@@ -54,16 +54,19 @@
#include "chrome/browser/chromeos/login/user_manager.h"
#endif
-static const char kScreenshotBaseUrl[] = "chrome://screenshots/";
-static const char kCurrentScreenshotUrl[] = "chrome://screenshots/current";
+namespace {
+
+const char kScreenshotBaseUrl[] = "chrome://screenshots/";
+const char kCurrentScreenshotUrl[] = "chrome://screenshots/current";
#if defined(OS_CHROMEOS)
-static const char kSavedScreenshotsUrl[] = "chrome://screenshots/saved/";
+const char kSavedScreenshotsUrl[] = "chrome://screenshots/saved/";
+
+const char kScreenshotPattern[] = "*.png";
+const char kScreenshotsRelativePath[] = "/Screenshots";
-static const char kScreenshotPattern[] = "*.png";
-static const char kScreenshotsRelativePath[] = "/Screenshots";
+const size_t kMaxSavedScreenshots = 2;
#endif
-namespace {
#if defined(OS_CHROMEOS)
void GetSavedScreenshots(std::vector<std::string>* saved_screenshots,
@@ -88,6 +91,9 @@ void GetSavedScreenshots(std::vector<std::string>* saved_screenshots,
while (!screenshot.empty()) {
saved_screenshots->push_back(std::string(kSavedScreenshotsUrl) +
screenshot.BaseName().value());
+ if (saved_screenshots->size() >= kMaxSavedScreenshots)
+ break;
+
screenshot = screenshots.Next();
}
done->Signal();
@@ -190,7 +196,10 @@ class BugReportHandler : public DOMMessageHandler,
private:
void HandleGetDialogDefaults(const ListValue* args);
- void HandleRefreshScreenshots(const ListValue* args);
+ void HandleRefreshCurrentScreenshot(const ListValue* args);
+#if defined(OS_CHROMEOS)
+ void HandleRefreshSavedScreenshots(const ListValue* args);
+#endif
void HandleSendReport(const ListValue* args);
void HandleCancel(const ListValue* args);
void HandleOpenSystemTab(const ListValue* args);
@@ -233,24 +242,36 @@ void BugReportUIHTMLSource::StartDataRequest(const std::string& path,
DictionaryValue localized_strings;
localized_strings.SetString(std::string("title"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_TITLE));
+ localized_strings.SetString(std::string("page-title"),
+ l10n_util::GetStringUTF8(IDS_BUGREPORT_REPORT_PAGE_TITLE));
localized_strings.SetString(std::string("issue-with"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_ISSUE_WITH));
localized_strings.SetString(std::string("page-url"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_REPORT_URL_LABEL));
localized_strings.SetString(std::string("description"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_DESCRIPTION_LABEL));
- localized_strings.SetString(std::string("screenshot"),
+ localized_strings.SetString(std::string("current-screenshot"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_SCREENSHOT_LABEL));
+ localized_strings.SetString(std::string("saved-screenshot"),
+ l10n_util::GetStringUTF8(IDS_BUGREPORT_SAVED_SCREENSHOT_LABEL));
#if defined(OS_CHROMEOS)
localized_strings.SetString(std::string("user-email"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_USER_EMAIL_LABEL));
+ localized_strings.SetString(std::string("sysinfo"),
+ l10n_util::GetStringUTF8(
+ IDS_BUGREPORT_INCLUDE_SYSTEM_INFORMATION_CHKBOX));
+
localized_strings.SetString(std::string("currentscreenshots"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_CURRENT_SCREENSHOTS));
localized_strings.SetString(std::string("savedscreenshots"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_SAVED_SCREENSHOTS));
- localized_strings.SetString(std::string("sysinfo"),
+
+ localized_strings.SetString(std::string("choose-different-screenshot"),
l10n_util::GetStringUTF8(
- IDS_BUGREPORT_INCLUDE_SYSTEM_INFORMATION_CHKBOX));
+ IDS_BUGREPORT_CHOOSE_DIFFERENT_SCREENSHOT));
+ localized_strings.SetString(std::string("choose-original-screenshot"),
+ l10n_util::GetStringUTF8(
+ IDS_BUGREPORT_CHOOSE_ORIGINAL_SCREENSHOT));
#else
localized_strings.SetString(std::string("currentscreenshots"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_INCLUDE_NEW_SCREEN_IMAGE));
@@ -270,6 +291,14 @@ void BugReportUIHTMLSource::StartDataRequest(const std::string& path,
localized_strings.SetString(std::string("no-issue-selected"),
l10n_util::GetStringUTF8(IDS_BUGREPORT_NO_ISSUE_SELECTED));
+ localized_strings.SetString(std::string("no-description"),
+ l10n_util::GetStringUTF8(IDS_BUGREPORT_NO_DESCRIPTION));
+
+ localized_strings.SetString(std::string("no-saved-screenshots"),
+ l10n_util::GetStringUTF8(IDS_BUGREPORT_NO_SAVED_SCREENSHOTS_HELP));
+
+ localized_strings.SetString(std::string("privacy-note"),
+ l10n_util::GetStringUTF8(IDS_BUGREPORT_PRIVACY_NOTE));
// TODO(rkc): Find some way to ensure this order of dropdowns is in sync
// with the order in the userfeedback ChromeData proto buffer
@@ -500,8 +529,12 @@ base::StringPiece BugReportHandler::Init() {
void BugReportHandler::RegisterMessages() {
dom_ui_->RegisterMessageCallback("getDialogDefaults",
NewCallback(this, &BugReportHandler::HandleGetDialogDefaults));
- dom_ui_->RegisterMessageCallback("refreshScreenshots",
- NewCallback(this, &BugReportHandler::HandleRefreshScreenshots));
+ dom_ui_->RegisterMessageCallback("refreshCurrentScreenshot",
+ NewCallback(this, &BugReportHandler::HandleRefreshCurrentScreenshot));
+#if defined(OS_CHROMEOS)
+ dom_ui_->RegisterMessageCallback("refreshSavedScreenshots",
+ NewCallback(this, &BugReportHandler::HandleRefreshSavedScreenshots));
+#endif
dom_ui_->RegisterMessageCallback("sendReport",
NewCallback(this, &BugReportHandler::HandleSendReport));
dom_ui_->RegisterMessageCallback("cancel",
@@ -540,22 +573,25 @@ void BugReportHandler::HandleGetDialogDefaults(const ListValue*) {
dom_ui_->CallJavascriptFunction(L"setupDialogDefaults", dialog_defaults);
}
-void BugReportHandler::HandleRefreshScreenshots(const ListValue*) {
- ListValue screenshots;
- screenshots.Append(new StringValue(std::string(kCurrentScreenshotUrl)));
+void BugReportHandler::HandleRefreshCurrentScreenshot(const ListValue*) {
+ std::string current_screenshot(kCurrentScreenshotUrl);
+ StringValue screenshot(current_screenshot);
+ dom_ui_->CallJavascriptFunction(L"setupCurrentScreenshot", screenshot);
+}
#if defined(OS_CHROMEOS)
+void BugReportHandler::HandleRefreshSavedScreenshots(const ListValue*) {
std::vector<std::string> saved_screenshots;
GetScreenshotUrls(&saved_screenshots);
- ListValue* saved_screenshot_list = new ListValue();
+ ListValue screenshots_list;
for (size_t i = 0; i < saved_screenshots.size(); ++i)
- saved_screenshot_list->Append(new StringValue(saved_screenshots[i]));
- screenshots.Append(saved_screenshot_list);
-#endif
- dom_ui_->CallJavascriptFunction(L"setupScreenshots", screenshots);
+ screenshots_list.Append(new StringValue(saved_screenshots[i]));
+ dom_ui_->CallJavascriptFunction(L"setupSavedScreenshots", screenshots_list);
}
+#endif
+
void BugReportHandler::HandleSendReport(const ListValue* list_value) {
ListValue::const_iterator i = list_value->begin();