summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h')
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h46
1 files changed, 41 insertions, 5 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
index 1cbf21e61b..2d87d6e361 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2003, 2006 Apple Computer, Inc. All rights reserved.
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
+ * Copyright (C) 2009 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -31,6 +32,9 @@
#include "KURL.h"
#include "HTTPHeaderMap.h"
+#include <memory>
+#include <wtf/OwnPtr.h>
+
namespace WebCore {
enum ResourceRequestCachePolicy {
@@ -42,25 +46,33 @@ namespace WebCore {
const int unspecifiedTimeoutInterval = INT_MAX;
- class ResourceRequest;
+ struct ResourceRequest;
+ struct CrossThreadResourceRequestData;
// Do not use this type directly. Use ResourceRequest instead.
class ResourceRequestBase {
public:
+ static std::auto_ptr<ResourceRequest> adopt(std::auto_ptr<CrossThreadResourceRequestData>);
+
+ // Gets a copy of the data suitable for passing to another thread.
+ std::auto_ptr<CrossThreadResourceRequestData> copyData() const;
+
bool isNull() const;
bool isEmpty() const;
const KURL& url() const;
void setURL(const KURL& url);
+ void removeCredentials();
+
ResourceRequestCachePolicy cachePolicy() const;
void setCachePolicy(ResourceRequestCachePolicy cachePolicy);
double timeoutInterval() const;
void setTimeoutInterval(double timeoutInterval);
- const KURL& mainDocumentURL() const;
- void setMainDocumentURL(const KURL& mainDocumentURL);
+ const KURL& firstPartyForCookies() const;
+ void setFirstPartyForCookies(const KURL& firstPartyForCookies);
const String& httpMethod() const;
void setHTTPMethod(const String& httpMethod);
@@ -97,12 +109,18 @@ namespace WebCore {
void setAllowHTTPCookies(bool allowHTTPCookies);
bool isConditional() const;
-
+
+ // Whether the associated ResourceHandleClient needs to be notified of
+ // upload progress made for that resource.
+ bool reportUploadProgress() const { return m_reportUploadProgress; }
+ void setReportUploadProgress(bool reportUploadProgress) { m_reportUploadProgress = reportUploadProgress; }
+
protected:
// Used when ResourceRequest is initialized from a platform representation of the request
ResourceRequestBase()
: m_resourceRequestUpdated(false)
, m_platformRequestUpdated(true)
+ , m_reportUploadProgress(false)
{
}
@@ -114,6 +132,7 @@ namespace WebCore {
, m_allowHTTPCookies(true)
, m_resourceRequestUpdated(true)
, m_platformRequestUpdated(false)
+ , m_reportUploadProgress(false)
{
}
@@ -124,7 +143,7 @@ namespace WebCore {
ResourceRequestCachePolicy m_cachePolicy;
double m_timeoutInterval;
- KURL m_mainDocumentURL;
+ KURL m_firstPartyForCookies;
String m_httpMethod;
HTTPHeaderMap m_httpHeaderFields;
Vector<String> m_responseContentDispositionEncodingFallbackArray;
@@ -132,6 +151,7 @@ namespace WebCore {
bool m_allowHTTPCookies;
mutable bool m_resourceRequestUpdated;
mutable bool m_platformRequestUpdated;
+ bool m_reportUploadProgress;
private:
const ResourceRequest& asResourceRequest() const;
@@ -142,6 +162,22 @@ namespace WebCore {
bool operator==(const ResourceRequestBase&, const ResourceRequestBase&);
inline bool operator!=(ResourceRequestBase& a, const ResourceRequestBase& b) { return !(a == b); }
+ struct CrossThreadResourceRequestData {
+ KURL m_url;
+
+ ResourceRequestCachePolicy m_cachePolicy;
+ double m_timeoutInterval;
+ KURL m_firstPartyForCookies;
+
+ String m_httpMethod;
+ OwnPtr<CrossThreadHTTPHeaderMapData> m_httpHeaders;
+ Vector<String> m_responseContentDispositionEncodingFallbackArray;
+ RefPtr<FormData> m_httpBody;
+ bool m_allowHTTPCookies;
+ };
+
+ unsigned initializeMaximumHTTPConnectionCountPerHost();
+
} // namespace WebCore
#endif // ResourceRequestBase_h