| Index: chrome/browser/dom_ui/bug_report_ui.cc
|
| diff --git a/chrome/browser/dom_ui/bug_report_ui.cc b/chrome/browser/dom_ui/bug_report_ui.cc
|
| index 2be4fba23f5cd57c1ca52bea11015eb678565b03..d3e27975e903e8be5b1938a0295ff89751dbd3f7 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();
|
|
|