2010-10-03 23:04:50 +02:00
|
|
|
// Copyright (c) 2008 The Chromium Embedded Framework Authors.
|
|
|
|
// Portions copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
#ifndef _BROWSER_REQUEST_CONTEXT_H
|
|
|
|
#define _BROWSER_REQUEST_CONTEXT_H
|
|
|
|
|
|
|
|
#include "net/http/http_cache.h"
|
2011-01-24 22:24:21 +01:00
|
|
|
#include "net/http/url_security_manager.h"
|
2011-12-15 15:47:23 +01:00
|
|
|
#include "net/url_request/url_request.h"
|
2010-10-03 23:04:50 +02:00
|
|
|
#include "net/url_request/url_request_context.h"
|
2011-05-16 18:56:12 +02:00
|
|
|
#include "net/url_request/url_request_context_storage.h"
|
2010-10-03 23:04:50 +02:00
|
|
|
|
|
|
|
class FilePath;
|
2011-04-05 18:17:33 +02:00
|
|
|
|
2010-10-03 23:04:50 +02:00
|
|
|
namespace webkit_blob {
|
|
|
|
class BlobStorageController;
|
|
|
|
}
|
|
|
|
|
|
|
|
// A basic URLRequestContext that only provides an in-memory cookie store.
|
2011-02-15 19:07:24 +01:00
|
|
|
class BrowserRequestContext : public net::URLRequestContext {
|
2010-10-03 23:04:50 +02:00
|
|
|
public:
|
|
|
|
// Use an in-memory cache
|
|
|
|
BrowserRequestContext();
|
2011-07-03 02:03:30 +02:00
|
|
|
virtual ~BrowserRequestContext();
|
2010-10-03 23:04:50 +02:00
|
|
|
|
|
|
|
// Use an on-disk cache at the specified location. Optionally, use the cache
|
|
|
|
// in playback or record mode.
|
|
|
|
BrowserRequestContext(const FilePath& cache_path,
|
|
|
|
net::HttpCache::Mode cache_mode,
|
|
|
|
bool no_proxy);
|
|
|
|
|
|
|
|
virtual const std::string& GetUserAgent(const GURL& url) const;
|
|
|
|
|
|
|
|
void SetAcceptAllCookies(bool accept_all_cookies);
|
2011-05-16 18:56:12 +02:00
|
|
|
bool AcceptAllCookies();
|
2010-10-03 23:04:50 +02:00
|
|
|
|
2011-11-02 20:50:00 +01:00
|
|
|
// Set the path used for cookie storage. If |path| is empty memory only
|
|
|
|
// storage will be used. If the old cookie data is being stored on disk it
|
|
|
|
// will be flushed and closed.
|
|
|
|
void SetCookieStoragePath(const FilePath& path);
|
|
|
|
|
2010-10-03 23:04:50 +02:00
|
|
|
webkit_blob::BlobStorageController* blob_storage_controller() const {
|
|
|
|
return blob_storage_controller_.get();
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
void Init(const FilePath& cache_path, net::HttpCache::Mode cache_mode,
|
|
|
|
bool no_proxy);
|
|
|
|
|
2011-05-16 18:56:12 +02:00
|
|
|
net::URLRequestContextStorage storage_;
|
2010-10-03 23:04:50 +02:00
|
|
|
scoped_ptr<webkit_blob::BlobStorageController> blob_storage_controller_;
|
2011-01-24 22:24:21 +01:00
|
|
|
scoped_ptr<net::URLSecurityManager> url_security_manager_;
|
2011-12-15 15:47:23 +01:00
|
|
|
scoped_ptr<net::URLRequest::Interceptor> url_request_interceptor_;
|
2011-11-02 20:50:00 +01:00
|
|
|
FilePath cookie_store_path_;
|
2011-05-16 18:56:12 +02:00
|
|
|
bool accept_all_cookies_;
|
2010-10-03 23:04:50 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _BROWSER_REQUEST_CONTEXT_H
|
|
|
|
|