summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net
Commit message (Collapse)AuthorAgeFilesLines
* Fix appcache_service and request_context referencing.michaeln@google.com2009-09-222-21/+44
| | | | | | | | | | | | There is one appcache service per profile and several request context per profile. The profile holds a reference to the appcache service. Those request contexts which are subject to retrieval from appcaches hold a reference to the appcache service too. The appcache service is provided with a pointer back to the 'main' request context, this context is used when updating appcaches. Initialization is a little tricky because profiles can't be used on the IO thread and request contexts can't be used on the UI thread. BUG=22597,22125 TEST=many existing tests exercise profile/context creation Review URL: http://codereview.chromium.org/215024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26844 0039d316-1c4b-4281-b951-d872f2087c98
* Mock the LinkDoctor for tests. Should greatly decrease ErrorPage test flakiness.phajdan.jr@chromium.org2009-09-213-0/+65
| | | | | | | | | | | Not getting rid of WaitForTitleMatching because I have to add few more calls to the automation framework (http://crbug.com/19395) to wait properly after navigating back and forward. TEST=Covered by ui_tests and browser_tests. http://crbug.com/18365, http://crbug.com/19361 Review URL: http://codereview.chromium.org/174179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26761 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the sqlite cookie database and web database to use the new sqlitebrettw@chromium.org2009-09-154-5/+505
| | | | | | | | | | | wrapper. This also moves and renamed the old cookie_monster_sqlite file to match the class name. BUG=none TEST=none Review URL: http://codereview.chromium.org/201099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26260 0039d316-1c4b-4281-b951-d872f2087c98
* Do not send or store cookies for extensions autoupdate http requests.asargent@chromium.org2009-09-122-0/+7
| | | | | | | | | BUG=18641 TEST=none Review URL: http://codereview.chromium.org/196097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26054 0039d316-1c4b-4281-b951-d872f2087c98
* Rename X-Force-TLS to Strict-Transport-Security.abarth@chromium.org2009-09-051-2/+2
| | | | | | | | | | | Also, remove StrictTransportSecurity code from SSLPolicy because that code doesn't work. R=agl Review URL: http://codereview.chromium.org/198035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25577 0039d316-1c4b-4281-b951-d872f2087c98
* This CL changes the CookieStore obect to be a refcounted object to get a ↵ananta@chromium.org2009-09-052-20/+12
| | | | | | | | | | | | better handle on its lifetime as there are cases where this object is handed out to URLRequestContext instances which outlive the URLRequestContext object which created it. Partial fix for http://code.google.com/p/chromium/issues/detail?id=15289 Bug=15289 Review URL: http://codereview.chromium.org/197023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25558 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb request interception into the appcache library for both chrome and ↵michaeln@google.com2009-09-012-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | test_shell. AppCache library: * Added AppCacheInterceptor, which is derived from URLRequest::Interceptor. Chrome: * Each UserProfile instantiates a ChromeAppCacheService, which is derived from an appcache library class. * Each ChromeURLRequestContext associated with that profile has a reference to that instance. * ResourceDispatcherHost pokes AppCacheInterceptor when initiating URLRequests and when returning the response head. TestShell: * Added SimpleAppCacheSystem which bundles together appcache lib components for use in a single process with an UI and IO thread. * TestShellWebKit instantiates and initializes an instance of the above, aimed at at temp directory that will get cleaned up when the test run is over. * SimpleResourceLoaderBridge pokes the system when initiating URLRequests and when returning the response head. TEST=none, although many existing tests exercise this stuff BUG=none Review URL: http://codereview.chromium.org/173406 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25099 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the RenderProcessHost.PID function that returns the OS-generatedbrettw@chromium.org2009-08-312-0/+82
| | | | | | | | | | | | | | | | | | | | process ID with an internally-generated id() function. This allows us the guarantee that the IDs are unique over the entire run of the application. This also cleans up some code associated with managing the PID. The main potentially interesting change is now the PID is set uniquely for every creation of RenderProcessHost. It used to be set cleared if the process went away, and re-set if the process was re-created. The ID generation is in ChildProcesInfo so it is also unique between workers and plugins. I had to change some significant things in resource_dispatcher_host_unittest to take into account this new generation of IDs. BUG=17828 TEST=none Review URL: http://codereview.chromium.org/160203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24899 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: get GNOME or KDE proxy settings.mdm@chromium.org2009-08-281-1/+2
| | | | | | | | | 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
* Revert "Fix a ton of compiler warnings."tony@chromium.org2009-08-282-5/+1
| | | | | | | | | | | This reverts commit r24792. TBR=estade Review URL: http://codereview.chromium.org/179028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24796 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a ton of compiler warnings.estade@chromium.org2009-08-282-1/+5
| | | | | | | | | | | | | | | Most of these are classes with virtual methods lacking virtual destructors or NULL used in non-pointer context. BUG=none TEST=app_unittests && base_unittests --gtest_filter=-ConditionVariableTest.LargeFastTaskTest patch by Jacob Mandelson <jlmjlm [at] gmail> http://codereview.chromium.org/171028/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24792 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r24606-24607. The tree didn't like them. :(phajdan.jr@chromium.org2009-08-273-65/+0
| | | | | | | | TBR=darin Review URL: http://codereview.chromium.org/173574 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24608 0039d316-1c4b-4281-b951-d872f2087c98
* Mock the LinkDoctor for tests. Should greatly decrease ErrorPage test flakiness.phajdan.jr@chromium.org2009-08-273-0/+65
| | | | | | | | | | | Not getting rid of WaitForTitleMatching because I have to add few more calls to the automation framework (http://crbug.com/19395) to wait properly after navigating back and forward. TEST=Covered by ui_tests and browser_tests. http://crbug.com/18365, http://crbug.com/19361 Review URL: http://codereview.chromium.org/174179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24606 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Enable experimental support for byte range requests.rvargas@google.com2009-08-241-1/+13
| | | | | | | | | | | Requires --enable-byte-range-support BUG=12258 TEST=covered by unit tests. Review URL: http://codereview.chromium.org/173231 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24113 0039d316-1c4b-4281-b951-d872f2087c98
* Revert cl 24015rvargas@google.com2009-08-211-13/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/174260 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24026 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Enable experimental support for byte range requests.rvargas@google.com2009-08-211-1/+13
| | | | | | | | | | | Requires --enable-byte-range-support BUG=12258 TEST=covered by unit tests. Review URL: http://codereview.chromium.org/173173 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24015 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanups for SSLConfigService and SSLConfigServiceManager.mattm@chromium.org2009-08-214-49/+14
| | | | | | | | | | | | | | | | | Make SSLConfig.rev_checking_enable default to true (which also affects the defaults set by SSLConfigServicePref.) Add static SSLConfigService::CreateSystemSSLConfigService which creates a standalone SSLConfigService (either SSLConfigServiceWin or SSLConfigServiceDefaults.) Use CreateSystemSSLConfigService in fetch_client and test_shell_request_context. Merge SSLConfigServiceManagerWin and SSLConfigServiceManagerDefaults into SSLConfigServiceManagerSystem, which uses CreateSystemSSLConfigService. BUG=11507,19290 TEST=only visible change should be linux defaults to having rev checking option enabled. Review URL: http://codereview.chromium.org/173097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23998 0039d316-1c4b-4281-b951-d872f2087c98
* Load extensions that have their manifest in the Prefs on the UI thread.mpcomplete@chromium.org2009-08-211-9/+6
| | | | | | | | | | | | | | | | There is some migration code for loading old extensions which we do on the UI thread as well, for simplicity. This will only happen the first time the user starts Chrome, so I think it's OK. Also cleaned up the EXTENSIONS_LOADED notification to send out a single extension, instead of a 1-element list of extensions. BUG=18293 TEST=loading extensions should still work Review URL: http://codereview.chromium.org/174208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23997 0039d316-1c4b-4281-b951-d872f2087c98
* Send notice for blackisted non-visual resourcesidanan@chromium.org2009-08-211-1/+12
| | | | | | | | | | | | | This is just the piping to call into the blocked_popup_container (which shall be later renamed and expanded to a generalized blocked resource container) from the browser's request context. BUG=16932 TEST=none Review URL: http://codereview.chromium.org/171109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23973 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Mock the LinkDoctor for tests. Should greatly decrease ErrorPage ↵phajdan.jr@chromium.org2009-08-203-65/+0
| | | | | | | | | | test flakiness." TBR=darin Review URL: http://codereview.chromium.org/173165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23916 0039d316-1c4b-4281-b951-d872f2087c98
* Mock the LinkDoctor for tests. Should greatly decrease ErrorPage test flakiness.phajdan.jr@chromium.org2009-08-203-0/+65
| | | | | | | | | | | Not getting rid of WaitForTitleMatching because I have to add few more calls to the automation framework (http://crbug.com/19395) to wait properly after navigating back and forward. TEST=Covered by ui_tests and browser_tests. http://crbug.com/18365, http://crbug.com/19361 Review URL: http://codereview.chromium.org/174179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23906 0039d316-1c4b-4281-b951-d872f2087c98
* Check for NULL Profile::GetDefaultRequestContext().ericroman@google.com2009-08-202-10/+29
| | | | | | | | | | | | | | | | | | | This papers over a chrome-bot crash. The problem is that the ChromeURLRequestContexts have a split life between the UI thread and IO thread. Although conceptually they live on the IO thread, they are lazy-initialized on the UI thread, and are contained by a Profile which also lives on the UI thread. What happens in this crash, is ResolveProxyMsgHelper (the class which handles IPCs from the plugin process for proxy resolving) calls Profile::GetDefaultRequestContext() to get at the main URLRequestContext from the IO thread. Well, during the shutdown sequence, ~ProfileImpl NULLs the default request context before the IO thread is torn down, so consumers on the IO thread may get NULL. Or even worse, might get a non-NULL pointer to a request context that has already been freed. With this patch I hack past the NULL case. Really we need a proper solution to managing URLRequestContexts split personality... I did a quick survey of the code and found other consumers that use GetDefaultRequestContext from the IO thread, so this bug may be happening elsewhere. BUG=http://crbug.com/18358 Review URL: http://codereview.chromium.org/172085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23854 0039d316-1c4b-4281-b951-d872f2087c98
* Make new FTP the default on Windows. Use the --wininet-ftpwtc@chromium.org2009-08-201-8/+7
| | | | | | | | | | | | command-line switch to select the old WinInet-based FTP implementation. R=phajdan.jr BUG=http://crbug.com/4965 TEST=none Review URL: http://codereview.chromium.org/173099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23836 0039d316-1c4b-4281-b951-d872f2087c98
* Pref-backed SSLConfigService for Linux.mattm@chromium.org2009-08-195-1/+269
| | | | | | | | | | Makes SSLConfigService into a ref-counted interface, and makes Profile own an SSLConfigServiceFactory which is used to create the SSLConfigService and pass it through the URLRequestContext on down to where it is actually used. R=eroman,wtc BUG=11507,19290 Review URL: http://codereview.chromium.org/165003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23757 0039d316-1c4b-4281-b951-d872f2087c98
* Lands <http://codereview.chromium.org/165297> for thiago.farina@gmail.com.hbono@chromium.org2009-08-191-2/+4
| | | | | | | | | | | | | | R=me From Thiago: Replaces some TrimWhitespace with TrimWhitespaceASCII or TrimWhitespaceUTF8. BUG=9851 TEST=run base_unittests.exe, unit_tests.exe and ui_tests.exe Review URL: http://codereview.chromium.org/172039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23703 0039d316-1c4b-4281-b951-d872f2087c98
* Reference count ProxyService.eroman@chromium.org2009-08-183-15/+22
| | | | | | | | | | | | | 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
* LoadLog is used as an output parameter, reorder it to the last parameter.willchan@chromium.org2009-08-142-2/+2
| | | | | | Review URL: http://codereview.chromium.org/164531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23419 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the unittest "DnsMasterTest.OsCachesLookupsTest".eroman@chromium.org2009-08-121-72/+5
| | | | | | | | | | | | This test was checking that the system host resolver maintains an internal cache, by doing actual DNS resolves (which introduces a network dependency in the unit tests). This could be flaky on linux, which doesn't cache resolves. As of r18236 however, chromium maintains its own host cache. So the DNS prefetcher does not need to rely on the OS caching DNS resolves in order to be a win. BUG=http://crbug.com/18766 Review URL: http://codereview.chromium.org/164350 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23239 0039d316-1c4b-4281-b951-d872f2087c98
* Fix unused variable on GCC.phajdan.jr@chromium.org2009-08-121-2/+1
| | | | | | | | | TBR=wtc http://crbug.com/18697 Review URL: http://codereview.chromium.org/164410 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23194 0039d316-1c4b-4281-b951-d872f2087c98
* Fix compile on Windows.phajdan.jr@chromium.org2009-08-121-0/+2
| | | | | | | | | TBR=wtc http://crbug.com/18697 Review URL: http://codereview.chromium.org/165391 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23193 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash with new FTP in Incognito mode.phajdan.jr@chromium.org2009-08-121-1/+12
| | | | | | | | | TEST=See bug. http://crbug.com/18697 Review URL: http://codereview.chromium.org/165386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23190 0039d316-1c4b-4281-b951-d872f2087c98
* Add a "LoadLog" parameter to transactions, hostresolver, clientsocketpool ↵ericroman@google.com2009-08-124-5/+5
| | | | | | | | 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
* Add checks to DEBUG mode that no instance of URLRequest or URLFetcher ↵ericroman@google.com2009-08-111-0/+3
| | | | | | | | | | | | | | | | | | | | survives the destruction of the IO thread. This checking is done by introducing a new helper class to base called LeakTracker. Classes that you want to check for leaks just need to extend LeakTracker. The reason I am picking on URLFetcher / URLRequest, is I believe we have a bug that is making an instance of URLFetcher to outlive the IO thread. This causes various sorts of badness. For example: If URLFetcher survives the IO thread, then URLRequestContext remains referenced and therefore also survives IO thread. In turn HostResolverImpl survives the IO thread, so any outstanding resolve requests are NOT cancelled before the IO thread is decomissioned. So now, when the worker thread doing the DNS resolve finally finishes (assuming it finishes before the rogue URLRequest is destroyed), it post the result to a defunct message loop. KAB00m! (http://crbug.com/15513) Moreover, I believe we hit this same problem sporadically in AutomationProxyTest.AutocompleteGetSetText -- the test is flaky on the buildbots, and I've seen DCHECKs which suggest it is related to this issue. BUG=http://crbug.com/18372 Review URL: http://codereview.chromium.org/160447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23084 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting r22603, which reverts r22591. It seems that the revert doesn't help...hamaji@chromium.org2009-08-061-278/+130
| | | | | | | | | | TEST=none BUG=none TBR=eroman Review URL: http://codereview.chromium.org/164057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22605 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting r22591. It seems to be making purify fail.hamaji@chromium.org2009-08-061-130/+278
| | | | | | | | | | | | | | r22590: http://build.chromium.org/buildbot/waterfall/builders/XP%20Unit%20(purify)/builds/5026 r22591: http://build.chromium.org/buildbot/waterfall/builders/XP%20Unit%20(purify)/builds/5030 TEST=none BUG=none TBR=eroman Review URL: http://codereview.chromium.org/165048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22603 0039d316-1c4b-4281-b951-d872f2087c98
* Remove dependency on SingleThreadedProxyResolver from ↵eroman@chromium.org2009-08-061-278/+130
| | | | | | | | | | | | | | resolve_proxy_msg_helper_unittest.cc. Extracts MockAsyncProxyResolver to "mock_proxy_resolver.h". This should be the last unittest that needs cleanup post r21631. BUG=http://crbug.com/11079 Review URL: http://codereview.chromium.org/160619 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22591 0039d316-1c4b-4281-b951-d872f2087c98
* Better match IE's proxy settings.ericroman@google.com2009-08-041-1/+5
| | | | | | | | | | | | | | | | * 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
* ChromeURLRequestContext falloutamit@chromium.org2009-07-302-1/+25
| | | | | | | | | | | | | | | | Fix the issues caused by static_cast<ChromeURLRequestContext*>. There were assumptions in the code that a URLRequestContext* will always be ChromeURLRequestContext* and resulting 'static_cast's. This assumption is no longer true. Instead, URLlRequestContext now has a member GetChromeURLRequestContext that returns a ChromeURLRequestContext* if it really that type. BUG=none TEST=none Review URL: http://codereview.chromium.org/160332 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22104 0039d316-1c4b-4281-b951-d872f2087c98
* Add plumbing for allowing the renderer to intercept and cancel redirects beforedarin@chromium.org2009-07-303-52/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | they are sent. A good portion of this CL is to support the new UI test. The IPC to notify the renderer of a redirect now includes a ResponseInfo struct allowing WebURLLoaderImpl to provide detailed response info (including response headers) to WebKit. This isn't strictly necessary, but I thought I'd include this to make the code more future proof. A cross origin restriction is added to SyncResourceHandler::OnRequestRedirected that mimics the code in WebCore/platform/network/cf/ResourceHandleCFNet.cpp. This is most unfortunate, and I filed a bug at bugs.webkit.org about the similar duplication of logic in WebCore. There seemed to be enough code paths leading to request cancellation at the ResourceDispatcher level that I couldn't easily ensure that a request only gets cancelled once. So, I added an is_cancelled flag to record if it is not necessary to send a ViewHostMsg_CancelRequest IPC. This avoids some warnings in the ResourceDispatcherHost. To support my UI test, I needed to change URLRequestMockHttpJob to know how to serve redirects. I moved URLRequestHttpJob::IsRedirectResponse to its base class, URLRequestJob so that the implementation could be shared. This revealed a minor bug in URLRequest. We were never resetting response_info_ upon following a redirect. I added this code consolidated similar code from URLRequest::Redirect and URLRequest::RestartWithJob into a new PrepareToRestart method. To support my UI test, I added a "hit count" field to URLRequestFilter, and I added an associated automation IPC to query the value. The test was a bit challenging to write because there is no way to tell the difference from JS. Before and after, it appears to JS as though the cross-origin redirect failed. However, the server can see the extra redirect request. So, I simply record the number of hits against URLs of the form http://mock.http/foo, and use that to observe if any extra requests were made. I implemented the new IPC message by extending the AutomationResourceMessageFilter. This allowed me to trap the IPC message on the IO thread where it is safe to probe the URLRequestFilter. I then changed the implementation of AutomationMsg_SetFilteredInet to work similarly. I revised URLRequestMockHTTPJob::GetOnDiskPath to support ports. This actually allowed me to reuse URLRequestMockHTTPJob to service URLs in different security origins. My test redirects from http://mock.http/ to http://mock.http:4000/. Please see the comments in cross-origin-redirect-blocked.html for details about how the test functions. R=brettw,wtc BUG=16413 TEST=covered by resource_dispatcher_host_uitest.cc Review URL: http://codereview.chromium.org/159370 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22067 0039d316-1c4b-4281-b951-d872f2087c98
* Move mock url request classes to a location when browser tests will be able ↵phajdan.jr@chromium.org2009-07-3012-0/+794
| | | | | | | | | | | to use them too. TEST=none BUG=none Review URL: http://codereview.chromium.org/160366 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22056 0039d316-1c4b-4281-b951-d872f2087c98
* Undisable DnsMasterTest.MassiveConcurrentLookupTest.phajdan.jr@chromium.org2009-07-292-2/+2
| | | | | | | | | | | | It still passes, and provides coverage for situation where there are lots of DNS requests at the same time. TEST=none BUG=none Review URL: http://codereview.chromium.org/159601 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22000 0039d316-1c4b-4281-b951-d872f2087c98
* Moved the logical dependency on Blacklist from URLRequestContextidanan@chromium.org2009-07-281-1/+7
| | | | | | | | | | | to ChromeURLRequestContext. BUG=16932 TEST=none Review URL: http://codereview.chromium.org/159519 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21874 0039d316-1c4b-4281-b951-d872f2087c98
* Navigation and cookies for Automationamit@chromium.org2009-07-282-10/+13
| | | | | | | | | | | | | Give Automation better visibility and control over navigations. Also, make it possible for automation to implement a dummy cookie store to go with dummy request serving over automation. BUG=none TEST=none Review URL: http://codereview.chromium.org/159189 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21836 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the concept of threading from ProxyService, and move it into the ↵ericroman@google.com2009-07-261-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Return Error Status Upon Blocking Requestsidanan@chromium.org2009-07-241-2/+2
| | | | | | | | | | | | | | | Blocked requests now return an error status so that the Chrome throbber does not spin indefinitely when blocking URL requests. This code shall be replaced with resource substitution next but gives a better experience until then. Same goes for the added type-based interception. TEST=none BUG=16932 Review URL: http://codereview.chromium.org/159214 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21536 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a new parsing system to the metadata url request.brettw@chromium.org2009-07-231-7/+44
| | | | | | | | | | | BUG=none TEST=none Original review: http://codereview.chromium.org/155803 Patch by: dhg@google.com Review URL: http://codereview.chromium.org/160059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21469 0039d316-1c4b-4281-b951-d872f2087c98
* Add support to URLRequest for deferring redirects.darin@chromium.org2009-07-231-2/+0
| | | | | | | | | | | | | | | | | | | | I chose to add an out parameter to OnReceivedRedirect because it allows for the default behavior to remain the same. I considered adding a ContinueAfterRedirect method that all OnReceivedRedirect implementations would need to call, but this caused one annoying problem: In the case of a ChromePlugin, it is possible for the URLRequest to get deleted inside the handler for the redirect. This would make it hard to subsequently call a method on the URLRequest since I would need to have a way to determine if the URLRequest had been deleted. TEST=covered by unit tests BUG=16413,6442 R=eroman,wtc Review URL: http://codereview.chromium.org/155897 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21417 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the ipc code from the common project. The 'common' project pulls in all of webkit, the v8 bindings, skia, googleurl, and a number of other projects which makes it very difficult to deal with especially for external projects wanting just to use some of Chromium's infrastructure. This puts the ipc code into its top-level ipc/ directory with a dependency only on base. The common project depends on the new ipc/ipc.gyp:ipc target so that all projects currently pulling common in to get the IPC code still have it available. This mostly follows agl's pre-gyp attempt to do this which was r13062. Known issues: - Currently a number of projects depend on chrome/chrome.gyp:common in order to use the IPC infrastructure. Rather than fixing all of these dependencies I have made common depend on ipc/ipc.gyp:ipc and added "ipc" to the include_rules section of DEPS so that checkdeps.py doesn't complain. Over time projects that need IPC should depend on the IPC project themselves and dependencies on common removed, although I don't think many projects that need IPC will be able to get away without common currently. - ipc/ipc_message_macros.h still has #include "chrome/common/..." inside of a ipc/ should not refer to files in chrome/... now. I'm not sure how to resolve this since it's really an IDE bug - the named pipe name (windows+linux) and the logging event name (all) + env variable (posix) refer explicitly to 'Chrome' which somewhat hurts the illusion of ipc/ being an independent library. I think this should be examined in a subsequent, much smaller patch. - I've eliminated the IPC.SendMsgCount counter since it was implemented in a way to create a dependency from ipc/ to chrome/common/chrome_counters. This is the same approach that r13062 took. http://codereview.chromium.org/155905 (Patch from James Robinson) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21342 0039d316-1c4b-4281-b951-d872f2087c98
* Add synchronous-mode operation to MockHostResolver; this helps clarify some ↵ericroman@google.com2009-07-181-3/+1
| | | | | | | | tests, which were using caching to get synchronous resolutions.TEST=existingBUG=NONE (addresses a TODO however). Review URL: http://codereview.chromium.org/155620 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21052 0039d316-1c4b-4281-b951-d872f2087c98
* Change DNS field trial to focus on congestion window settingjar@chromium.org2009-07-181-6/+10
| | | | | | | | | | | Stats suggest that optimal boundary for congestion detection in DNS pre-resolution may be under 1 second. This change focuses the field trial on that region. r=willchan Review URL: http://codereview.chromium.org/155723 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21048 0039d316-1c4b-4281-b951-d872f2087c98