summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/async_resource_handler.h
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of a bunch of includes to old locations of headers.jam@chromium.org2011-03-021-12/+0
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6602061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76470 0039d316-1c4b-4281-b951-d872f2087c98
* Move core pieces of browser\renderer_host to src\content.jam@chromium.org2011-02-191-51/+2
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6532073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75489 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add namespace net to the remaining files under url_request directory.tfarina@chromium.org2011-01-061-2/+2
| | | | | | | | | | | | It just adds the 'namespace net' to these files and a typedef for them, because there are many entries to fix in one pass. They will be fixed later. BUG=64263 TEST=trybots Review URL: http://codereview.chromium.org/6056007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70592 0039d316-1c4b-4281-b951-d872f2087c98
* Create a ResourceMessageFilter to filter resource related IPCs. This gets ↵jam@chromium.org2010-12-151-8/+4
| | | | | | | | rid of the awkward ResourceDispatcherHost::Receiver interface and allows a bunch of cleanup. I've also generalized the filtering done in WorkerProcessHost and moved it to ChildProcessHost (since it's now used to add the ResourceMessageFilter). Review URL: http://codereview.chromium.org/5874002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69335 0039d316-1c4b-4281-b951-d872f2087c98
* Add the "virtual" keyword on method overrides that are missing it.erg@google.com2010-12-081-14/+14
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5648004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68606 0039d316-1c4b-4281-b951-d872f2087c98
* Flesh out URLLoader's download_to_file function.michaeln@chromium.org2010-09-281-0/+1
| | | | | | | | | | | | | | | | | | * tie the lifetime of the resulting temp file to the lifetime of the URLLoader (the plan is to later extend the lifetime of the temp file to support xhr.responseBlob) * make it work in test_shell * make it work for sync requests * added OnDataDownloaded messages to report progress A related BlobURL loading change. * grab a reference to the blob early on to ensure it's still there when the 'job' is finally started. TEST=manual and deletable_file_reference_unittest.cc BUG=52486,56752 Review URL: http://codereview.chromium.org/3396029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60862 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 60378 (trying to track down http://crbug.com/56752 )- Flesh out ↵thakis@chromium.org2010-09-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | URLLoader's download_to_file function. * tie the lifetime of the resulting temp file to the lifetime of the URLLoader (the plan is to later extend the lifetime of the temp file to support xhr.responseBlob) * make it work in test_shell * make it work for sync requests * added OnDataDownloaded messages to report progress A related BlobURL loading change. * grab a reference to the blob early on to ensure it's still there when the 'job' is finally started. TEST=manual and deletable_file_reference_unittest.cc BUG=52486 Review URL: http://codereview.chromium.org/3165062 TBR=michaeln@chromium.org Review URL: http://codereview.chromium.org/3455022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60425 0039d316-1c4b-4281-b951-d872f2087c98
* Flesh out URLLoader's download_to_file function.michaeln@chromium.org2010-09-231-0/+1
| | | | | | | | | | | | | | | | | | * tie the lifetime of the resulting temp file to the lifetime of the URLLoader (the plan is to later extend the lifetime of the temp file to support xhr.responseBlob) * make it work in test_shell * make it work for sync requests * added OnDataDownloaded messages to report progress A related BlobURL loading change. * grab a reference to the blob early on to ensure it's still there when the 'job' is finally started. TEST=manual and deletable_file_reference_unittest.cc BUG=52486 Review URL: http://codereview.chromium.org/3165062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60378 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: provide load timing for sync resources.pfeldman@chromium.org2010-09-201-2/+0
| | | | | | Review URL: http://codereview.chromium.org/3458004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59916 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
* DevTools: provide network log details to the WebCore's InspectorController.pfeldman@chromium.org2010-07-141-0/+2
| | | | | | Review URL: http://codereview.chromium.org/2645006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52310 0039d316-1c4b-4281-b951-d872f2087c98
* Make all of the methods of ResourceHandler pure virtual.eroman@chromium.org2010-03-021-0/+2
| | | | | | | | | | This forces implementations to consider each case, and avoids subtle bugs that can happen by using the default no-op implementation (like bug 36964). BUG=None TEST=None Review URL: http://codereview.chromium.org/661236 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40358 0039d316-1c4b-4281-b951-d872f2087c98
* Eighth patch in making destructors of refcounted objects private.jam@chromium.org2009-11-071-0/+2
| | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/378004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31339 0039d316-1c4b-4281-b951-d872f2087c98
* Only double the buffer when AsyncResourceHandler's caller fill the buffer.erg@google.com2009-10-261-4/+5
| | | | | | | | | | | This is an update to r29904 and came out of a discussion with Darin. BUG=http://crbug.com/24493 TEST=NONE Review URL: http://codereview.chromium.org/335010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30058 0039d316-1c4b-4281-b951-d872f2087c98
* When sending resources across the IPC barrier, use increasing sized buffers.erg@google.com2009-10-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | AsyncResourceHandler::OnWillRead will usually allocate a new piece of shared memory for each 32 kilobyte chunk of a resource to be sent over IPC from the browser to the renderer. Instead, use a 32k chunk, then a 64k chunk, then a 128k chunk up to a maximum size of 512k. Why? Because transferring large resources is really slow. To send a sequence of 32k chunks to the renderer, we need to wait for the renderer to send an ACK message back before we send the next chunk. The themeing on the new tab page is a pathological case for this code. Most of the background images are large, and my test case is about 800k. This was 25 round trips. Now it is 5. According to the web inspector, it used to take ~700ms to transfer said image. Now it's in the ~30ms range. It feels faster, and the web inspector shows the speed up, but tab_complex_theme_cold does not... BUG=http://crbug.com/24493 TEST=Doesn't regress any performance tests. Review URL: http://codereview.chromium.org/331001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29904 0039d316-1c4b-4281-b951-d872f2087c98
* Add plumbing for allowing the renderer to intercept and cancel redirects beforedarin@chromium.org2009-07-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add CHECKs to the ResourceHandler derived classes to see which is returning ↵willchan@chromium.org2009-07-291-5/+0
| | | | | | | | | | a NULL IOBuffer:data_. BUG=http://crbug.com/16371 Review URL: http://codereview.chromium.org/159561 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21940 0039d316-1c4b-4281-b951-d872f2087c98
* Stop having renderers use both pids and a monotonically increasing ↵jam@chromium.org2009-03-121-4/+4
| | | | | | | | "host_id". This allows ResourceDispatcher to be used by child processes other than renderers. I've done minor related cleanup on the way to make the code simpler. Review URL: http://codereview.chromium.org/42054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11509 0039d316-1c4b-4281-b951-d872f2087c98
* Landing again the CL that adds security info to canceled requests (last time ↵jcampan@chromium.org2009-03-081-1/+5
| | | | | | | | | it was causing sync XMLHttpRequests to hang, breaking many layout tests). TBR=darin Review URL: http://codereview.chromium.org/39321 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11221 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 11197 because it created 138 new layout testsnsylvain@chromium.org2009-03-071-5/+1
| | | | | | | | failures. Review URL: http://codereview.chromium.org/39311 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11201 0039d316-1c4b-4281-b951-d872f2087c98
* Landing again the CL that adds security info to canceled requests (it was ↵jcampan@chromium.org2009-03-071-1/+5
| | | | | | | | | | | breaking NPAPI tests on Vista due to an erroneuous commented line). TBR=darin Review URL: http://codereview.chromium.org/39309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11197 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 11179.jcampan@chromium.org2009-03-071-5/+1
| | | | | | | Reverting CL as plugin UI tests fail on Vista Review URL: http://codereview.chromium.org/40260 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11187 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds a way to specify the security info when canceling a URLRequest.jcampan@chromium.org2009-03-071-1/+5
| | | | | | | | | | | This allows to tag a request on the renderer side with its security info. It is useful for the "frame info" dialog. When showing that dialog for blocked frames, the security info can be retrieved and users can see the cert details for the blocked frame. TEST=Open a page containing a frame served over bad HTTPS. The frame is blocked (replaced with a warning message). Right-click, select "Frame info". The dialog should have a "show cert" button which when pressed should show the frame's bad cert. BUG=2853 Review URL: http://codereview.chromium.org/7276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11179 0039d316-1c4b-4281-b951-d872f2087c98
* Change URLRequest to use a ref-counted buffer for actual IO.rvargas@google.com2009-01-291-6/+5
| | | | | | | | | | This will re-land http://codereview.chromium.org/18390 BUG=5325 Review URL: http://codereview.chromium.org/19004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8847 0039d316-1c4b-4281-b951-d872f2087c98
* revert r8603rvargas@google.com2009-01-241-5/+6
| | | | | | Review URL: http://codereview.chromium.org/18576 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8605 0039d316-1c4b-4281-b951-d872f2087c98
* Change URLRequest to use a ref-counted buffer for actual IO.The ref-counting ↵rvargas@google.com2009-01-241-6/+5
| | | | | | | | will prevent the deletion / reuse of memorywhile the buffer is actually being used by pending IO.This seems a very intrusive change, but at least we will be ableto make sure that it works without having to chase every singledestruction of an URLRequest to make sure that any pending IOwas cancelled, and also allows us to avoid blocking onthe object destruction.BUG=5325 Review URL: http://codereview.chromium.org/18390 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8603 0039d316-1c4b-4281-b951-d872f2087c98
* g++ 4.3.x doesn't seem to like forward declarationsphajdan.jr@chromium.org2009-01-031-1/+3
| | | | | | | | | | with namespace::classname so declare the forward declaration inside the appropriate namespace. Review URL: http://codereview.chromium.org/16508 Patch from Craig Schlenter. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7539 0039d316-1c4b-4281-b951-d872f2087c98
* Porting in chrome/phajdan.jr@chromium.org2008-12-311-2/+3
| | | | | | Review URL: http://codereview.chromium.org/17016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7529 0039d316-1c4b-4281-b951-d872f2087c98
* New attempt at landing the resource_dispatcher_host.cc splitting (broke the ↵jcampan@chromium.org2008-12-231-0/+50
| | | | | | | | | build on Friday). TBR=darin Review URL: http://codereview.chromium.org/15801 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7400 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting my CL to fix build bustage.jcampan@chromium.org2008-12-201-50/+0
| | | | | | | TBR=maruel Review URL: http://codereview.chromium.org/15099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7338 0039d316-1c4b-4281-b951-d872f2087c98
* This CL moves the different resource handlers from ↵jcampan@chromium.org2008-12-201-0/+50
resource_dispatcher_host.cc into their own files, into a new renderer_host directory. Their is no functionality change in this CL. The motivation for doing that was: - resource_dispatcher_host.cc has become very long and more than 1/3 of the code is for the resource handler. - having the resource handler in their own file allows having unit tests for them. BUG=none TEST=run all unit tests and UI tests. Review URL: http://codereview.chromium.org/14487 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7336 0039d316-1c4b-4281-b951-d872f2087c98