summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_service.h
Commit message (Collapse)AuthorAgeFilesLines
* More FRIEND_TEST_ALL_PREFIXES.phajdan.jr@chromium.org2010-07-301-3/+3
| | | | | | | | | TEST=none BUG=44549 Review URL: http://codereview.chromium.org/3053024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54388 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Change the ProxyConfigService interface to be asynchronous, and support ↵eroman@chromium.org2010-07-231-26/+25
| | | | | | | | | | | | observers. The Windows implementation is still using a polling mechanism under the hood, however that polling has been moved to the worker pool so it won't block the IO thread in case WinHttpGetIEProxyConfigForCurrentUser is slow (crbug.com/12189). BUG=12189 Review URL: http://codereview.chromium.org/3056011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53442 0039d316-1c4b-4281-b951-d872f2087c98
* Change the default number of proxy resolver threads used for evaluating PAC ↵eroman@chromium.org2010-07-101-0/+17
| | | | | | | | | | | scripts from 1 to 4. Also adds a command line flag to override the default: --num-pac-threads=X BUG=11079 Review URL: http://codereview.chromium.org/2893005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52046 0039d316-1c4b-4281-b951-d872f2087c98
* Add the capability to run multiple proxy PAC scripts in parallel.eroman@chromium.org2010-07-091-4/+0
| | | | | | | | | | | | | Refactors SingleThreadedProxyResolver into MultiThreadedProxyResolver. New threads are created lazily on demand, up to a fixed maximum. Note that this CL does NOT change the policy in Chrome -- it will continue to use a single thread for proxy resolving, but using the new code to do so. BUG=11079 Review URL: http://codereview.chromium.org/2822043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51924 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 51877, since SpdyNetworkTransactionTest.CorruptFrameSessionError ↵eroman@chromium.org2010-07-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | started failing after this check-in (but only on vista modules builder). BUG=48588 Original CL description: Add the capability to run multiple proxy PAC scripts in parallel. Refactors SingleThreadedProxyResolver into MultiThreadedProxyResolver. New threads are created lazily on demand, up to a fixed maximum. Note that this CL does NOT change the policy in Chrome -- it will continue to use a single thread for proxy resolving, but using the new code to do so. BUG=11079 Review URL: http://codereview.chromium.org/2822043 TBR=eroman@chromium.org Review URL: http://codereview.chromium.org/2945004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51893 0039d316-1c4b-4281-b951-d872f2087c98
* Add the capability to run multiple proxy PAC scripts in parallel.eroman@chromium.org2010-07-081-4/+0
| | | | | | | | | | | | | Refactors SingleThreadedProxyResolver into MultiThreadedProxyResolver. New threads are created lazily on demand, up to a fixed maximum. Note that this CL does NOT change the policy in Chrome -- it will continue to use a single thread for proxy resolving, but using the new code to do so. BUG=11079 Review URL: http://codereview.chromium.org/2822043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51877 0039d316-1c4b-4281-b951-d872f2087c98
* Massively simplify the NetworkChangeNotifier infrastructure:pkasting@chromium.org2010-06-251-16/+10
| | | | | | | | | | | | | | * Use a process-wide object (singleton pattern) * Create/destroy this object on the main thread, make it outlive all consumers * Make observer-related functions threadsafe As a result, the notifier can now be used by any thread (eliminating things like NetworkChangeObserverProxy and NetworkChangeNotifierProxy, and expanding its usefulness); its creation and inner workings are much simplified (eliminating implementation-specific classes); and it is simpler to access (eliminating things like NetworkChangeNotifierThread and a LOT of passing pointers around). BUG=none TEST=Unittests; network changes still trigger notifications Review URL: http://codereview.chromium.org/2802015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50895 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove the implicit constructor for BoundNetLog that allowed ↵eroman@chromium.org2010-04-281-3/+6
| | | | | | | | | passing NULL in place of a const BoundNetLog&. BUG=37421 Review URL: http://codereview.chromium.org/1783008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45851 0039d316-1c4b-4281-b951-d872f2087c98
* Move over another legacy "LoadLog-style" event generator to routing its ↵eroman@chromium.org2010-03-161-10/+5
| | | | | | | | | | messages through the NetLog. BUG=37421 Review URL: http://codereview.chromium.org/1052002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41768 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-161-14/+14
| | | | | | | | | | | | | | | | event stream (NetLog). This makes it possible to associate a single NetLog with a URLRequestContext, and then attach observers to that log to watch the stream of events. This changelist attempts to do the most direct translation, so there will be subsequent iterations to clean up. The user-visible behavior should remain unchanged. BUG=37421 Review URL: http://codereview.chromium.org/848006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41689 0039d316-1c4b-4281-b951-d872f2087c98
* ProxyConfig behaved like a struct, but was defined as a class.eroman@chromium.org2010-02-241-6/+1
| | | | | | | | | Changed it to be a proper class with hidden implementation variables, setters etc. Also seized this opportunity to move the bypass list from being a member of ProxyConfig, to being a member of ProxyRules. This is a more correct hiearchy, since the bypass rules only apply to the manual settings. Lastly, this makes it possible to have the manual rules evaluation be a method on ProxyRules, and shift some more code out of proxy_service. Review URL: http://codereview.chromium.org/651070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39818 0039d316-1c4b-4281-b951-d872f2087c98
* Split out the handling of proxy bypass rules into ProxyBypassRules. There ↵eroman@chromium.org2010-02-191-10/+0
| | | | | | | | | | | | | | are some pretty complicated rules, and this helps isolate that code and better test it. This also lays a framework for addressing bug 9835 (IP/CIDR matching) Lastly, adds support for the exclusion format ".domain" on all platforms, which is interpreted as "*.domain". BUG=28112 TEST=ProxyBypassRulesTest.* Review URL: http://codereview.chromium.org/601070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39486 0039d316-1c4b-4281-b951-d872f2087c98
* Pass the NetworkChangeNotifier to HostResolver.willchan@chromium.org2010-02-041-1/+1
| | | | | | | | | | | | | | | This requires the following refactors: (1) NetworkChangeNotifier moves out of HttpNetworkSession into IOThread. (2) HostResolver gets initialized with NetworkChangeNotifier. (3) NetworkChangeNotifier needs to get passed into HttpCache and HttpNetworkSession (required updating a lot of files). (4) NetworkChangeNotifier is no longer reference counted. It is owned by IOThread. (5) IOThread gains a new struct: Globals. It can only be used on the io thread. (6) ChromeURLRequestContextFactory uses IOThread::Globals to initialize ChromeURLRequest objects with the host resolver and network change notifier. BUG=26159 Review URL: http://codereview.chromium.org/552117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38052 0039d316-1c4b-4281-b951-d872f2087c98
* Add more functionality to about:net-internals:eroman@chromium.org2010-01-131-0/+15
| | | | | | | | | | | | | (1) Display the cached bad proxies, and how long until they will be retried (addresses an old TODO). (2) Add a button to clear the bad proxies cache. (3) Add a button to force refetching of the proxy configuration (this can be used to force refetch of PAC files, very convenient when testing). BUG=none TEST=none Review URL: http://codereview.chromium.org/541045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36159 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a NetworkChangeNotifier dependency to ProxyService; when we observer a ↵eroman@chromium.org2010-01-081-2/+18
| | | | | | | | | | | | | | | network change through the notifier, the ProxyService re-configures itself. So for example, if you were to switch to VPN and are using a custom PAC URL, we will re-download that URL on the new network. Similarly if you are using auto-detect PAC settings, we will re-run the autodiscovery steps for the next resolve. Note that Chromium is still passing a NULL NetworkChangeNotifier dependency into its ProxyService -- until it passes a real implementation, this will not impact Chrome. BUG=12293 TEST=ProxyServiceTest.NetworkChangeTriggersPacRefetch Review URL: http://codereview.chromium.org/525104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35772 0039d316-1c4b-4281-b951-d872f2087c98
* Log the results of proxy resolution to LoadLog when "full logging mode" is ↵eroman@chromium.org2010-01-071-0/+7
| | | | | | | | | | | | | | enabled. Examples of what the logged text looks like: "Resolved proxy list: PROXY foobar:6233" "Resolved proxy list: DIRECT" "Resolved proxy list: PROXY foobar:80;SOCKS5 baz:1080;DIRECT" Review URL: http://codereview.chromium.org/518042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35749 0039d316-1c4b-4281-b951-d872f2087c98
* Re-order some declarations in ProxyService, to ensure that deletion of ↵eroman@chromium.org2010-01-061-6/+10
| | | | | | | | | | | InitProxyResolver happens *after* the deletion of ProxyResolver. BUG=24864 TEST=ProxyServiceTest.DeleteWhileInitProxyResolverHasOutstandingFetch, ProxyServiceTest.DeleteWhileInitProxyResolverHasOutstandingSet Review URL: http://codereview.chromium.org/519060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35643 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the implicit fallback to DIRECT when proxies fail. This better ↵eroman@chromium.org2010-01-051-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | matches other browsers, and simplifies the code. To better understand what this means, here are some examples how the behaviors will differ for the user: (1) You start chrome with --proxy-server="foobar:80". The server "foobar:80" is refusing connections. Before: Would fallback to direct after failing to connect through foobar:80. Now: Will error-out with connection refused after failing to connect through foobar:80. (2) You start chrome with --proxy-pac-url="file:///foobar.pac". The server "foobar:80" is unreachable, and foobar.pac reads: function FindProxyForURL(url, host) { return "PROXY foobar:80"; } Before: Would fallback to direct after failing to connect through foobar:80. Now: Will error-out with connection refused after failing to connect through foobar:80. (3) You start chrome with --proxy-pac-url="file:///foobar.pac". The server "foobar:80" is unreachable, and foobar.pac reads: function FindProxyForURL(url, host) { return "PROXY foobar:80; DIRECT"; } *No change, since the fallback to DIRECT is explicit in the PAC script* BUG=12303 Review URL: http://codereview.chromium.org/502068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35549 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new event to LoadLog:eroman@chromium.org2009-12-011-2/+2
| | | | | | | | | | | | | | | | | PROXY_SERVICE_POLL_CONFIG_SERVICE_FOR_CHANGES which measures how much time was spent per request retrieving the system proxy settings. On Windows this corresponds with the function: WinHttpGetIEProxyConfigForCurrentUser(). Which seems to be very slow on some systems. BUG=12189 Review URL: http://codereview.chromium.org/452034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33508 0039d316-1c4b-4281-b951-d872f2087c98
* NULL out the ProxyScriptFetcher used by ProxyService when the ↵eroman@chromium.org2009-11-181-0/+5
| | | | | | | | | | | | URLRequestContext it was using for downloads is destroyed. This avoids the possibility of accessing freed memory when sharing ProxyService amongst request context, and the main context is destroyed first. BUG=25338 Review URL: http://codereview.chromium.org/387065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32427 0039d316-1c4b-4281-b951-d872f2087c98
* Second patch in making destructors of refcounted objects private.jam@chromium.org2009-11-051-2/+8
| | | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/368001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31165 0039d316-1c4b-4281-b951-d872f2087c98
* Move initialization of ChromeURLRequestContexts to the IO thread.eroman@chromium.org2009-10-231-14/+10
| | | | | | | | | | | | | | | | | | | | | | | Before, these URLRequestContexts were lazily created from the UI thread. Unfortunately that model made it easy for consumers on the UI thread to poke at stuff which was being used from the IO thread, and introduce races. So instead of providing a URLRequestContext*, the Profile now vends a URLRequestContextGetter*. The consequence of this is: * Consumers on the UI thread can no longer get access to a URLRequestContext. * Consumers on the IO thread need to call URLRequestContextGetter::GetURLRequestContext() to get at the context. This uses the same style lazy-creation of URLRequestContexts, albeit from the IO thread. OK, so now the smelly part: There were a couple of consumers of URLRequestContext on the UI thread that can't easily be moved to the IO thread -- these are the consumers of the cookie store. Before they could happily mess with the cookie store from the UI thread, and this was fine since CookieStore is threadsafe. However under the new model, they have no way to get at the URLRequestContext from the UI thread, hence can't get a pointer to the cookie store. To support that use-cases, I bastardized the API some by adding a URLRequestContextGetter::GetCookieStore() method that lets UI thread consumers get a pointer to the cookie store, since we know this particular cross-thread usage is safe. BUG=http://crbug.com/22294 Review URL: http://codereview.chromium.org/258008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29880 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability to purge memory to the ProxyResolver.pkasting@chromium.org2009-10-131-1/+4
| | | | | | | | BUG=23400 TEST=none Review URL: http://codereview.chromium.org/272018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28769 0039d316-1c4b-4281-b951-d872f2087c98
* Add skeleton for an about:net-internal page.eroman@chromium.org2009-09-011-5/+10
| | | | | | | | | | | | | | | | | | This page contains low-level debug information that is of interest to power users, and bug investigators. The output can be filtered by using special sub-URLs. The sub-URLs themselves are listed when visiting about:net-internal, but to give an idea: about:net-internal -- everything about:net-internal/proxyservice -- all things proxy about:net-internal/proxyservice.config -- current settings about:net-internal/hostresolver.hostcache -- dns cache BUG=http://crbug.com/14478 R=darin Review URL: http://codereview.chromium.org/173024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25109 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: get GNOME or KDE proxy settings.mdm@chromium.org2009-08-281-4/+5
| | | | | | | | | BUG=17363, 20407 TEST=none Review URL: http://codereview.chromium.org/174327 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24831 0039d316-1c4b-4281-b951-d872f2087c98
* Remove an unused header from proxy_service.h.ericroman@google.com2009-08-181-2/+0
| | | | | | Review URL: http://codereview.chromium.org/164545 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23615 0039d316-1c4b-4281-b951-d872f2087c98
* Reference count ProxyService.eroman@chromium.org2009-08-181-3/+2
| | | | | | | | | | | | | This is necessary since ProxyService is getting shared between chrome's url request contexts (off the record, media), and the current way it is being shared could result in free memory read/writes during shutdown. This is a step towards fixing http://crbug.com/15289. BUG=http://crbug.com/15289 TEST=The existing tests should continue to pass following this refactor. Review URL: http://codereview.chromium.org/165430 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23612 0039d316-1c4b-4281-b951-d872f2087c98
* Instrument ProxyService and InitProxyResolver with LoadLog.eroman@chromium.org2009-08-171-0/+10
| | | | | | | | BUG=http://crbug.com/14478 Review URL: http://codereview.chromium.org/172020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23573 0039d316-1c4b-4281-b951-d872f2087c98
* LoadLog is used as an output parameter, reorder it to the last parameter.willchan@chromium.org2009-08-141-12/+11
| | | | | | Review URL: http://codereview.chromium.org/164531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23419 0039d316-1c4b-4281-b951-d872f2087c98
* Update a comment to reflect the new truth.ericroman@google.com2009-08-141-7/+5
| | | | | | Review URL: http://codereview.chromium.org/165519 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23417 0039d316-1c4b-4281-b951-d872f2087c98
* Add a "LoadLog" parameter to transactions, hostresolver, clientsocketpool ↵ericroman@google.com2009-08-121-6/+14
| | | | | | | | and proyxservice.This dependency comes from the parent URLRequest, and is used as a container for per-request profiling data.This change is strictly a no-op refactor -- the parameter is unused, and LoadLog does nothing.BUG=http://crbug.com/14478TEST=none -- just needs to compile and pass existing tests.DESIGN=<http://docs.google.com/Doc?id=dfhcnb2v_21gbtrcpr3&hl=en> Review URL: http://codereview.chromium.org/126303 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23127 0039d316-1c4b-4281-b951-d872f2087c98
* Don't mutate |config_| after failing proxy-autodetect.eroman@chromium.org2009-08-051-0/+5
| | | | | | | | | | | | Otherwise when polling for configuration changes, we think the current configuration is different than the fetched one. This was a recent regression from r22485. BUG=http://crbug.com/18526 TEST=ProxyServiceTest.UpdateConfigAfterFailedAutodetect Review URL: http://codereview.chromium.org/160654 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22504 0039d316-1c4b-4281-b951-d872f2087c98
* Better match IE's proxy settings.ericroman@google.com2009-08-041-31/+19
| | | | | | | | | | | | | | | | * When BOTH autodetect and custom PAC script are given, try both. * Use successful PAC parsing as the heuristic for determining when a script is valid (rather than first-request). * Only apply the proxy bypass list when using non-PAC. The high level explanation on how this works: http://sites.google.com/a/chromium.org/dev/developers/design-documents/proxy-settings-fallback BUG= http://crbug.com/18271, http://crbug.com/9985 TEST=unit tests. Review URL: http://codereview.chromium.org/160510 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22430 0039d316-1c4b-4281-b951-d872f2087c98
* Consider "127.0.0.1" and "[::1]" local addresses for the purposes of proxy ↵ericroman@google.com2009-07-281-2/+7
| | | | | | | | | | | bypass. BUG=http://crbug.com/17903 TEST=ProxyServiceTest.IsLocalName Review URL: http://codereview.chromium.org/159526 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21876 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the concept of threading from ProxyService, and move it into the ↵ericroman@google.com2009-07-261-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | ProxyResolver dependency. ProxyResolver may now complete requests asynchronously, and is defined to handle multiple requests. The code from ProxyService that queued requests onto the single PAC thread has moved into SingleThreadedProxyResolver. This refactor lays the groundwork for: (1) http://crbug.com/11746 -- Run PAC proxy resolving out of process. (Can inject an IPC bridge implementation of ProxyResolver) (2) http://crbug.com/11079 -- Run PAC proxy resolving on multiple threads. (Can implement a MultithreadedProxyResolver type class; still complications around v8 threadsafety though). BUG=http://crbug.com/11746, http://crbug.com/11079 TEST=existing unit-tests. Review URL: http://codereview.chromium.org/149525 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21631 0039d316-1c4b-4281-b951-d872f2087c98
* Re-do of r16741 (http://codereview.chromium.org/113482).robertshield@google.com2009-05-221-0/+7
| | | | | | | | | | Moved the new automation message in automation_messages_internal.h to the END of the enum as per the large scary warning that I skillfully missed last time around. TBR=amit Review URL: http://codereview.chromium.org/115711 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16754 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of r16741 which appeared to cause a perf regression (???) on the ↵robertshield@google.com2009-05-221-7/+0
| | | | | | | | | | builder. TBR=thomasvl Review URL: http://codereview.chromium.org/115708 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16742 0039d316-1c4b-4281-b951-d872f2087c98
* Adding the ability to alter Chrome's proxy settings via the automation ↵robertshield@google.com2009-05-221-0/+7
| | | | | | | | interface for automated testing. Review URL: http://codereview.chromium.org/113482 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16741 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gconf for the linux proxy config service.sdoyon@chromium.org2009-05-221-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | -Reenables fetching of settings from gconf. -Moves all gconf access to happen from the UI thread only, (where the default glib main loop runs). -Adds support for gconf notifications, avoiding having to poll the settings. -Fixes a small initialization glitch in the unittest. Plus minor code style tweaks. -Permanently removes gdk and glib threading initialization calls that were previously disabled. -Slight reorganization of ProxyService creation to pass down the IO thread MessageLoop. BUG=11111 TEST=none Review URL: http://codereview.chromium.org/113043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16739 0039d316-1c4b-4281-b951-d872f2087c98
* Reorganize the ProxyService::Create() and ↵eroman@chromium.org2009-05-191-0/+8
| | | | | | | | | | | ProxyService::CreateWithoutV8Resolver() methods. Instead of using a NULL ProxyResolver dependency in cases where PAC is not supported, it uses a ProxyResolverNull (always fail) implementation. This is to avoid needing to check in other cases (when v8 is unsupported) if there is a non-null ProxyResolver. Review URL: http://codereview.chromium.org/115532 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16413 0039d316-1c4b-4281-b951-d872f2087c98
* Making command-line specified proxy settings more flexible - allowing for ↵robertshield@google.com2009-05-121-5/+5
| | | | | | | | | | setting of auto-detect, pac url, per-schema proxy settings, proxy bypass urls. BUG=http://crbug.com/266 Review URL: http://codereview.chromium.org/115029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15855 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the static next_id_ counter, to make construction of ProxyConfig ↵ericroman@google.com2009-05-041-4/+12
| | | | | | | | | on different threads safe. BUG=11323 Review URL: http://codereview.chromium.org/102023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15209 0039d316-1c4b-4281-b951-d872f2087c98
* Extract the parsing of proxy rules to ProxyConfig::ProxyRules, and unit-test.ericroman@google.com2009-03-311-0/+5
| | | | | | | | | | This avoids re-parsing the rules every time a proxy resolve is done, and also adds extra tolerance for white space. The other motivation is to not have to fiddle around with strings as much in the various ProxyConfigServceXXXX implementations. Review URL: http://codereview.chromium.org/57011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12829 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-111-1/+0
| | | | | | | | | Normalize end of file newlines in net/. All files end in a single newline. Review URL: http://codereview.chromium.org/43079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11442 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command line flag --v8-proxy-resolver, to select the new PAC ↵ericroman@google.com2009-03-031-3/+18
| | | | | | | | | | | | | | | | | | implementation. When running in single process mode, this flag has no effect (since we can't run side by side with the renderer's V8). In regular mode, the v8 resolver is currently running in the browser process. This means it has to share with the v8 debugger shell. Added locking around the debugger shell so they can peacefully co-exist. When this flag is enabled, PAC scripts are downloaded through the browser. BUG=74,2764 Review URL: http://codereview.chromium.org/27365 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10827 0039d316-1c4b-4281-b951-d872f2087c98
* split up proxy_service into several files (one per class).ericroman@google.com2009-03-021-229/+7
| | | | | | Review URL: http://codereview.chromium.org/28278 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10739 0039d316-1c4b-4281-b951-d872f2087c98
* Add support to ProxyService for downloading a PAC script on behalf of the ↵ericroman@google.com2009-02-231-0/+87
| | | | | | | | ProxyResolver. A ProxyResolver can select this new behavior by subclassing ProxyResolver with |does_fetch = false|. A consequence of this change is that proxy resolve requests are maintained in a queue by ProxyService (rather than implicitly in a queue on the PAC thread's message loop). This simplifies cancellation.This solves issue 7461, and is work-in-progress towards {2764, 74}BUG=7461 Review URL: http://codereview.chromium.org/21328 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10197 0039d316-1c4b-4281-b951-d872f2087c98
* Add parsing for PAC result strings -- ProxyInfo::UsePacString().ericroman@google.com2009-02-191-23/+53
| | | | | | | | | | | Added the support class ProxyServer to avoid losing the proxy server's type information (http, socks) when populating the list. The format of the configuration strings has been extended accordingly to include an optional [<scheme>"://"] prefix. (i.e. "http://", "socks4://", "socks5://"). Review URL: http://codereview.chromium.org/20398 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10010 0039d316-1c4b-4281-b951-d872f2087c98