| Index: chrome/browser/devtools/devtools_network_transaction.h
|
| diff --git a/chrome/browser/devtools/devtools_network_transaction.h b/chrome/browser/devtools/devtools_network_transaction.h
|
| index 37e84ed8694b5ff4baab98b805cd8c3de0fa6506..77ae9217ee2c45b5735cdc95f6b972e5e9e925fd 100644
|
| --- a/chrome/browser/devtools/devtools_network_transaction.h
|
| +++ b/chrome/browser/devtools/devtools_network_transaction.h
|
| @@ -6,6 +6,7 @@
|
| #define CHROME_BROWSER_DEVTOOLS_DEVTOOLS_NETWORK_TRANSACTION_H_
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "net/base/completion_callback.h"
|
| #include "net/base/load_states.h"
|
| #include "net/base/request_priority.h"
|
| @@ -13,6 +14,7 @@
|
| #include "net/websockets/websocket_handshake_stream_base.h"
|
|
|
| class DevToolsNetworkController;
|
| +class DevToolsNetworkInterceptor;
|
| class GURL;
|
|
|
| namespace net {
|
| @@ -26,6 +28,10 @@ class IOBuffer;
|
| struct LoadTimingInfo;
|
| class UploadProgress;
|
| class X509Certificate;
|
| +} // namespace net
|
| +
|
| +namespace test {
|
| +class DevToolsNetworkControllerHelper;
|
| }
|
|
|
| // DevToolsNetworkTransaction is a wrapper for network transaction. All
|
| @@ -42,6 +48,11 @@ class DevToolsNetworkTransaction : public net::HttpTransaction {
|
| virtual ~DevToolsNetworkTransaction();
|
|
|
| const net::HttpRequestInfo* request() const { return request_; }
|
| +
|
| + // Checks if request contains DevTools specific headers. Found values are
|
| + // remembered and corresponding keys are removed from headers.
|
| + void ProcessRequest();
|
| +
|
| bool failed() const { return failed_; }
|
|
|
| // Runs callback (if any) with net::ERR_INTERNET_DISCONNECTED result value.
|
| @@ -52,6 +63,12 @@ class DevToolsNetworkTransaction : public net::HttpTransaction {
|
| throttled_byte_count_ -= delta;
|
| }
|
|
|
| + const std::string& request_initiator() const { return request_initiator_; }
|
| +
|
| + const std::string& client_id() const {
|
| + return client_id_;
|
| + }
|
| +
|
| void FireThrottledCallback();
|
|
|
| // HttpTransaction methods:
|
| @@ -92,11 +109,15 @@ class DevToolsNetworkTransaction : public net::HttpTransaction {
|
| const BeforeNetworkStartCallback& callback) OVERRIDE;
|
| virtual int ResumeNetworkStart() OVERRIDE;
|
|
|
| + protected:
|
| + friend class test::DevToolsNetworkControllerHelper;
|
| +
|
| private:
|
| // Proxy callback handler. Runs saved callback.
|
| void OnCallback(int result);
|
|
|
| DevToolsNetworkController* controller_;
|
| + base::WeakPtr<DevToolsNetworkInterceptor> interceptor_;
|
|
|
| // Real network transaction.
|
| scoped_ptr<net::HttpTransaction> network_transaction_;
|
| @@ -109,6 +130,14 @@ class DevToolsNetworkTransaction : public net::HttpTransaction {
|
| // True if Fail was already invoked.
|
| bool failed_;
|
|
|
| + // Value of "X-DevTools-Request-Initiator" request header.
|
| + std::string request_initiator_;
|
| +
|
| + // Value of "X-DevTools-Emulate-Network-Conditions-Client-Id" request header.
|
| + std::string client_id_;
|
| +
|
| + scoped_ptr<net::HttpRequestInfo> custom_request_;
|
| +
|
| enum CallbackType {
|
| NONE,
|
| READ,
|
|
|