diff options
author | rkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-30 00:50:26 +0000 |
---|---|---|
committer | rkc@chromium.org <rkc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-30 00:50:26 +0000 |
commit | a3bb6568a7a996081da62d58c81d626a64c4f309 (patch) | |
tree | faa936470db0c4d1573cb257e36bdd676a6a201d /chrome/browser/dom_ui | |
parent | 648a1de30f6693ffd72844a02448d93877aa9f88 (diff) | |
download | chromium_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.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..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(); |