summaryrefslogtreecommitdiffstats
path: root/chrome/browser/devtools/devtools_network_transaction.h
diff options
context:
space:
mode:
authoreustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-12 09:16:58 +0000
committereustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-12 09:16:58 +0000
commit1aa053640fe4302a98d4e7e551e5d28ad66c98fd (patch)
tree41d9579e0169bf8dbe9d4ba09bc002ba0e47931e /chrome/browser/devtools/devtools_network_transaction.h
parenta88e133e6ada6181b21302dcde5183d37f9b4e51 (diff)
downloadchromium_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.h26
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_;