Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4251)

Unified Diff: chrome/service/cloud_print/connector_settings.cc

Issue 14215009: Changed cloud print private API to pass all page settings as single object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/service/cloud_print/connector_settings.cc
diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/cloud_print/connector_settings.cc
index 1e9b761a1c35e416165a15702d771dd71add902a..ac7588d0520d9a8c9fe68cf08a149ed715a32f74 100644
--- a/chrome/service/cloud_print/connector_settings.cc
+++ b/chrome/service/cloud_print/connector_settings.cc
@@ -14,6 +14,8 @@ namespace {
const char kDefaultCloudPrintServerUrl[] = "https://www.google.com/cloudprint";
const char kDeleteOnEnumFail[] = "delete_on_enum_fail";
+const char kName[] = "name";
+const char kConnect[] = "connect";
} // namespace
@@ -68,29 +70,39 @@ void ConnectorSettings::InitFrom(ServiceProcessPrefs* prefs) {
prefs::kCloudPrintXmppPingTimeout, kDefaultXmppPingTimeoutSecs);
SetXmppPingTimeoutSec(timeout);
- const base::ListValue* printers = prefs->GetList(
- prefs::kCloudPrintPrinterBlacklist);
+ const base::ListValue* printers = prefs->GetList(prefs::kCloudPrintPrinters);
if (printers) {
for (size_t i = 0; i < printers->GetSize(); ++i) {
- std::string printer;
- if (printers->GetString(i, &printer))
- printer_blacklist_.insert(printer);
+ const base::DictionaryValue* dictionary = NULL;
+ if (printers->GetDictionary(i, &dictionary) && dictionary) {
+ std::string name;
+ dictionary->GetString(kName, &name);
+ if (!name.empty()) {
+ bool connect = connect_new_printers_;
+ dictionary->GetBoolean(kConnect, &connect);
+ if (connect != connect_new_printers_)
+ printers_.insert(name);
+ }
+ }
}
}
}
-bool ConnectorSettings::IsPrinterBlacklisted(const std::string& name) const {
- return printer_blacklist_.find(name) != printer_blacklist_.end();
-};
+bool ConnectorSettings::ShouldConnect(const std::string& printer_name) const {
+ Printers::const_iterator printer = printers_.find(printer_name);
+ if (printer != printers_.end())
+ return !connect_new_printers_;
+ return connect_new_printers_;
+}
void ConnectorSettings::CopyFrom(const ConnectorSettings& source) {
server_url_ = source.server_url();
proxy_id_ = source.proxy_id();
delete_on_enum_fail_ = source.delete_on_enum_fail();
- connect_new_printers_ = source.connect_new_printers();
+ connect_new_printers_ = source.connect_new_printers_;
xmpp_ping_enabled_ = source.xmpp_ping_enabled();
xmpp_ping_timeout_sec_ = source.xmpp_ping_timeout_sec();
- printer_blacklist_ = source.printer_blacklist_;
+ printers_ = source.printers_;
if (source.print_system_settings())
print_system_settings_.reset(source.print_system_settings()->DeepCopy());
}
« no previous file with comments | « chrome/service/cloud_print/connector_settings.h ('k') | chrome/service/cloud_print/connector_settings_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698