summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-02 01:53:11 +0000
committersanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-02 01:53:11 +0000
commitbc81a6b62b5a98ba64a653a497f2407cbce7a556 (patch)
tree07926e8e9b44df1f83a6c8989f07b25f8e83e935
parent4c94ab2705fd3eb79c548378cf02e38db771d74f (diff)
downloadchromium_src-bc81a6b62b5a98ba64a653a497f2407cbce7a556.zip
chromium_src-bc81a6b62b5a98ba64a653a497f2407cbce7a556.tar.gz
chromium_src-bc81a6b62b5a98ba64a653a497f2407cbce7a556.tar.bz2
Fixed a bug where we were treating the "status" field in the printer list response JSON as an integer value. It is actually a string value that contains an integer.
BUG=None TEST=Cloud Print proxy should not update printers with non-zero status every time it starts. Review URL: http://codereview.chromium.org/4269001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64706 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/service/cloud_print/cloud_print_proxy_backend.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/chrome/service/cloud_print/cloud_print_proxy_backend.cc b/chrome/service/cloud_print/cloud_print_proxy_backend.cc
index 3b950d2..3307ccc 100644
--- a/chrome/service/cloud_print/cloud_print_proxy_backend.cc
+++ b/chrome/service/cloud_print/cloud_print_proxy_backend.cc
@@ -10,6 +10,7 @@
#include "base/file_util.h"
#include "base/md5.h"
#include "base/rand_util.h"
+#include "base/string_number_conversions.h"
#include "base/string_split.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
@@ -647,8 +648,11 @@ void CloudPrintProxyBackend::Core::InitJobHandlerForPrinter(
DCHECK(!printer_info.printer_name.empty());
printer_data->GetString(kPrinterDescValue,
&printer_info.printer_description);
- printer_data->GetInteger(kPrinterStatusValue,
- &printer_info.printer_status);
+ // Printer status is a string value which actually contains an integer.
+ std::string printer_status;
+ if (printer_data->GetString(kPrinterStatusValue, &printer_status)) {
+ base::StringToInt(printer_status, &printer_info.printer_status);
+ }
printer_data->GetString(kPrinterCapsHashValue,
&printer_info_cloud.caps_hash);
ListValue* tags_list = NULL;