#include "net/base/net_export.h"
#include "net/base/net_log.h"
#include "net/base/privacy_mode.h"
+#include "net/cookies/cookie_store.h"
#include "net/proxy/proxy_service.h"
#include "net/ssl/ssl_config_service.h"
#include "net/url_request/url_request.h"
class AuthChallengeInfo;
class CertVerifier;
+class ChannelIDService;
class ClientSocketFactory;
class ClientSocketHandle;
class CookieOptions;
class HostResolver;
class HttpAuthController;
class SSLInfo;
-class ServerBoundCertService;
class SingleRequestHostResolver;
class SocketStreamMetrics;
class TransportSecurityState;
virtual ~Delegate() {}
};
- SocketStream(const GURL& url, Delegate* delegate);
+ SocketStream(const GURL& url, Delegate* delegate, URLRequestContext* context,
+ CookieStore* cookie_store);
// The user data allows the clients to associate data with this job.
// Multiple user data values can be stored under different keys.
int max_pending_send_allowed() const { return max_pending_send_allowed_; }
URLRequestContext* context() { return context_; }
- // There're some asynchronous operations and members that are constructed from
- // |context|. Be careful when you use this for the second time or more.
- void set_context(URLRequestContext* context);
const SSLConfig& server_ssl_config() const { return server_ssl_config_; }
PrivacyMode privacy_mode() const { return privacy_mode_; }
// back.
virtual void DetachDelegate();
+ // Detach the context.
+ virtual void DetachContext();
+
const ProxyServer& proxy_server() const;
// Sets an alternative ClientSocketFactory. Doesn't take ownership of
// actions on alert dialog or browser cached such kinds of user actions.
void ContinueDespiteError();
+ CookieStore* cookie_store() const;
+
protected:
friend class base::RefCountedThreadSafe<SocketStream>;
virtual ~SocketStream();
private:
virtual ~ResponseHeaders();
- scoped_ptr_malloc<char> headers_;
+ scoped_ptr<char, base::FreeDeleter> headers_;
};
enum State {
scoped_ptr<SocketStreamMetrics> metrics_;
+ // Cookie store to use for this socket stream.
+ scoped_refptr<CookieStore> cookie_store_;
+
DISALLOW_COPY_AND_ASSIGN(SocketStream);
};