diff options
author | rkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-30 03:41:54 +0000 |
---|---|---|
committer | rkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-30 03:41:54 +0000 |
commit | e7aa405e7d97e67fc96006d0cc5919c801a5834e (patch) | |
tree | cec24b53e2f1fbeb79314c675c7d427685342c21 /chrome/browser/dom_ui | |
parent | b78c1e452d611c1fcea1e670693a0869d58c61d7 (diff) | |
download | chromium_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.cc | 76 |
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(); |