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 03:41:54 +0000
committerrkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-30 03:41:54 +0000
commite7aa405e7d97e67fc96006d0cc5919c801a5834e (patch)
treecec24b53e2f1fbeb79314c675c7d427685342c21 /chrome/browser/dom_ui
parentb78c1e452d611c1fcea1e670693a0869d58c61d7 (diff)
downloadchromium_src-e7aa405e7d97e67fc96006d0cc5919c801a5834e.zip
chromium_src-e7aa405e7d97e67fc96006d0cc5919c801a5834e.tar.gz
chromium_src-e7aa405e7d97e67fc96006d0cc5919c801a5834e.tar.bz2
Retry commit for,
http://codereview.chromium.org/5271007/ BUG=chromium-os:8836,chromium:61847 TEST=Ran the new UI, checking and unchecking various boxes, trying different screenshots and submitting. Review URL: http://codereview.chromium.org/5372007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67672 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui')
-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
--- 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();