Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / net / url_request / url_request_test_util.h
index 0b2f48c..cad472e 100644 (file)
@@ -13,6 +13,7 @@
 #include "base/basictypes.h"
 #include "base/compiler_specific.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/message_loop/message_loop_proxy.h"
 #include "base/path_service.h"
 #include "base/strings/string16.h"
@@ -24,6 +25,7 @@
 #include "net/base/net_errors.h"
 #include "net/base/network_delegate.h"
 #include "net/base/request_priority.h"
+#include "net/base/sdch_manager.h"
 #include "net/cert/cert_verifier.h"
 #include "net/cookies/cookie_monster.h"
 #include "net/disk_cache/disk_cache.h"
@@ -31,6 +33,7 @@
 #include "net/http/http_auth_handler_factory.h"
 #include "net/http/http_cache.h"
 #include "net/http/http_network_layer.h"
+#include "net/http/http_network_session.h"
 #include "net/http/http_request_headers.h"
 #include "net/proxy/proxy_service.h"
 #include "net/ssl/ssl_config_service_defaults.h"
@@ -66,9 +69,22 @@ class TestURLRequestContext : public URLRequestContext {
     client_socket_factory_ = factory;
   }
 
+  void set_http_network_session_params(
+      const HttpNetworkSession::Params& params) {
+  }
+
+  void SetSdchManager(scoped_ptr<SdchManager> sdch_manager) {
+    context_storage_.set_sdch_manager(sdch_manager.Pass());
+  }
+
  private:
   bool initialized_;
 
+  // Optional parameters to override default values.  Note that values that
+  // point to other objects the TestURLRequestContext creates will be
+  // overwritten.
+  scoped_ptr<HttpNetworkSession::Params> http_network_session_params_;
+
   // Not owned:
   ClientSocketFactory* client_socket_factory_;
 
@@ -106,17 +122,6 @@ class TestURLRequestContextGetter : public URLRequestContextGetter {
 
 //-----------------------------------------------------------------------------
 
-class TestURLRequest : public URLRequest {
- public:
-  TestURLRequest(const GURL& url,
-                 RequestPriority priority,
-                 Delegate* delegate,
-                 TestURLRequestContext* context);
-  virtual ~TestURLRequest();
-};
-
-//-----------------------------------------------------------------------------
-
 class TestDelegate : public URLRequest::Delegate {
  public:
   TestDelegate();
@@ -164,7 +169,8 @@ class TestDelegate : public URLRequest::Delegate {
   void ClearFullRequestHeaders();
 
   // URLRequest::Delegate:
-  virtual void OnReceivedRedirect(URLRequest* request, const GURL& new_url,
+  virtual void OnReceivedRedirect(URLRequest* request,
+                                  const RedirectInfo& redirect_info,
                                   bool* defer_redirect) OVERRIDE;
   virtual void OnBeforeNetworkStart(URLRequest* request, bool* defer) OVERRIDE;
   virtual void OnAuthRequired(URLRequest* request,
@@ -263,6 +269,19 @@ class TestNetworkDelegate : public NetworkDelegate {
   void set_can_throttle_requests(bool val) { can_throttle_requests_ = val; }
   bool can_throttle_requests() const { return can_throttle_requests_; }
 
+  void set_cancel_request_with_policy_violating_referrer(bool val) {
+    cancel_request_with_policy_violating_referrer_ = val;
+  }
+
+  int observed_before_proxy_headers_sent_callbacks() const {
+    return observed_before_proxy_headers_sent_callbacks_;
+  }
+
+  // Last observed proxy in proxy header sent callback.
+  HostPortPair last_observed_proxy() {
+    return last_observed_proxy_;
+  }
+
  protected:
   // NetworkDelegate:
   virtual int OnBeforeURLRequest(URLRequest* request,
@@ -271,6 +290,10 @@ class TestNetworkDelegate : public NetworkDelegate {
   virtual int OnBeforeSendHeaders(URLRequest* request,
                                   const CompletionCallback& callback,
                                   HttpRequestHeaders* headers) OVERRIDE;
+  virtual void OnBeforeSendProxyHeaders(
+      net::URLRequest* request,
+      const net::ProxyInfo& proxy_info,
+      net::HttpRequestHeaders* headers) OVERRIDE;
   virtual void OnSendHeaders(URLRequest* request,
                              const HttpRequestHeaders& headers) OVERRIDE;
   virtual int OnHeadersReceived(
@@ -305,6 +328,10 @@ class TestNetworkDelegate : public NetworkDelegate {
   virtual int OnBeforeSocketStreamConnect(
       SocketStream* stream,
       const CompletionCallback& callback) OVERRIDE;
+  virtual bool OnCancelURLRequestWithPolicyViolatingReferrerHeader(
+      const URLRequest& request,
+      const GURL& target_url,
+      const GURL& referrer_url) const OVERRIDE;
 
   void InitRequestStatesIfNew(int request_id);
 
@@ -322,6 +349,9 @@ class TestNetworkDelegate : public NetworkDelegate {
   int blocked_get_cookies_count_;
   int blocked_set_cookie_count_;
   int set_cookie_count_;
+  int observed_before_proxy_headers_sent_callbacks_;
+  // Last observed proxy in before proxy header sent callback.
+  HostPortPair last_observed_proxy_;
 
   // NetworkDelegate callbacks happen in a particular order (e.g.
   // OnBeforeURLRequest is always called before OnBeforeSendHeaders).
@@ -341,6 +371,7 @@ class TestNetworkDelegate : public NetworkDelegate {
 
   bool can_access_files_;  // true by default
   bool can_throttle_requests_;  // true by default
+  bool cancel_request_with_policy_violating_referrer_;  // false by default
 };
 
 // Overrides the host used by the LocalHttpTestServer in