Index: sky/engine/platform/network/ResourceResponse.h |
diff --git a/sky/engine/platform/network/ResourceResponse.h b/sky/engine/platform/network/ResourceResponse.h |
deleted file mode 100644 |
index 558194304d57aecb871559d59d3c11d65a943af0..0000000000000000000000000000000000000000 |
--- a/sky/engine/platform/network/ResourceResponse.h |
+++ /dev/null |
@@ -1,255 +0,0 @@ |
-/* |
- * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. |
- * 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 |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR |
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#ifndef SKY_ENGINE_PLATFORM_NETWORK_RESOURCERESPONSE_H_ |
-#define SKY_ENGINE_PLATFORM_NETWORK_RESOURCERESPONSE_H_ |
- |
-#include "sky/engine/platform/PlatformExport.h" |
-#include "sky/engine/platform/network/HTTPHeaderMap.h" |
-#include "sky/engine/platform/network/HTTPParsers.h" |
-#include "sky/engine/platform/network/ResourceLoadInfo.h" |
-#include "sky/engine/platform/network/ResourceLoadTiming.h" |
-#include "sky/engine/platform/weborigin/KURL.h" |
-#include "sky/engine/wtf/PassOwnPtr.h" |
-#include "sky/engine/wtf/RefPtr.h" |
-#include "sky/engine/wtf/text/CString.h" |
- |
-namespace blink { |
- |
-class PLATFORM_EXPORT ResourceResponse { |
- WTF_MAKE_FAST_ALLOCATED; |
-public: |
- enum HTTPVersion { Unknown, HTTP_0_9, HTTP_1_0, HTTP_1_1 }; |
- |
- class ExtraData : public RefCounted<ExtraData> { |
- public: |
- virtual ~ExtraData() { } |
- }; |
- |
- ResourceResponse(); |
- ResourceResponse(const KURL&, const AtomicString& mimeType, long long expectedLength, const AtomicString& textEncodingName, const String& filename); |
- |
- bool isNull() const { return m_isNull; } |
- bool isHTTP() const; |
- |
- const KURL& url() const; |
- void setURL(const KURL&); |
- |
- const AtomicString& mimeType() const; |
- void setMimeType(const AtomicString&); |
- |
- long long expectedContentLength() const; |
- void setExpectedContentLength(long long); |
- |
- const AtomicString& textEncodingName() const; |
- void setTextEncodingName(const AtomicString&); |
- |
- // FIXME: Should compute this on the fly. |
- // There should not be a setter exposed, as suggested file name is determined based on other headers in a manner that WebCore does not necessarily know about. |
- const String& suggestedFilename() const; |
- void setSuggestedFilename(const String&); |
- |
- int httpStatusCode() const; |
- void setHTTPStatusCode(int); |
- |
- const AtomicString& httpStatusText() const; |
- void setHTTPStatusText(const AtomicString&); |
- |
- const AtomicString& httpHeaderField(const AtomicString& name) const; |
- const AtomicString& httpHeaderField(const char* name) const; |
- void setHTTPHeaderField(const AtomicString& name, const AtomicString& value); |
- void addHTTPHeaderField(const AtomicString& name, const AtomicString& value); |
- void clearHTTPHeaderField(const AtomicString& name); |
- const HTTPHeaderMap& httpHeaderFields() const; |
- |
- bool isMultipart() const { return mimeType() == "multipart/x-mixed-replace"; } |
- |
- bool isAttachment() const; |
- |
- // FIXME: These are used by PluginStream on some platforms. Calculations may differ from just returning plain Last-Modified header. |
- // Leaving it for now but this should go away in favor of generic solution. |
- void setLastModifiedDate(time_t); |
- time_t lastModifiedDate() const; |
- |
- // These functions return parsed values of the corresponding response headers. |
- // NaN means that the header was not present or had invalid value. |
- bool cacheControlContainsNoCache(); |
- bool cacheControlContainsNoStore(); |
- bool cacheControlContainsMustRevalidate(); |
- bool hasCacheValidatorFields() const; |
- double cacheControlMaxAge(); |
- double date() const; |
- double age() const; |
- double expires() const; |
- double lastModified() const; |
- |
- unsigned connectionID() const; |
- void setConnectionID(unsigned); |
- |
- bool connectionReused() const; |
- void setConnectionReused(bool); |
- |
- bool wasCached() const; |
- void setWasCached(bool); |
- |
- ResourceLoadTiming* resourceLoadTiming() const; |
- void setResourceLoadTiming(PassRefPtr<ResourceLoadTiming>); |
- |
- PassRefPtr<ResourceLoadInfo> resourceLoadInfo() const; |
- void setResourceLoadInfo(PassRefPtr<ResourceLoadInfo>); |
- |
- HTTPVersion httpVersion() const { return m_httpVersion; } |
- void setHTTPVersion(HTTPVersion version) { m_httpVersion = version; } |
- |
- const CString& getSecurityInfo() const { return m_securityInfo; } |
- void setSecurityInfo(const CString& securityInfo) { m_securityInfo = securityInfo; } |
- |
- bool wasFetchedViaSPDY() const { return m_wasFetchedViaSPDY; } |
- void setWasFetchedViaSPDY(bool value) { m_wasFetchedViaSPDY = value; } |
- |
- bool wasNpnNegotiated() const { return m_wasNpnNegotiated; } |
- void setWasNpnNegotiated(bool value) { m_wasNpnNegotiated = value; } |
- |
- bool wasAlternateProtocolAvailable() const |
- { |
- return m_wasAlternateProtocolAvailable; |
- } |
- void setWasAlternateProtocolAvailable(bool value) |
- { |
- m_wasAlternateProtocolAvailable = value; |
- } |
- |
- bool wasFetchedViaProxy() const { return m_wasFetchedViaProxy; } |
- void setWasFetchedViaProxy(bool value) { m_wasFetchedViaProxy = value; } |
- |
- bool isMultipartPayload() const { return m_isMultipartPayload; } |
- void setIsMultipartPayload(bool value) { m_isMultipartPayload = value; } |
- |
- double responseTime() const { return m_responseTime; } |
- void setResponseTime(double responseTime) { m_responseTime = responseTime; } |
- |
- const AtomicString& remoteIPAddress() const { return m_remoteIPAddress; } |
- void setRemoteIPAddress(const AtomicString& value) { m_remoteIPAddress = value; } |
- |
- unsigned short remotePort() const { return m_remotePort; } |
- void setRemotePort(unsigned short value) { m_remotePort = value; } |
- |
- const String& downloadedFilePath() const { return m_downloadedFilePath; } |
- void setDownloadedFilePath(const String&); |
- |
- // Extra data associated with this response. |
- ExtraData* extraData() const { return m_extraData.get(); } |
- void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; } |
- |
- // The ResourceResponse subclass may "shadow" this method to provide platform-specific memory usage information |
- unsigned memoryUsage() const |
- { |
- // average size, mostly due to URL and Header Map strings |
- return 1280; |
- } |
- |
- // This method doesn't compare the all members. |
- static bool compare(const ResourceResponse&, const ResourceResponse&); |
- |
-private: |
- void updateHeaderParsedState(const AtomicString& name); |
- |
- KURL m_url; |
- AtomicString m_mimeType; |
- long long m_expectedContentLength; |
- AtomicString m_textEncodingName; |
- String m_suggestedFilename; |
- int m_httpStatusCode; |
- AtomicString m_httpStatusText; |
- HTTPHeaderMap m_httpHeaderFields; |
- time_t m_lastModifiedDate; |
- bool m_wasCached : 1; |
- unsigned m_connectionID; |
- bool m_connectionReused : 1; |
- RefPtr<ResourceLoadTiming> m_resourceLoadTiming; |
- RefPtr<ResourceLoadInfo> m_resourceLoadInfo; |
- |
- bool m_isNull : 1; |
- |
- CacheControlHeader m_cacheControlHeader; |
- |
- mutable bool m_haveParsedAgeHeader : 1; |
- mutable bool m_haveParsedDateHeader : 1; |
- mutable bool m_haveParsedExpiresHeader : 1; |
- mutable bool m_haveParsedLastModifiedHeader : 1; |
- |
- mutable double m_age; |
- mutable double m_date; |
- mutable double m_expires; |
- mutable double m_lastModified; |
- |
- // An opaque value that contains some information regarding the security of |
- // the connection for this request, such as SSL connection info (empty |
- // string if not over HTTPS). |
- CString m_securityInfo; |
- |
- // HTTP version used in the response, if known. |
- HTTPVersion m_httpVersion; |
- |
- // Set to true if this is part of a multipart response. |
- bool m_isMultipartPayload; |
- |
- // Was the resource fetched over SPDY. See http://dev.chromium.org/spdy |
- bool m_wasFetchedViaSPDY; |
- |
- // Was the resource fetched over a channel which used TLS/Next-Protocol-Negotiation (also SPDY related). |
- bool m_wasNpnNegotiated; |
- |
- // Was the resource fetched over a channel which specified "Alternate-Protocol" |
- // (e.g.: Alternate-Protocol: 443:npn-spdy/1). |
- bool m_wasAlternateProtocolAvailable; |
- |
- // Was the resource fetched over an explicit proxy (HTTP, SOCKS, etc). |
- bool m_wasFetchedViaProxy; |
- |
- // The time at which the response headers were received. For cached |
- // responses, this time could be "far" in the past. |
- double m_responseTime; |
- |
- // Remote IP address of the socket which fetched this resource. |
- AtomicString m_remoteIPAddress; |
- |
- // Remote port number of the socket which fetched this resource. |
- unsigned short m_remotePort; |
- |
- // The downloaded file path if the load streamed to a file. |
- String m_downloadedFilePath; |
- |
- // ExtraData associated with the response. |
- RefPtr<ExtraData> m_extraData; |
-}; |
- |
-inline bool operator==(const ResourceResponse& a, const ResourceResponse& b) { return ResourceResponse::compare(a, b); } |
-inline bool operator!=(const ResourceResponse& a, const ResourceResponse& b) { return !(a == b); } |
- |
-} // namespace blink |
- |
-#endif // SKY_ENGINE_PLATFORM_NETWORK_RESOURCERESPONSE_H_ |