summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request.h
Commit message (Collapse)AuthorAgeFilesLines
* FBTF: A giant cleanup to net/erg@google.com2010-08-311-21/+8
| | | | | | | | | | | | This moves all sorts of code from h files to cc files and reduces header dependencies. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3212008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58020 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Header cleanup in renderer_host.jhawkins@chromium.org2010-08-161-4/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3164011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56237 0039d316-1c4b-4281-b951-d872f2087c98
* Implement prefetching in chromegavinp@google.com2010-07-311-1/+1
| | | | | | | | | | | | | | | | | | With this CL (see also issue 2910009), chrome will support basic prefetching. You can optionally deactivate prefetching with the command line argument --disable-prefetch. A new RequestPriority was created as well, IDLE, which is lower than LOWEST. Unfortunately, SPDY has only two bits for priority, so as a temporary measure (pending SPDY v3 which will have three), we have a mapping in SPDY that folds net::LOWEST and net::IDLE together. BUG=13505 TEST=http://gemal.dk/browserspy/prefetch.php Review URL: http://codereview.chromium.org/3050016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54421 0039d316-1c4b-4281-b951-d872f2087c98
* Net: Convert username and password to string16.thestig@chromium.org2010-07-291-2/+3
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3040016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54101 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
* Attempt four at landing the "histogram.h removed from message_loop.h" patch.erg@chromium.org2010-07-151-2/+0
| | | | | | | | | | | | | | Previously committed as r52349 and r52336. Related commits: r52367, r52364 and r52343. Rerunning trybots due to previous trybot breakage. TEST=none BUG=none Review URL: http://codereview.chromium.org/2965015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52496 0039d316-1c4b-4281-b951-d872f2087c98
* Revert everything related to the relanding.erg@chromium.org2010-07-141-0/+2
| | | | | | Review URL: http://codereview.chromium.org/2982009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52367 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r52336.erg@chromium.org2010-07-141-2/+0
| | | | | | | | | | | | | | (I accidentally committed a previous version of the patch (the fixed version was in codereview since I had switched to my mac to address this exact compile failure.) BUG=none TEST=none TBR=evan Review URL: http://codereview.chromium.org/2937010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52336 - More header cleanup:erg@chromium.org2010-07-141-0/+2
| | | | | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52343 0039d316-1c4b-4281-b951-d872f2087c98
* More header cleanup:erg@chromium.org2010-07-141-2/+0
| | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52336 0039d316-1c4b-4281-b951-d872f2087c98
* Annotate some network classes as non-threadsafe.eroman@chromium.org2010-07-121-1/+2
| | | | | | | | | | This is a defensive change to catch attempts to delete them on a different thread than where they were created (when in Debug mode). Although most classes in net are not thread safe and could be annotated, I chose to annotate these specific ones since they are frequently the top-level objects held by embedders. Review URL: http://codereview.chromium.org/1812007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52111 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure that URLRequestJob holds a reference to the read IOBuffer rather ↵eroman@chromium.org2010-07-091-2/+2
| | | | | | | | | | | than just a raw pointer. Addresses a crash where consumer was passing in a "throw-away" buffer that it didn't hold a reference to. BUG=46055 Review URL: http://codereview.chromium.org/2908004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52019 0039d316-1c4b-4281-b951-d872f2087c98
* Store blocked and accessed cookies in the tab contents.jochen@chromium.org2010-07-021-4/+10
| | | | | | | | | | | This will enable chrome to display all cookies used/blocked on the current site to the user instead of just the information that something was blocked. The cookies are collected in data structures suitable for displaying them using the cookies tree model. BUG=45230 TEST=none Review URL: http://codereview.chromium.org/2370001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51545 0039d316-1c4b-4281-b951-d872f2087c98
* Add field trial stats for alternate_protocol. The histogram we collected are: lzheng@chromium.org2010-06-261-1/+8
| | | | | | | | | | | | | | | | | | | | | http stats when alternate protocol is available but npn was not negotiated ( which means not usng spdy), and when alternate is available AND spdy is used. Noticable changes: 1. In http_network_transaction.cc, changed the logic that always parse response from server for alternate protocol and remember that in HttpAlternateProtocols strucuture. We need to remember this to collect stats for servers with alternate protocol support but used http for. 2. In spdy_stream.cc, get rid of the response copy from spdy_stream. This copy overwrites some early status in response set in http_network_transaction. TEST=http_network_transaction_unittest.cc BUG=46689 Review URL: http://codereview.chromium.org/2808010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50927 0039d316-1c4b-4281-b951-d872f2087c98
* Track whether a page was loaded via a proxy so that we canmbelshe@chromium.org2010-06-101-0/+5
| | | | | | | | | | | evaluate performance. BUG=none TEST=none Review URL: http://codereview.chromium.org/2764004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49468 0039d316-1c4b-4281-b951-d872f2087c98
* This change enables FieldTrial for SPDY. When --use-spdy=npn is used, field ↵lzheng@chromium.org2010-05-211-0/+6
| | | | | | | | | | | | | | | | | test won't be enabled. However, when that flag is missing, A/B test is added to browser_main.cc. Trial A: use npn and spdy. B: use npn but no spdy. C: do nothing. A and B are set to zero for now The histograms we collect are: 1. Page begin to finish time when spdy is enabled/disabled across all sites; 2. Page begin to finish time when spdy is used on sites that support spdy and when spdy is intentionally ignored. BUG=43997 TEST=Don't use --use-spdy=npn, manually change _npn_nospdy and _npn_withspdy percentile and go to spdy supported sites. Review URL: http://codereview.chromium.org/2036012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47896 0039d316-1c4b-4281-b951-d872f2087c98
* Pass HttpRequestHeaders to URLRequest::SetExtraRequestHeaders().willchan@chromium.org2010-05-071-9/+4
| | | | | | | | BUG=22588 Review URL: http://codereview.chromium.org/1998008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46752 0039d316-1c4b-4281-b951-d872f2087c98
* Use net::HttpRequestHeaders instead of std::string in URLRequest and friends.willchan@chromium.org2010-05-061-6/+5
| | | | | | | | BUG=22588 Review URL: http://codereview.chromium.org/1998001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46612 0039d316-1c4b-4281-b951-d872f2087c98
* Support sending a sliced file in chromium.jianli@chromium.org2010-03-241-3/+7
| | | | | | | | | BUG=none TEST=The WebKit Layout test. Review URL: http://codereview.chromium.org/594036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42559 0039d316-1c4b-4281-b951-d872f2087c98
* Generalize the net module's LoadLog facility from a passive container, to an ↵eroman@chromium.org2010-03-161-11/+3
| | | | | | | | | | | | | | | | 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
* Add APIs to expose http cache's metadata and thervargas@google.com2010-02-231-0/+7
| | | | | | | | | | | the ability to stop caching a given request. BUG=32406, 22900 TEST=none Review URL: http://codereview.chromium.org/600167 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39751 0039d316-1c4b-4281-b951-d872f2087c98
* Trigger the blocked cookie notification UI.darin@chromium.org2010-02-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | This change involves two significant bits: 1- Add URLRequest::Delegate methods to report a blocked attempt to set a cookie or get cookies, respectively. 2- Generalize the mechanisms we use to proxy notifications to the RenderViewHost from the IO thread. See render_view_host_notification_task.h. Finally, these are used together in ResourceDispatcherHost. Note: Additional work is required to notify when JS attempts to set a cookie fail. R=brettw,eroman BUG=34573 TEST=Configure the browser to block cookies, and then visit a site that tries to set a cookie (e.g., cnn.com). You should see a cookie icon appear in the location bar. If you click that it should report that cookies were blocked. Review URL: http://codereview.chromium.org/600009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38527 0039d316-1c4b-4281-b951-d872f2087c98
* Enable JS detection of whether SPDY was used to load a web page.mbelshe@google.com2010-01-111-0/+5
| | | | | | | | | | | | Augments the loadTimes() API with a new field, "wasFetchedViaSpdy". BUG=31615 TEST=flip_network_transaction_unittest Review URL: http://codereview.chromium.org/518039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35943 0039d316-1c4b-4281-b951-d872f2087c98
* Update network priorities to support better granularitymbelshe@google.com2009-12-021-6/+7
| | | | | | | | | | | | | | of resource loading from WebKit into the network stack. In order to fully make these work, webkit changes are needed as well. BUG=none TEST=none Review URL: http://codereview.chromium.org/452033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33546 0039d316-1c4b-4281-b951-d872f2087c98
* Propagate the "first party for cookies" from WebKit to the network stackwtc@chromium.org2009-11-131-0/+2
| | | | | | | | | | | | | | when we follow a redirect, because WebKit's MainResourceLoader::willSendRequest method may change the "first party for cookies" URL of the resource request. R=abarth BUG=25133 TEST=In Options menu, change cookie policy to "Accept cookies only from sites I visit" and then follow the instructions in issue 25133 comment 20. Review URL: http://codereview.chromium.org/385024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31951 0039d316-1c4b-4281-b951-d872f2087c98
* Style nit -- bind asterisks to the left rather than right.eroman@chromium.org2009-11-131-1/+1
| | | | | | Review URL: http://codereview.chromium.org/384112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31884 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb LoadLog into SocketStreamukai@chromium.org2009-11-131-3/+8
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/385003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31881 0039d316-1c4b-4281-b951-d872f2087c98
* Change the request tracking done by about:net-internals to be per context ↵eroman@chromium.org2009-10-221-70/+3
| | | | | | | | | | | | | | | | | | rather than global accross all contexts. Before there was a singleton "request tracker" (URLRequest::InstanceTracker) that kept track of all outstanding requests and recently completed. Whereas now, each URLRequestContext gets its own "request tracker" (URLRequestTracker) to track the requests associated with that context. This change is to limit the lifetime of information relating to incognito windows. Before you were able to see the recent requests issued by incognito windows even after the last incognito windows was closed (by loading about:net-internals in a non-incognito window). Whereas now you can only see the incognito requests information by loading "about:net-internals" within an incognito tab. And once the last incognito tab is closed, the OTR context is destroyed, which in turn destroys any profiling information that was being stored. BUG=24630 Review URL: http://codereview.chromium.org/295050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29804 0039d316-1c4b-4281-b951-d872f2087c98
* Add a response_info() accessor to URLRequest to get a reference to the ↵michaeln@google.com2009-10-051-0/+3
| | | | | | | | | | | net::HttpResponseInfo struct in it entirety. BUG=none TEST=URLRequestTestHTTP.ResponseHeadersTest Review URL: http://codereview.chromium.org/251082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28067 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enabled URLRequestTestHTTP.BasicAuth.eroman@chromium.org2009-09-041-2/+2
| | | | | | | | | | | | The problem was the test was expecting |response_time| of cached responses to be the timestamp of the original request, rather than the timestamp of the last cache validation. Also updated the header to clarify what |request_time| and |response_time| correspond to in the cached cases. BUG=http://crbug.com/20594 Review URL: http://codereview.chromium.org/197030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25540 0039d316-1c4b-4281-b951-d872f2087c98
* Keep track of the live URLRequest instances, and the last 25 that were ↵eroman@chromium.org2009-09-021-17/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | destroyed. This functionality will be used by the "about:net-internal" page to display profiling information for the in-progress requests, as well as the recently completed requests. This does not have any performance impact. Note that all of the tracking operations are constant time. In particular: * Global tracking of all URLRequest instances is done by chaining them as linked list nodes. So we get constant-time insertion/deletion without needing to do any extra heap allocs. * The recent requests list is a circular queue, backed by an array. So insertions are constant time (and we never erase entries, just overwrite). Moreover, the entry types themselves are comprised of {GURL, LoadLog*}, so very little copying actually happens -- LoadLog is refcounted so copy is cheap, and GURL is backed by a std::string which is also refcounted so the copy is cheap. R=darin BUG=http://crbug.com/14478 TEST=unittests. Review URL: http://codereview.chromium.org/173175 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25158 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the RenderProcessHost.PID function that returns the OS-generatedbrettw@chromium.org2009-08-311-10/+0
| | | | | | | | | | | | | | | | | | | | 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
* Sanitizing the referrer header before starting the automation ↵tommi@chromium.org2009-08-311-0/+2
| | | | | | | | request.TEST=Run automation unit tests.BUG=none Review URL: http://codereview.chromium.org/183004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24888 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent a crash that can occur when redirecting a file URL.darin@chromium.org2009-08-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We redirect a file URL that corresponds to a directory when the file URL does not end in a slash. We redirect to the same URL with a slash appended to simplify other code, which can then rely on the presence of a trailing slash for all file URLs that correspond to a directory. It turns out that following the redirect could result in the job being used after free. The code in URLRequestJob::FollowDeferredRedirect clears some fields after calling FollowRedirect. For all other jobs this is not a problem since the process of following a redirect causes the job to be killed, and URLRequestJob::Kill takes a reference to the job. It turns out that URLRequestFileDirJob was not calling URLRequestJob::Kill, and so this extra reference was not being taken. The fix is two-fold: 1- Make URLRequestFileDirJob call URLRequestJob::Kill just like the rest of the jobs. This seems like a good idea for other reasons as well. 2- Make URLRequestJob::FollowDeferredRedirect not depend on itself being alive after the FollowRedirect call. This just seems good for future cases where a special URLRequestJob subclass might not call URLRequestJob::Kill for some reason or another. Finally, some minor changes were rqeuired to URLRequestFileDirJob to support the call to Kill. See changes to OnListDone. Writing a unit test for this was a bit tricky. It turns out that while the URLRequestFileDirJob is waiting for the client to call FollowDeferredRedirect, it is still traversing the directory. It does not pause the directory listing. The crash could only happen if the directory listing completed before the consumer called FollowDeferredRedirect because a reference to the job was taken on behalf of the DirectoryLister. To test this condition, I made it possible for a test to poll the URLRequestFileDirJob::list_completed_ flag. Once that is set, I then have the test call FollowDeferredRedirect. NOTE: When running within net_unittests, NetModule::SetResourceProvider has not been called. So, I downgraded a NOTREACHED to a DLOG(WARNING). NOTREACHED was a bit excessive since it is a condition that can be reached, and I don't see any problem with allowing unit tests to function without a resource provider. R=wtc BUG=18686 TEST=URLRequestTest.FileDirRedirectNoCrash Review URL: http://codereview.chromium.org/174076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23944 0039d316-1c4b-4281-b951-d872f2087c98
* Add a "LoadLog" parameter to transactions, hostresolver, clientsocketpool ↵ericroman@google.com2009-08-121-1/+9
| | | | | | | | 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
* Add plumbing for allowing the renderer to intercept and cancel redirects beforedarin@chromium.org2009-07-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Return Error Status Upon Blocking Requestsidanan@chromium.org2009-07-241-3/+3
| | | | | | | | | | | | | | | 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
* Add support to URLRequest for deferring redirects.darin@chromium.org2009-07-231-4/+17
| | | | | | | | | | | | | | | | | | | | 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
* Document when the Delegate methods OnCertificateRequested andwtc@chromium.org2009-06-261-1/+9
| | | | | | | | | | | | | | OnSSLCertificateError are called for a request. Document that the string passed to SetExtraRequestHeaders should not end in \r\n. R=rvargas BUG=none TEST=none Review URL: http://codereview.chromium.org/149095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19420 0039d316-1c4b-4281-b951-d872f2087c98
* Reorder URLRequest members so URLRequestContext lasts longer than URLRequestJob.willchan@chromium.org2009-06-171-3/+3
| | | | | | | | BUG=http://crbug.com/14231 Review URL: http://codereview.chromium.org/125235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18591 0039d316-1c4b-4281-b951-d872f2087c98
* Specify new methods for supporting SSL client authentication.wtc@chromium.org2009-06-121-1/+18
| | | | | | | | | | | | | | | | | See the changes to url_request.h and ssl_cert_request_info.h. They are similar to the methods for handling SSL certificate errors and HTTP authentication. The handling of servers that request but don't require SSL client authentication is reimplemented using the new methods. R=rvargas,eroman BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/118039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18322 0039d316-1c4b-4281-b951-d872f2087c98
* Update some comments in url_request.h to clarify that once the request is ↵ericroman@google.com2009-06-031-3/+5
| | | | | | | | | | | | | | | deleted/cancelled, the delegate should never be called again. (The text added to URLRequest::Cancel() was copied from URLRequest::~URLRequest()). The comment change in resource_dispatcher_host.cc is an unrelated name fix. TEST=0 BUG=0 Review URL: http://codereview.chromium.org/118151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17555 0039d316-1c4b-4281-b951-d872f2087c98
* Remove code path that passes a file handle to the rendererhclam@chromium.org2009-05-291-7/+0
| | | | | | | | | | | | | | | | | | | | | | Since the code now does range request without any caching the code path for passing file handle is not used any more. Changes: 1. Remove response_data_file in webkit_glue::ResourceResponseHead 2. Remove response_data_file in net::ResourceInfo 3. Remove code that passes file handle using IPC 4. Remove code that passes file hadnle from network layer to ResourceDispatcherHost 5. Remove MediaResourceHandler 6. Remove code in disk_cache that expose the file handle 7. Remove ChromeURLRequestContext::CreateOffTheRecordForMedia() so no more OTR request context for media, in OTR mode simply memory cache is used 8. Reset cache size for media cache to default BUG=12249 BUG=12256 Review URL: http://codereview.chromium.org/113931 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17227 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce header dependencies in net/phajdan.jr@chromium.org2009-05-291-1/+1
| | | | | | | | TEST=none Review URL: http://codereview.chromium.org/115870 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17178 0039d316-1c4b-4281-b951-d872f2087c98
* Rename |policy_url| to |first_party_for_cookies|. This now matches the ↵abarth@chromium.org2009-05-231-3/+5
| | | | | | | | | | | | WebKit name for this piece of data. R=jackson BUG=None TEST=No behavior change Review URL: http://codereview.chromium.org/115743 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16843 0039d316-1c4b-4281-b951-d872f2087c98
* URLRequest::Interceptor enhancements1) Allow an interceptor to change its ↵michaeln@google.com2009-04-161-14/+50
| | | | | | | | mind and not intercept after all. This allows the decision to start or not to start to be made asynchronously.2) Allow an interceptor to intercept on error conditions if the original job fails. This is to support the FALLBACK semantics in the appcache.Info about where this is going can be found in the appcache design doc at https://docs.google.com/a/google.com/Doc?docid=agv6ghfsqr_15f749cgt3&hl=enI still have to put together test cases, so I'm not ready to submit this yet, but wanted to get some feedback at this point. Review URL: http://codereview.chromium.org/67019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13877 0039d316-1c4b-4281-b951-d872f2087c98
* Switching things to FilePath:phajdan.jr@chromium.org2009-04-071-2/+3
| | | | | | | | | | | | | | | | Remove following deprecated wstring-using functions: net/net_util: FilePathToFileURL net/net_util: FileURLToFilePath Switch net/base/upload_data to FilePath. Switch upload-related parts of net/url_request/url_request to FilePath. Made necessary adjustments in rest of code (a lot). Review URL: http://codereview.chromium.org/63011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13242 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 12479 which reverted 12470.willchan@chromium.org2009-03-251-6/+17
| | | | | | | This change is the same as 12470, except with HttpRequestInfo::priority initialized in the initializer list, which should fix the purify errors. Review URL: http://codereview.chromium.org/53066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12490 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 12470.willchan@chromium.org2009-03-251-17/+6
| | | | | | | caused purify errors Review URL: http://codereview.chromium.org/45055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12479 0039d316-1c4b-4281-b951-d872f2087c98