X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=Source%2FWebCore%2Fplatform%2Fnetwork%2FResourceResponseBase.h;h=250411c3b89df0ef2b3d2676df18a98d13dc3237;hb=2daae5fd11344eaa88a0d92b0f6d65f8d2255c00;hp=9c54babba676631f8dc2a0e09755ff1193717207;hpb=6e18829567040b5996966ce0676d8e0ab30e2904;p=android-x86%2Fexternal-webkit.git diff --git a/Source/WebCore/platform/network/ResourceResponseBase.h b/Source/WebCore/platform/network/ResourceResponseBase.h index 9c54babba..250411c3b 100644 --- a/Source/WebCore/platform/network/ResourceResponseBase.h +++ b/Source/WebCore/platform/network/ResourceResponseBase.h @@ -35,13 +35,18 @@ #include #include +#if OS(SOLARIS) +#include // For time_t structure. +#endif + namespace WebCore { class ResourceResponse; struct CrossThreadResourceResponseData; // Do not use this class directly, use the class ResponseResponse instead -class ResourceResponseBase : public FastAllocBase { +class ResourceResponseBase { + WTF_MAKE_FAST_ALLOCATED; public: static PassOwnPtr adopt(PassOwnPtr); @@ -92,6 +97,7 @@ public: bool cacheControlContainsNoCache() const; bool cacheControlContainsNoStore() const; bool cacheControlContainsMustRevalidate() const; + bool hasCacheValidatorFields() const; double cacheControlMaxAge() const; double date() const; double age() const; @@ -123,13 +129,19 @@ public: static bool compare(const ResourceResponse&, const ResourceResponse&); protected: + enum InitLevel { + Uninitialized, + CommonFieldsOnly, + AllFields + }; + ResourceResponseBase(); ResourceResponseBase(const KURL& url, const String& mimeType, long long expectedLength, const String& textEncodingName, const String& filename); - void lazyInit() const; + void lazyInit(InitLevel) const; // The ResourceResponse subclass may "shadow" this method to lazily initialize platform specific fields - void platformLazyInit() { } + void platformLazyInit(InitLevel) { } // The ResourceResponse subclass may "shadow" this method to compare platform specific fields static bool platformCompare(const ResourceResponse&, const ResourceResponse&) { return true; } @@ -175,7 +187,10 @@ private: inline bool operator==(const ResourceResponse& a, const ResourceResponse& b) { return ResourceResponseBase::compare(a, b); } inline bool operator!=(const ResourceResponse& a, const ResourceResponse& b) { return !(a == b); } -struct CrossThreadResourceResponseDataBase : Noncopyable { +struct CrossThreadResourceResponseDataBase { + WTF_MAKE_NONCOPYABLE(CrossThreadResourceResponseDataBase); +public: + CrossThreadResourceResponseDataBase() { } KURL m_url; String m_mimeType; long long m_expectedContentLength;