diff options
author | eustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-12 09:16:58 +0000 |
---|---|---|
committer | eustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-12 09:16:58 +0000 |
commit | 1aa053640fe4302a98d4e7e551e5d28ad66c98fd (patch) | |
tree | 41d9579e0169bf8dbe9d4ba09bc002ba0e47931e /chrome/browser/devtools/devtools_network_transaction.h | |
parent | a88e133e6ada6181b21302dcde5183d37f9b4e51 (diff) | |
download | chromium_src-1aa053640fe4302a98d4e7e551e5d28ad66c98fd.zip chromium_src-1aa053640fe4302a98d4e7e551e5d28ad66c98fd.tar.gz chromium_src-1aa053640fe4302a98d4e7e551e5d28ad66c98fd.tar.bz2 |
DevToolsNetworkController: support "limit throughput" network condition.
BUG=245436
Review URL: https://codereview.chromium.org/324953002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276596 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/devtools/devtools_network_transaction.h')
-rw-r--r-- | chrome/browser/devtools/devtools_network_transaction.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/chrome/browser/devtools/devtools_network_transaction.h b/chrome/browser/devtools/devtools_network_transaction.h index 5a51ab2..37e84ed 100644 --- a/chrome/browser/devtools/devtools_network_transaction.h +++ b/chrome/browser/devtools/devtools_network_transaction.h @@ -47,6 +47,13 @@ class DevToolsNetworkTransaction : public net::HttpTransaction { // Runs callback (if any) with net::ERR_INTERNET_DISCONNECTED result value. void Fail(); + int64_t throttled_byte_count() const { return throttled_byte_count_; } + void DecreaseThrottledByteCount(int64_t delta) { + throttled_byte_count_ -= delta; + } + + void FireThrottledCallback(); + // HttpTransaction methods: virtual int Start( const net::HttpRequestInfo* request, @@ -102,6 +109,25 @@ class DevToolsNetworkTransaction : public net::HttpTransaction { // True if Fail was already invoked. bool failed_; + enum CallbackType { + NONE, + READ, + RESTART_IGNORING_LAST_ERROR, + RESTART_WITH_AUTH, + RESTART_WITH_CERTIFICATE, + START + }; + + int SetupCallback( + net::CompletionCallback callback, + int result, + CallbackType callback_type); + + void Throttle(int result); + + int throttled_result_; + int64_t throttled_byte_count_; + CallbackType callback_type_; net::CompletionCallback proxy_callback_; net::CompletionCallback callback_; |