Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/proxy_config_service_impl.h" | 5 #include "chrome/browser/chromeos/proxy_config_service_impl.h" |
| 6 | 6 |
| 7 #include <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 482 // Should be called from IO thread. | 482 // Should be called from IO thread. |
| 483 CheckCurrentlyOnIOThread(); | 483 CheckCurrentlyOnIOThread(); |
| 484 if (has_config_) { | 484 if (has_config_) { |
| 485 // Simply return the last cached proxy configuration. | 485 // Simply return the last cached proxy configuration. |
| 486 cached_config_.ToNetProxyConfig(net_config); | 486 cached_config_.ToNetProxyConfig(net_config); |
| 487 return true; | 487 return true; |
| 488 } | 488 } |
| 489 return false; | 489 return false; |
| 490 } | 490 } |
| 491 | 491 |
| 492 void ProxyConfigServiceImpl::OnSettingsOpSucceeded(bool value) { | 492 void ProxyConfigServiceImpl::OnSettingsOpCompleted( |
| 493 VLOG(1) << "Stored proxy setting to device"; | 493 SignedSettings::ReturnCode code, |
| 494 bool value) { | |
| 494 store_property_op_ = NULL; | 495 store_property_op_ = NULL; |
| 495 if (persist_to_device_pending_) | 496 if (SignedSettings::SUCCESS == code) { |
| 496 PersistConfigToDevice(); | 497 VLOG(1) << "Stored proxy setting to device"; |
| 498 if (persist_to_device_pending_) | |
| 499 PersistConfigToDevice(); | |
| 500 } else { | |
| 501 LOG(WARNING) << "Error storing proxy setting to device"; | |
| 502 if (persist_to_device_pending_) | |
| 503 PersistConfigToDevice(); | |
|
xiyuan
2010/12/09 17:55:39
nit: let's move this out of the "if" since we do t
| |
| 504 } | |
| 497 } | 505 } |
| 498 | 506 |
| 499 void ProxyConfigServiceImpl::OnSettingsOpSucceeded(std::string value) { | 507 void ProxyConfigServiceImpl::OnSettingsOpCompleted( |
| 500 VLOG(1) << "Retrieved proxy setting from device, value=[" << value << "]"; | 508 SignedSettings::ReturnCode code, |
| 501 if (reference_config_.Deserialize(value)) { | 509 std::string value) { |
| 502 OnUISetProxyConfig(false); | 510 if (SignedSettings::SUCCESS == code) { |
| 511 VLOG(1) << "Retrieved proxy setting from device, value=[" << value << "]"; | |
| 512 if (reference_config_.Deserialize(value)) { | |
| 513 OnUISetProxyConfig(false); | |
| 514 } else { | |
| 515 LOG(WARNING) << "Error deserializing device's proxy setting"; | |
| 516 InitConfigToDefault(true); | |
| 517 } | |
| 503 } else { | 518 } else { |
| 504 LOG(WARNING) << "Error deserializing device's proxy setting"; | 519 LOG(WARNING) << "Error retrieving proxy setting from device"; |
| 505 InitConfigToDefault(true); | 520 InitConfigToDefault(true); |
| 506 } | 521 } |
| 507 retrieve_property_op_ = NULL; | 522 retrieve_property_op_ = NULL; |
| 508 } | 523 } |
| 509 | 524 |
| 510 void ProxyConfigServiceImpl::OnSettingsOpFailed( | |
| 511 SignedSettings::FailureCode code) { | |
| 512 if (retrieve_property_op_) { | |
| 513 LOG(WARNING) << "Error retrieving proxy setting from device"; | |
| 514 InitConfigToDefault(true); | |
| 515 retrieve_property_op_ = NULL; | |
| 516 } else { | |
| 517 LOG(WARNING) << "Error storing proxy setting to device"; | |
| 518 store_property_op_ = NULL; | |
| 519 if (persist_to_device_pending_) | |
| 520 PersistConfigToDevice(); | |
| 521 } | |
| 522 } | |
| 523 | |
| 524 //------------------ ProxyConfigServiceImpl: private methods ------------------- | 525 //------------------ ProxyConfigServiceImpl: private methods ------------------- |
| 525 | 526 |
| 526 void ProxyConfigServiceImpl::InitConfigToDefault(bool post_to_io_thread) { | 527 void ProxyConfigServiceImpl::InitConfigToDefault(bool post_to_io_thread) { |
| 527 VLOG(1) << "Using default proxy config: auto-detect"; | 528 VLOG(1) << "Using default proxy config: auto-detect"; |
| 528 reference_config_.mode = ProxyConfig::MODE_AUTO_DETECT; | 529 reference_config_.mode = ProxyConfig::MODE_AUTO_DETECT; |
| 529 reference_config_.automatic_proxy.source = ProxyConfig::SOURCE_OWNER; | 530 reference_config_.automatic_proxy.source = ProxyConfig::SOURCE_OWNER; |
| 530 if (post_to_io_thread && can_post_task_) { | 531 if (post_to_io_thread && can_post_task_) { |
| 531 OnUISetProxyConfig(false); | 532 OnUISetProxyConfig(false); |
| 532 } else { | 533 } else { |
| 533 // Update the IO-accessible copy in |cached_config_| as well. | 534 // Update the IO-accessible copy in |cached_config_| as well. |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 585 has_config_ = true; | 586 has_config_ = true; |
| 586 cached_config_ = new_config; | 587 cached_config_ = new_config; |
| 587 // Notify observers of new proxy config. | 588 // Notify observers of new proxy config. |
| 588 net::ProxyConfig net_config; | 589 net::ProxyConfig net_config; |
| 589 cached_config_.ToNetProxyConfig(&net_config); | 590 cached_config_.ToNetProxyConfig(&net_config); |
| 590 FOR_EACH_OBSERVER(net::ProxyConfigService::Observer, observers_, | 591 FOR_EACH_OBSERVER(net::ProxyConfigService::Observer, observers_, |
| 591 OnProxyConfigChanged(net_config)); | 592 OnProxyConfigChanged(net_config)); |
| 592 } | 593 } |
| 593 | 594 |
| 594 } // namespace chromeos | 595 } // namespace chromeos |
| OLD | NEW |