| Index: net/proxy/proxy_config_service_ios.cc
|
| diff --git a/net/proxy/proxy_config_service_ios.cc b/net/proxy/proxy_config_service_ios.cc
|
| deleted file mode 100644
|
| index 84a5adcedf5180f5a340fcf9b6a7fb2b39ea3091..0000000000000000000000000000000000000000
|
| --- a/net/proxy/proxy_config_service_ios.cc
|
| +++ /dev/null
|
| @@ -1,109 +0,0 @@
|
| -// 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.
|
| -
|
| -#include "net/proxy/proxy_config_service_ios.h"
|
| -
|
| -#include <CoreFoundation/CoreFoundation.h>
|
| -#include <CFNetwork/CFProxySupport.h>
|
| -
|
| -#include "base/mac/foundation_util.h"
|
| -#include "base/mac/scoped_cftyperef.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/strings/sys_string_conversions.h"
|
| -#include "net/proxy/proxy_config.h"
|
| -
|
| -namespace net {
|
| -
|
| -namespace {
|
| -
|
| -const int kPollIntervalSec = 10;
|
| -
|
| -// Utility function to pull out a boolean value from a dictionary and return it,
|
| -// returning a default value if the key is not present.
|
| -bool GetBoolFromDictionary(CFDictionaryRef dict,
|
| - CFStringRef key,
|
| - bool default_value) {
|
| - CFNumberRef number =
|
| - base::mac::GetValueFromDictionary<CFNumberRef>(dict, key);
|
| - if (!number)
|
| - return default_value;
|
| -
|
| - int int_value;
|
| - if (CFNumberGetValue(number, kCFNumberIntType, &int_value))
|
| - return int_value;
|
| - else
|
| - return default_value;
|
| -}
|
| -
|
| -void GetCurrentProxyConfig(ProxyConfig* config) {
|
| - base::ScopedCFTypeRef<CFDictionaryRef> config_dict(
|
| - CFNetworkCopySystemProxySettings());
|
| - DCHECK(config_dict);
|
| -
|
| - // Auto-detect is not supported.
|
| - // The kCFNetworkProxiesProxyAutoDiscoveryEnable key is not available on iOS.
|
| -
|
| - // PAC file
|
| -
|
| - if (GetBoolFromDictionary(config_dict.get(),
|
| - kCFNetworkProxiesProxyAutoConfigEnable,
|
| - false)) {
|
| - CFStringRef pac_url_ref = base::mac::GetValueFromDictionary<CFStringRef>(
|
| - config_dict.get(), kCFNetworkProxiesProxyAutoConfigURLString);
|
| - if (pac_url_ref)
|
| - config->set_pac_url(GURL(base::SysCFStringRefToUTF8(pac_url_ref)));
|
| - }
|
| -
|
| - // Proxies (for now http).
|
| -
|
| - // The following keys are not available on iOS:
|
| - // kCFNetworkProxiesFTPEnable
|
| - // kCFNetworkProxiesFTPProxy
|
| - // kCFNetworkProxiesFTPPort
|
| - // kCFNetworkProxiesHTTPSEnable
|
| - // kCFNetworkProxiesHTTPSProxy
|
| - // kCFNetworkProxiesHTTPSPort
|
| - // kCFNetworkProxiesSOCKSEnable
|
| - // kCFNetworkProxiesSOCKSProxy
|
| - // kCFNetworkProxiesSOCKSPort
|
| - if (GetBoolFromDictionary(config_dict.get(),
|
| - kCFNetworkProxiesHTTPEnable,
|
| - false)) {
|
| - ProxyServer proxy_server =
|
| - ProxyServer::FromDictionary(ProxyServer::SCHEME_HTTP,
|
| - config_dict.get(),
|
| - kCFNetworkProxiesHTTPProxy,
|
| - kCFNetworkProxiesHTTPPort);
|
| - if (proxy_server.is_valid()) {
|
| - config->proxy_rules().type =
|
| - ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME;
|
| - config->proxy_rules().proxies_for_http.SetSingleProxyServer(proxy_server);
|
| - // Desktop Safari applies the HTTP proxy to http:// URLs only, but
|
| - // Mobile Safari applies the HTTP proxy to https:// URLs as well.
|
| - config->proxy_rules().proxies_for_https.SetSingleProxyServer(
|
| - proxy_server);
|
| - }
|
| - }
|
| -
|
| - // Proxy bypass list is not supported.
|
| - // The kCFNetworkProxiesExceptionsList key is not available on iOS.
|
| -
|
| - // Proxy bypass boolean is not supported.
|
| - // The kCFNetworkProxiesExcludeSimpleHostnames key is not available on iOS.
|
| -
|
| - // Source
|
| - config->set_source(PROXY_CONFIG_SOURCE_SYSTEM);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -ProxyConfigServiceIOS::ProxyConfigServiceIOS()
|
| - : PollingProxyConfigService(base::TimeDelta::FromSeconds(kPollIntervalSec),
|
| - GetCurrentProxyConfig) {
|
| -}
|
| -
|
| -ProxyConfigServiceIOS::~ProxyConfigServiceIOS() {
|
| -}
|
| -
|
| -} // namespace net
|
|
|