| Index: net/proxy/proxy_config.cc
|
| diff --git a/net/proxy/proxy_config.cc b/net/proxy/proxy_config.cc
|
| index d160fa4e1571c7ba6ced2d4d658ded3d5296165f..12acc5a8ea688eac3fffd0db2247b243ec9d373a 100644
|
| --- a/net/proxy/proxy_config.cc
|
| +++ b/net/proxy/proxy_config.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -32,7 +32,7 @@ ProxyConfig::ProxyRules::ProxyRules()
|
| ProxyConfig::ProxyRules::~ProxyRules() {
|
| }
|
|
|
| -void ProxyConfig::ProxyRules::Apply(const GURL& url, ProxyInfo* result) {
|
| +void ProxyConfig::ProxyRules::Apply(const GURL& url, ProxyInfo* result) const {
|
| if (empty()) {
|
| result->UseDirect();
|
| return;
|
| @@ -42,7 +42,7 @@ void ProxyConfig::ProxyRules::Apply(const GURL& url, ProxyInfo* result) {
|
| if (reverse_bypass)
|
| bypass_proxy = !bypass_proxy;
|
| if (bypass_proxy) {
|
| - result->UseDirect();
|
| + result->UseDirectWithBypassedProxy();
|
| return;
|
| }
|
|
|
| @@ -159,7 +159,8 @@ ProxyServer* ProxyConfig::ProxyRules::MapUrlSchemeToProxyNoFallback(
|
| }
|
|
|
| ProxyConfig::ProxyConfig()
|
| - : auto_detect_(false), pac_mandatory_(false), id_(kInvalidConfigID) {
|
| + : auto_detect_(false), pac_mandatory_(false),
|
| + source_(PROXY_CONFIG_SOURCE_UNKNOWN), id_(kInvalidConfigID) {
|
| }
|
|
|
| ProxyConfig::ProxyConfig(const ProxyConfig& config)
|
| @@ -167,6 +168,7 @@ ProxyConfig::ProxyConfig(const ProxyConfig& config)
|
| pac_url_(config.pac_url_),
|
| pac_mandatory_(config.pac_mandatory_),
|
| proxy_rules_(config.proxy_rules_),
|
| + source_(config.source_),
|
| id_(config.id_) {
|
| }
|
|
|
| @@ -178,13 +180,14 @@ ProxyConfig& ProxyConfig::operator=(const ProxyConfig& config) {
|
| pac_url_ = config.pac_url_;
|
| pac_mandatory_ = config.pac_mandatory_;
|
| proxy_rules_ = config.proxy_rules_;
|
| + source_ = config.source_;
|
| id_ = config.id_;
|
| return *this;
|
| }
|
|
|
| bool ProxyConfig::Equals(const ProxyConfig& other) const {
|
| - // The two configs can have different IDs. We are just interested in if they
|
| - // have the same settings.
|
| + // The two configs can have different IDs and sources. We are just interested
|
| + // in if they have the same settings.
|
| return auto_detect_ == other.auto_detect_ &&
|
| pac_url_ == other.pac_url_ &&
|
| pac_mandatory_ == other.pac_mandatory_ &&
|
| @@ -249,6 +252,9 @@ Value* ProxyConfig::ToValue() const {
|
| }
|
| }
|
|
|
| + // Output the source.
|
| + dict->SetString("source", ProxyConfigSourceToString(source_));
|
| +
|
| return dict;
|
| }
|
|
|
|
|