Index: chrome/browser/local_discovery/cloud_print_printer_list.cc |
diff --git a/chrome/browser/local_discovery/cloud_print_printer_list.cc b/chrome/browser/local_discovery/cloud_print_printer_list.cc |
index 8849073ae2f0bd8ab10d03005ca14ceb847a5f47..221a8259cce1338487be7b433169803213868e2e 100644 |
--- a/chrome/browser/local_discovery/cloud_print_printer_list.cc |
+++ b/chrome/browser/local_discovery/cloud_print_printer_list.cc |
@@ -2,10 +2,11 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "chrome/browser/local_discovery/cloud_print_printer_list.h" |
+ |
#include <utility> |
#include "base/strings/stringprintf.h" |
-#include "chrome/browser/local_discovery/cloud_print_printer_list.h" |
#include "chrome/common/cloud_print/cloud_print_constants.h" |
#include "components/cloud_devices/common/cloud_devices_urls.h" |
@@ -34,10 +35,11 @@ void CloudPrintPrinterList::Start() { |
const CloudPrintPrinterList::PrinterDetails* |
CloudPrintPrinterList::GetDetailsFor(const std::string& id) { |
- PrinterIDMap::iterator found = printer_id_map_.find(id); |
- if (found != printer_id_map_.end()) { |
- return &printer_list_[found->second]; |
+ for (iterator i = printer_list_.begin(); i != printer_list_.end(); ++i) { |
+ if (i->id == id) |
+ return &(*i); |
} |
+ return NULL; |
return NULL; |
} |
@@ -66,15 +68,10 @@ void CloudPrintPrinterList::OnGCDAPIFlowComplete( |
if (!(*i)->GetAsDictionary(&printer)) |
continue; |
- if (!FillPrinterDetails(printer, &printer_details)) continue; |
- |
- std::pair<PrinterIDMap::iterator, bool> inserted = |
- printer_id_map_.insert( |
- make_pair(printer_details.id, printer_list_.size()) ); |
+ if (!FillPrinterDetails(printer, &printer_details)) |
+ continue; |
- if (inserted.second) { // ID is new. |
- printer_list_.push_back(printer_details); |
- } |
+ printer_list_.push_back(printer_details); |
} |
delegate_->OnCloudPrintPrinterListReady(); |