summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_service.cc
Commit message (Collapse)AuthorAgeFilesLines
* 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-0/+33
| | | | | | | | | | | | | | | | | | 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
* Add missing header (breaks on linux).ericroman@google.com2009-03-021-0/+1
| | | | | | | | TBR=wtc@chromium.org Review URL: http://codereview.chromium.org/27356 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10741 0039d316-1c4b-4281-b951-d872f2087c98
* split up proxy_service into several files (one per class).ericroman@google.com2009-03-021-153/+7
| | | | | | Review URL: http://codereview.chromium.org/28278 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10739 0039d316-1c4b-4281-b951-d872f2087c98
* Update a WARNING with a bug URL.evan@chromium.org2009-02-271-5/+5
| | | | | | Review URL: http://codereview.chromium.org/28228 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10547 0039d316-1c4b-4281-b951-d872f2087c98
* Add support to ProxyService for downloading a PAC script on behalf of the ↵ericroman@google.com2009-02-231-49/+235
| | | | | | | | 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-37/+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
* Get rid of synchronous ResolveProxy API.ericroman@google.com2009-01-311-70/+32
| | | | | | | Also remove the ProxyInfo::Apply method. Review URL: http://codereview.chromium.org/19502 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9015 0039d316-1c4b-4281-b951-d872f2087c98
* Move proxy resolve requests out of plugin/renderer process, and into the ↵ericroman@google.com2009-01-311-2/+63
| | | | | | | | browser. Review URL: http://codereview.chromium.org/14142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9006 0039d316-1c4b-4281-b951-d872f2087c98
* post-winhttp cleanup: remove a todo.ericroman@google.com2009-01-151-9/+1
| | | | | | Review URL: http://codereview.chromium.org/18219 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8086 0039d316-1c4b-4281-b951-d872f2087c98
* Remove HttpTransactionWinHttp and the --winhttp command-linewtc@google.com2009-01-131-1/+0
| | | | | | | | | | | | | | | switch. Remove WinHttpThrottle and CertStatusCache, which are only used by HttpTransactionWinHttp. Fix nits reported by cpplint.py. R=eroman,darin BUG=6323 Review URL: http://codereview.chromium.org/17635 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7970 0039d316-1c4b-4281-b951-d872f2087c98
* Split ProxyResolver into two interfaces: A. interface for retrieving the ↵ericroman@google.com2008-12-191-10/+32
| | | | | | | | system proxy settings (ProxyConfigService) B. interface for resolving the proxy (ProxyResolver)The motivation behind this change is: 1. Simplify sharing the WinHTTP code that fetches IE settings, with the V8 proxy resolver (avoids having platform-specific code in ProxyResolverV8). 2. Restrict objects to one thread. (ProxyService calls the config getter on IO thread, and the proxy resolving on the PAC thread).(ProxyResolver is now only 1 method, but this will grow shortly). Review URL: http://codereview.chromium.org/15070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7323 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 6966.ericroman@google.com2008-12-131-5/+0
| | | | | | | this failed UI tests catastrophically Review URL: http://codereview.chromium.org/14103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6968 0039d316-1c4b-4281-b951-d872f2087c98
* Use automatic memory management for URLRequestContext's members.ericroman@google.com2008-12-131-0/+5
| | | | | | | | Also make ProxyService refcounted so the sharing between profiles is explicit. Review URL: http://codereview.chromium.org/13701 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6966 0039d316-1c4b-4281-b951-d872f2087c98
* Misc proxy service changes.ericroman@google.com2008-12-101-6/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (1) Changed the proxy service ownership model -- rather than being a detail of the HTTP stack, it is now a dependency owned by UrlRequestContext. - ProxyService is owned by UrlRequestContext (before was HttpNetworkSession) - ProxyResolver is owned by ProxyService (before was HttpNetworkSession) Being able to share the proxy service is needed in several places, including incognito mode http context (http://crbug.com/3564), and for proxy resolving in the new FTP stack. (2) Added an IPC for getting of the ProxyResolverWinHttp dependency in the plugin process. Not hooked up yet, but intent is to route the proxy resolve requests through the browser process. (3) Changed some unit tests which were depending on the system proxy settings (this was a sideffect of their calling HttpNetworkLayer::CreateFactory(NULL)). (4) Moved the first-time ProxyService::UpdateConfig out of the constructor and into the initial request. Done to avoid startup perf regressions, since the ProxyService construction is now done earlier (on the startup critical path). BUG=3564 Review URL: http://codereview.chromium.org/12938 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6693 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring: replace some raw strings with GURL.ericroman@google.com2008-12-021-9/+20
| | | | | | | | Also address a TODO about stripping references from proxy resolve requests. Review URL: http://codereview.chromium.org/13029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6207 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding of r4221, initial proxy support for the Macavi@google.com2008-10-311-10/+19
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4293 0039d316-1c4b-4281-b951-d872f2087c98
* oops; will reland once tree is openavi@google.com2008-10-301-19/+10
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4223 0039d316-1c4b-4281-b951-d872f2087c98
* Initial Mac proxy implementationavi@google.com2008-10-301-10/+19
| | | | | | Review URL: http://codereview.chromium.org/8671 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4221 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-0/+3
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Misc cleanupsericroman@google.com2008-10-171-8/+0
| | | | | | | | | - leak in unittest - remove a platform ifdef Review URL: http://codereview.chromium.org/7500 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3573 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes http://code.google.com/p/chromium/issues/detail?id=541, which is aniyengar@google.com2008-09-231-2/+2
| | | | | | | | | | | | | | issue with the proxy exception list not being honored if individual rules had uppercase characters in them. The code to match the url with the exceptions was converting both to lowercase. However there was an error in the way the StringToLowerASCII function was used. Bug=541 Review URL: http://codereview.chromium.org/4019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2466 0039d316-1c4b-4281-b951-d872f2087c98
* Allow consumers of MessageLoop to specify the type of MessageLoop they want.darin@google.com2008-08-261-1/+1
| | | | | | | | | | | | | | | | This CL introduces a Type enum to MessageLoop, and I also created subclasses of MessageLoop corresponding to the non-default types: MessageLoopForIO and MessageLoopForUI. I moved all of the platform-specific MessageLoop APIs onto either MessageLoopForIO or MessageLoopForUI. MessageLoopForIO gets the Watcher API, and MessageLoopForUI gets the Observer and Dispatcher APIs. Under the hood, both are implemented in terms of MessagePumpWin, but that will change in a future CL. The Thread class is changed to allow the consumer to specify the Type of MessageLoop they want to have setup on the created thread. I re-organized message_loop_unittest.cc and timer_unittest.cc so that I could exercise all (or most) of the tests against each type of MessageLoop. Note: I know that "explicit MessageLoop(Type type = TYPE_DEFAULT);" is in violation to the style-guide's restriction against default arguments. I'm working on finding a decent solution to that problem. Please ignore this issue for now. The corresponding chrome/ changes are coming in a separate CL due to Reitveld data size limitations. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1362 0039d316-1c4b-4281-b951-d872f2087c98
* Move NOTIMPLEMENTED() macro from "base/notimplemented.h" into "base/logging.h".ericroman@google.com2008-08-251-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1300 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Merge some changes from branches/mac_july_2008 to trunk.ericroman@google.com2008-08-181-0/+13
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1002 0039d316-1c4b-4281-b951-d872f2087c98
* Change the ProxyService to work with ASCII strings.darin@google.com2008-08-121-36/+38
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@711 0039d316-1c4b-4281-b951-d872f2087c98
* Rename HttpProxy* classes to Proxy*. Move them into a net/proxy/ subdirectory.darin@google.com2008-08-111-0/+496
I'm making this change because proxy resolution is really not specific to the HTTP protocol. We need to use the proxy service in our FTP implementation, for example. I made a separate directory instead of just putting these in base, because I anticipate more files once we have our own PAC implementation. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@651 0039d316-1c4b-4281-b951-d872f2087c98