diff options
author | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-02 01:53:11 +0000 |
---|---|---|
committer | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-02 01:53:11 +0000 |
commit | bc81a6b62b5a98ba64a653a497f2407cbce7a556 (patch) | |
tree | 07926e8e9b44df1f83a6c8989f07b25f8e83e935 | |
parent | 4c94ab2705fd3eb79c548378cf02e38db771d74f (diff) | |
download | chromium_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.cc | 8 |
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; |