summaryrefslogtreecommitdiffstats
path: root/net/url_request/url_request.cc
Commit message (Collapse)AuthorAgeFilesLines
* Convert all remaining explicit LeakyLazyInstanceTraits users to ::Leakyfischman@chromium.org2012-01-261-2/+1
| | | | | | | | | | | | | and hide LeakyLazyInstanceTraits in base::internal to discourage cargo-culting new users. BUG=none TEST=none Review URL: http://codereview.chromium.org/9117038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119173 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 118001 - Revert 117968 - Rename is_hsts_host to fatal.apatrick@chromium.org2012-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per wtc: the old name was too specific, and became confusing because we now also have certificate errors that users cannot override, but for reasons other than (although still closely related to) HSTS. Failures were: http://chromegw.corp.google.com/i/chromium/builders/XP%20Tests%20%28dbg%29%286%29/builds/7935 http://chromegw.corp.google.com/i/chromium/builders/XP%20Tests%20%28dbg%29%282%29/builds/13488 (view as text) WorkerFileSystemTest.FileWriterSyncTruncateExtend: [1132:3724:0117/155729:2434562:INFO:ui_layout_test.cc(57)] Assume LayoutTests in E:\b\build\slave\XP_Tests__dbg__6_\build\src\chrome\test\data\layout_tests\LayoutTests [1132:3724:0117/155729:2434562:INFO:ui_layout_test.cc(143)] Assume LayoutTests in fast\filesystem [1132:3724:0117/155730:2434765:INFO:ui_layout_test.cc(143)] Assume LayoutTests in fast\js .\test\ui\ui_test.cc(720): error: Failed Timeout reached in WaitUntilCookieNonEmpty Google Test trace: .\test\ui\ui_layout_test.cc(174): file-writer-sync-truncate-extend.html .\test\ui\ui_layout_test.cc(254): error: Value of: inner_text.c_str() Actual: "[Worker] Test using FileWriterSync.truncate to extend a file. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Starting worker: ../resources/file-writer-sync-truncate-extend.js " Expected: expected_result_value.c_str() Which is: "[Worker] Test using FileWriterSync.truncate to extend a file. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Starting worker: ../resources/file-writer-sync-truncate-extend.js PASS [Worker] Truncate extension verified. PASS successfullyParsed is true TEST COMPLETE " Google Test trace: .\test\ui\ui_layout_test.cc(174): file-writer-sync-truncate-extend.html BUG=109941 Review URL: https://chromiumcodereview.appspot.com/9188019 TBR=palmer@chromium.org TBR=apatrick@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118011 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 117968 - Rename is_hsts_host to fatal.apatrick@chromium.org2012-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per wtc: the old name was too specific, and became confusing because we now also have certificate errors that users cannot override, but for reasons other than (although still closely related to) HSTS. Failures were: http://chromegw.corp.google.com/i/chromium/builders/XP%20Tests%20%28dbg%29%286%29/builds/7935 http://chromegw.corp.google.com/i/chromium/builders/XP%20Tests%20%28dbg%29%282%29/builds/13488 (view as text) WorkerFileSystemTest.FileWriterSyncTruncateExtend: [1132:3724:0117/155729:2434562:INFO:ui_layout_test.cc(57)] Assume LayoutTests in E:\b\build\slave\XP_Tests__dbg__6_\build\src\chrome\test\data\layout_tests\LayoutTests [1132:3724:0117/155729:2434562:INFO:ui_layout_test.cc(143)] Assume LayoutTests in fast\filesystem [1132:3724:0117/155730:2434765:INFO:ui_layout_test.cc(143)] Assume LayoutTests in fast\js .\test\ui\ui_test.cc(720): error: Failed Timeout reached in WaitUntilCookieNonEmpty Google Test trace: .\test\ui\ui_layout_test.cc(174): file-writer-sync-truncate-extend.html .\test\ui\ui_layout_test.cc(254): error: Value of: inner_text.c_str() Actual: "[Worker] Test using FileWriterSync.truncate to extend a file. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Starting worker: ../resources/file-writer-sync-truncate-extend.js " Expected: expected_result_value.c_str() Which is: "[Worker] Test using FileWriterSync.truncate to extend a file. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Starting worker: ../resources/file-writer-sync-truncate-extend.js PASS [Worker] Truncate extension verified. PASS successfullyParsed is true TEST COMPLETE " Google Test trace: .\test\ui\ui_layout_test.cc(174): file-writer-sync-truncate-extend.html BUG=109941 Review URL: https://chromiumcodereview.appspot.com/9188019 TBR=palmer@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118001 0039d316-1c4b-4281-b951-d872f2087c98
* Rename is_hsts_host to fatal.palmer@chromium.org2012-01-171-2/+2
| | | | | | | | | | | Per wtc: the old name was too specific, and became confusing because we now also have certificate errors that users cannot override, but for reasons other than (although still closely related to) HSTS. BUG=109941 Review URL: https://chromiumcodereview.appspot.com/9188019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117968 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent callbacks after URLRequest/URLRequestJob have been ↵battre@chromium.org2012-01-131-7/+11
| | | | | | | | | | | | | | | | | | | | canceled/completed/killed. With this CL, URLRequestJobs notify their NetworkDelegate when they are being destroyed to insure that the NetworkDelegate does not access any of their variables or call callbacks. Also the WebRequest API does not execute any callbacks if they URLRequest has informed the API that the Request has been completed or canceled. Both cases could happen in rare race conditions. BUG=108968 TEST=no Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=117342 Review URL: http://codereview.chromium.org/9147018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117685 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Debug checks that URLRequest::set_method arguments match the contract."apavlov@chromium.org2012-01-131-4/+1
| | | | | | | | | | | | This change broke WebKit test http/tests/xmlhttprequest/methods-lower-case.html This reverts commit a964df83606a31b3674e20989e7dc6db9f3d4e86. TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/9207003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117641 0039d316-1c4b-4281-b951-d872f2087c98
* Debug checks that URLRequest::set_method arguments match the contract.cbentzel@chromium.org2012-01-131-1/+4
| | | | | | Review URL: http://codereview.chromium.org/9187060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117635 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 117342 - Prevent callbacks after URLRequest/URLRequestJob have been ↵battre@chromium.org2012-01-131-10/+6
| | | | | | | | | | | | | | | | | | | | | canceled/completed/killed. With this CL, URLRequestJobs notify their NetworkDelegate when they are being destroyed to insure that the NetworkDelegate does not access any of their variables or call callbacks. Also the WebRequest API does not execute any callbacks if they URLRequest has informed the API that the Request has been completed or canceled. Both cases could happen in rare race conditions. BUG=108968 TEST=no Review URL: http://codereview.chromium.org/9147018 TBR=battre@chromium.org Review URL: http://codereview.chromium.org/9173005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117620 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused code from UploadData and URLRequest.satorux@chromium.org2012-01-121-12/+0
| | | | | | | | | | | | | URLRequest::AppendFileToUpload() is no longer used as now file uploads are done with UploadData. TEST=chrome and tests build as before. BUG=72001 Review URL: http://codereview.chromium.org/9148016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117357 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent callbacks after URLRequest/URLRequestJob have been ↵battre@chromium.org2012-01-121-6/+10
| | | | | | | | | | | | | | | | | | canceled/completed/killed. With this CL, URLRequestJobs notify their NetworkDelegate when they are being destroyed to insure that the NetworkDelegate does not access any of their variables or call callbacks. Also the WebRequest API does not execute any callbacks if they URLRequest has informed the API that the Request has been completed or canceled. Both cases could happen in rare race conditions. BUG=108968 TEST=no Review URL: http://codereview.chromium.org/9147018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117342 0039d316-1c4b-4281-b951-d872f2087c98
* Use a monotonic clock (TimeTicks) to report network times to WebCore.simonjam@chromium.org2011-12-161-1/+2
| | | | | | | | | | | | | Navigation Timing (window.performance.timing) is now spec'd to use monotonically increasing time, so we need to follow suit. Most of this CL is just plumbing TimeTicks through. We already use TimeTicks to implement monotonicallyIncreasingTime() in WebCore. On Windows, the clock doesn't tick uniformly between processes, so there is a layer in content that corrects for skew. BUG=None TEST=Adhoc (ran webtiming-* LayoutTests from Chrome) and content_unittests Review URL: http://codereview.chromium.org/7602023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114736 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert net::NetworkDelegate.jhawkins@chromium.org2011-12-011-3/+5
| | | | | | | | | | R=groby BUG=none TEST=none Review URL: http://codereview.chromium.org/8743019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112534 0039d316-1c4b-4281-b951-d872f2087c98
* Allow linker initialization of lazy instancejoth@chromium.org2011-11-151-1/+1
| | | | | | | | | | | | | | Using the initializer list construct = {0} allows the object to be linker initialized. Modify the LazyInstance class design to make it a pod aggregate type that can be linker initialized this way. Also combines the instance and state members, in line with the Singleton<> class design. Introduces a new LAZY_INSTANCE_INITIALIZER macro specifically for using to init all lazy instances + modify all existing callsites to use it. (Old code would no longer compile) BUG=94925 TEST=existing tests pass. http://build.chromium.org/f/chromium/perf/linux-release/sizes/report.html?history=150&header=chrome-si&graph=chrome-si&rev=-1 should step downward. TBR=jam@chromium.org,rvargas@chromium.org,darin@chromium.org,ben@chromium.org,apatrick@chromium.org,akalin@chromium.org Review URL: http://codereview.chromium.org/8491043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110076 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 13 exit time constructors and 3 static initializersthakis@chromium.org2011-11-071-2/+5
| | | | | | | | | | BUG=101600,94925 TEST=none TBR=vandebo,viettrungluu Review URL: http://codereview.chromium.org/8487001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108838 0039d316-1c4b-4281-b951-d872f2087c98
* Don't convert HEAD requests to GETs on 303 redirects.mmenke@chromium.org2011-11-011-8/+9
| | | | | | | | | BUG=102130 TEST=URLRequestTestHTTP.Redirect*Tests Review URL: http://codereview.chromium.org/8418024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108060 0039d316-1c4b-4281-b951-d872f2087c98
* Use AuthCredentials throughout the network stack instead of username/password.cbentzel@chromium.org2011-10-281-3/+3
| | | | | | | | This is a refactor only - no behavior change should happen. Review URL: http://codereview.chromium.org/8340026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107766 0039d316-1c4b-4281-b951-d872f2087c98
* Preserve non-POST methods on 301/302 requests.mmenke@chromium.org2011-10-261-18/+18
| | | | | | | | | BUG=56373 TEST=URLRequestTestHTTP.Redirect30*Tests Review URL: http://codereview.chromium.org/8375002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107261 0039d316-1c4b-4281-b951-d872f2087c98
* Bocking onReceivedHeaders signal for webRequest APIbattre@chromium.org2011-10-051-1/+12
| | | | | | | | | | | | | | This is a new signal that allows extensions to - Modify/Delete cookies of HTTP responses before they are seen by the cookie monster. - Cancel requests based on the length or content type of the HTTP response. BUG=89118 TEST=no Review URL: http://codereview.chromium.org/7931026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104091 0039d316-1c4b-4281-b951-d872f2087c98
* NetworkDelegate::OnAuthRequired can set or cancel auth, in addition to ↵cbentzel@chromium.org2011-10-031-15/+56
| | | | | | | | | | | | taking no action. BUG=32056 TEST=net_unittests Review URL: http://codereview.chromium.org/8100001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103801 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 103360 - NetworkDelegate::OnAuthRequired can set authentication or ↵ddorwin@chromium.org2011-09-291-56/+15
| | | | | | | | | | | | | | | | cancel, in addition to observing. TBR=ananta@chromium.org BUG=32056 TEST=net_unittests Review URL: http://codereview.chromium.org/8037038 TBR=cbentzel@chromium.org Review URL: http://codereview.chromium.org/8082010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103372 0039d316-1c4b-4281-b951-d872f2087c98
* NetworkDelegate::OnAuthRequired can set authentication or cancel, in ↵cbentzel@chromium.org2011-09-291-15/+56
| | | | | | | | | | | | | addition to observing. TBR=ananta@chromium.org BUG=32056 TEST=net_unittests Review URL: http://codereview.chromium.org/8037038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103360 0039d316-1c4b-4281-b951-d872f2087c98
* Use status code 307 instead of 302 when redirecting requests on behalf ofmpcomplete@chromium.org2011-09-291-1/+6
| | | | | | | | | | | | | | | extensions using the webRequest API. This preserves the original request's method and parameters, allowing POST requests to work. BUG=92882 TEST=no Review URL: http://codereview.chromium.org/8028044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103221 0039d316-1c4b-4281-b951-d872f2087c98
* net: make HSTS hosts use the normal SSL interstitialsagl@chromium.org2011-09-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | (Reland of r102947, which was reverted in r102950.) SSL interstitials have better translations for the error messages and this returns us to the point where we have only a single UI for SSL errors, which will make some future changes easier. First, this change changes the SSL error callbacks to take an SSLInfo& rather than a X509Certificate* (which was already a TODO(wtc) in the code). Most of this change is the resulting plumbing. It also adds a |is_hsts_host| flag to the callbacks to denote an HSTS host. Finally, in ssl_policy.cc the |is_hsts_host| flag causes any error to be fatal. BUG=93527 http://codereview.chromium.org/7976036/ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102994 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "net: make HSTS hosts use the normal SSL interstitials"agl@chromium.org2011-09-271-5/+5
| | | | | | | This reverts commit r102947. It broke the shared build, probably because of a missing NET_EXPORT. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102950 0039d316-1c4b-4281-b951-d872f2087c98
* net: make HSTS hosts use the normal SSL interstitialsagl@chromium.org2011-09-271-5/+5
| | | | | | | | | | | | | | | | | | | | | SSL interstitials have better translations for the error messages and this returns us to the point where we have only a single UI for SSL errors, which will make some future changes easier. First, this change changes the SSL error callbacks to take an SSLInfo& rather than a X509Certificate* (which was already a TODO(wtc) in the code). Most of this change is the resulting plumbing. It also adds a |is_hsts_host| flag to the callbacks to denote an HSTS host. Finally, in ssl_policy.cc the |is_hsts_host| flag causes any error to be fatal. BUG=93527 http://codereview.chromium.org/7976036/ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102947 0039d316-1c4b-4281-b951-d872f2087c98
* chrome.experimental.downloads.download() implementationbenjhayden@chromium.org2011-09-161-1/+5
| | | | | | | | | | | | | | Ownership: (Done) Asanka: content/browser/download/* (Done) Brett: webkit/plugins/ppapi/ppb_url_request_info_impl.cc (Done) Chris: net/* (Done) John: content/browser/renderer_host/* (Done) Mihai: extensions/* Review URL: http://codereview.chromium.org/7647028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101583 0039d316-1c4b-4281-b951-d872f2087c98
* net: Rename URLRequestStatus::os_error_.tfarina@chromium.org2011-09-081-9/+9
| | | | | | | | | | | BUG=92264 TEST=None R=willchan@chromium.org Review URL: http://codereview.chromium.org/7846007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100136 0039d316-1c4b-4281-b951-d872f2087c98
* Allow the NetworkDelegate to synchronously cancel a URLRequest.joaodasilva@chromium.org2011-08-311-6/+13
| | | | | | | | | | BUG=49612 TEST=net_unittests:URLRequestTestHTTP.NetworkDelegateCancelRequestSynchronously Review URL: http://codereview.chromium.org/7747016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98978 0039d316-1c4b-4281-b951-d872f2087c98
* Log errors on the URLRequestTYPE_REQUEST_ALIVE end event,mmenke@chromium.org2011-08-171-1/+6
| | | | | | | | | | | | | as well as on URLRequestJob's NotifyDone event. The primary motivation of this change is to log CONTENT_DECODING_FAILED errors to the NetLog. BUG=89648 TEST=none Review URL: http://codereview.chromium.org/7604043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97227 0039d316-1c4b-4281-b951-d872f2087c98
* Add a status message "Waiting for extension Foo..." when there's a requestmpcomplete@chromium.org2011-08-101-4/+21
| | | | | | | | | | | | blocked on an extension with a webrequest API event handler. BUG=82618 TEST=no Review URL: http://codereview.chromium.org/7523042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96226 0039d316-1c4b-4281-b951-d872f2087c98
* Add onAuthRequired signal to the webRequest APIjochen@chromium.org2011-08-031-0/+2
| | | | | | | | | | BUG=none TEST=api test Review URL: http://codereview.chromium.org/7538024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95308 0039d316-1c4b-4281-b951-d872f2087c98
* Change CanGetCookies signature, add CookieList as parameters in order to ↵ycxiao@chromium.org2011-07-291-6/+7
| | | | | | | | | | | remove the getting cookies call inside ResourceDispatcherHost::CanGetCookies. BUG=68657 TEST=XXXX Review URL: http://codereview.chromium.org/7461121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94724 0039d316-1c4b-4281-b951-d872f2087c98
* Improve logging of webRequest API in NetLogbattre@chromium.org2011-07-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This CL creates the following types of entries in the NetLog: +URL_REQUEST_BLOCKED_ON_DELEGATE [dt= 59] CHROME_EXTENSION_MODIFIED_HEADERS --> deleted_headers = ["User-Agent"] --> extension_id = "jclggdidhhmidgnnpcjjeggphijcajeg" --> modified_headers = ["Foo: Bar"] -URL_REQUEST_BLOCKED_ON_DELEGATE +URL_REQUEST_BLOCKED_ON_DELEGATE [dt= 8] CHROME_EXTENSION_ABORTED_REQUEST --> extension_id = "jclggdidhhmidgnnpcjjeggphijcajeg" -URL_REQUEST_BLOCKED_ON_DELEGATE +URL_REQUEST_BLOCKED_ON_DELEGATE [dt=11] CHROME_EXTENSION_REDIRECTED_REQUEST --> extension_id = "mnadcejkmhgmdndhmplcebaplgddbhdi" -URL_REQUEST_BLOCKED_ON_DELEGATE BUG=no TEST=no Review URL: http://codereview.chromium.org/7497033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94472 0039d316-1c4b-4281-b951-d872f2087c98
* Handle conflict resolution for webRequest APIbattre@chromium.org2011-07-281-0/+1
| | | | | | | | | | | | | | | This CL enables conflict resolution for the webRequest API. - If any extension tries to cancel a request, this request is honored. - If two extensions try to redirect the request, the one installed last wins, the other ones are ignored and reported (to stderr at the moment) - If two extensions try to modify the *same* request header, the extension installed last wins, all header modifications of the other extension are ignored and the extension is reported (to stderr at the moment) BUG=60101 TEST=no Review URL: http://codereview.chromium.org/7499002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94468 0039d316-1c4b-4281-b951-d872f2087c98
* Deprecate RegisterProtocolFactory/(Un)RegisterInterceptor.willchan@chromium.org2011-07-191-0/+16
| | | | | | | | | | | | Mark those APIs as private and friend existing uses. BUG=none TEST=none Review URL: http://codereview.chromium.org/7397008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92992 0039d316-1c4b-4281-b951-d872f2087c98
* Replace onRequestSent with onSendHeaders in webrequest APIbattre@chromium.org2011-07-141-1/+2
| | | | | | | | | | | | | | | This CL replaces the onRequestSent signal of the webrequest API with a new onSendHeader signal. The sequence is now: onBeforeRequest -> onBeforeSendHeaders -> onSendHeaders. This change allows us to completely remove the webrequest API from the network transaction layer and stay in the URL request layer. That solve the problem that the network layer may convert one URLRequest to multiple HTTP requests which should be transparent to the webrequest API. It also solves the problem that requests answered from the cache did not trigger an onRequestSent event. Given the choice of removing onRequestSent completely and replacing it with onSendHeaders, I chose the latter so that extensions can see the headers sent to the network after other extensions had a chance to modify them. BUG=no TEST=no Review URL: http://codereview.chromium.org/7353021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92584 0039d316-1c4b-4281-b951-d872f2087c98
* Unit testing of event generation NetworkDelegate / Web Request APIbattre@chromium.org2011-07-141-0/+10
| | | | | | | | | | | The network stack has many different code paths. This CL uses the existing network unit tests to check which events are generated for the Web Request API. BUG=86139 TEST=no Review URL: http://codereview.chromium.org/7284008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92543 0039d316-1c4b-4281-b951-d872f2087c98
* Make the URLRequestContext constantbattre@chromium.org2011-07-141-3/+3
| | | | | | | | | | | | | The URLRequestContext is basically a collection of pointers to other data structures. This CL makes sure that these pointers are not easily modified after the construction of the URLRequestContext. BUG=67597 TEST=no Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=92511 Review URL: http://codereview.chromium.org/7322010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92521 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 92511 - Make the URLRequestContext constantbattre@chromium.org2011-07-141-3/+3
| | | | | | | | | | | | | | The URLRequestContext is basically a collection of pointers to other data structures. This CL makes sure that these pointers are not easily modified after the construction of the URLRequestContext. BUG=67597 TEST=no Review URL: http://codereview.chromium.org/7322010 TBR=battre@chromium.org Review URL: http://codereview.chromium.org/7366005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92512 0039d316-1c4b-4281-b951-d872f2087c98
* Make the URLRequestContext constantbattre@chromium.org2011-07-141-3/+3
| | | | | | | | | | | The URLRequestContext is basically a collection of pointers to other data structures. This CL makes sure that these pointers are not easily modified after the construction of the URLRequestContext. BUG=67597 TEST=no Review URL: http://codereview.chromium.org/7322010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92511 0039d316-1c4b-4281-b951-d872f2087c98
* Fix leaking request IDs in webRequest APIbattre@chromium.org2011-07-131-8/+86
| | | | | | | | | | | | | The current webRequest API did not guarantee that either onCompleted or onErrorOccurred is called for each request. If an extension fills a REQUEST_ID -> URL hashmap for all requests at the onBeforeRequest event, and tried to delete the entries on onCompleted and onErrorOccurred, some entries remained in the hashmap. BUG=86139 TEST=execute example extension attached to bug Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=92331 Review URL: http://codereview.chromium.org/7190007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 92331 - Fix leaking request IDs in webRequest APIbattre@chromium.org2011-07-131-84/+8
| | | | | | | | | | | | | | The current webRequest API did not guarantee that either onCompleted or onErrorOccurred is called for each request. If an extension fills a REQUEST_ID -> URL hashmap for all requests at the onBeforeRequest event, and tried to delete the entries on onCompleted and onErrorOccurred, some entries remained in the hashmap. BUG=86139 TEST=execute example extension attached to bug Review URL: http://codereview.chromium.org/7190007 TBR=battre@chromium.org Review URL: http://codereview.chromium.org/7351011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92339 0039d316-1c4b-4281-b951-d872f2087c98
* Fix leaking request IDs in webRequest APIbattre@chromium.org2011-07-131-8/+84
| | | | | | | | | | | The current webRequest API did not guarantee that either onCompleted or onErrorOccurred is called for each request. If an extension fills a REQUEST_ID -> URL hashmap for all requests at the onBeforeRequest event, and tried to delete the entries on onCompleted and onErrorOccurred, some entries remained in the hashmap. BUG=86139 TEST=execute example extension attached to bug Review URL: http://codereview.chromium.org/7190007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92331 0039d316-1c4b-4281-b951-d872f2087c98
* URLRequestJob::Read can return false but still leave the request in state ↵battre@chromium.org2011-07-061-1/+4
| | | | | | | | | | | | | | | URLRequestState::SUCCESS This CL fixes the problem, where URLRequestJob::Read indicates that either IO is pending or an error occurred but still leaves the state of the URLRequest as URLRequestState::SUCCESS. I have added a DCHECK in lieu of a more complex unit test. BUG=88085 TEST=no Review URL: http://codereview.chromium.org/7290009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91549 0039d316-1c4b-4281-b951-d872f2087c98
* Moved OnBeforeHeadersSent of webRequest API to url_request_http_job.ccbattre@chromium.org2011-06-281-2/+6
| | | | | | | | | | | | | | | | | | | | | | | This CL moves the OnBeforeSendHeaders signal from net_http_transaction.cc and net_cache_transaction.cc to url_request_http_job.cc. We do this for several reasons: - deep in the http stack one URL Request can be split into several http requests (with different byte ranges). - We do not want to expose this implementation detail to extension authors. - It is not sufficient to submit only the first OnBeforeSendHeaders event to the extension: If the extension modifies the headers, this modification should apply to all http requests. - from an architectural perspective we do not want to go too deep in order to allow changing the network stack implementation without being limited by the published Extension API (needs to be backwards compatible) BUG=60101 TEST=no Review URL: http://codereview.chromium.org/7039010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90753 0039d316-1c4b-4281-b951-d872f2087c98
* Modify URLRequest::Delegate::OnCertificateRequested to cancel the request. ↵rch@chromium.org2011-05-201-1/+1
| | | | | | | | | | | | | This means that "headless" requests to server which request optional ssl client auth will not create sockets, ssl sessions, or ssl client auth associates using a NULL certificate. BUG=80994 TEST=Configure chrome to use an HTTPS Proxy with optional client auth. Start chrome and type in the browser. Then hit return, and verify that the cert selection dialog box appears. Review URL: http://codereview.chromium.org/7011051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86046 0039d316-1c4b-4281-b951-d872f2087c98
* More progress towards removing content settings code from the content layer. ↵jam@chromium.org2011-05-101-6/+6
| | | | | | | | | We can't use CookiePolicy anymore since, being in the network layer, we can't give it render_process_id/render_view_id, which are needed to put up the content settings UI. Instead of the networking code calling CookiePolicy then calling the delegate (ResourceDispatcherHost) to inform it if something is blocked, we directly ask the delegate if something is allowed. ResourceDispatcherHost then calls the embedder, and passes along the IDs to identify the tab. In the next change, I'll use this mechansim in RenderMessageFilter and remove the CookiePolicy class. BUG=76793 Review URL: http://codereview.chromium.org/6995013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84881 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command-line flag for MAC cookies.abarth@chromium.org2011-05-081-0/+11
| | | | | | | | | Currently, this flag isn't wired up to anything yet. That will come in http://codereview.chromium.org/6901147/. Review URL: http://codereview.chromium.org/6953012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84591 0039d316-1c4b-4281-b951-d872f2087c98
* Tweaks to extension webRequest API.mpcomplete@chromium.org2011-05-031-7/+3
| | | | | | | | | | | | | | | - onBeforeSendHeaders respects extraInfoSpec. - request headers are now an array of {name, value} objects instead of a flat string. - onBeforeRequest is sent after redirects now. This allows extensions to intercept redirects and cancel/redirect them elsewhere. BUG=60101 TEST=no Review URL: http://codereview.chromium.org/6912008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83925 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented of base functionality of ↵battre@chromium.org2011-04-201-0/+4
| | | | | | | | | | | chrome.experimental.webRequest.onBeforeRedirect BUG=60101 TEST=execute browser tests Review URL: http://codereview.chromium.org/6882043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82317 0039d316-1c4b-4281-b951-d872f2087c98