#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
+#if OS(SOLARIS)
+#include <sys/time.h> // For time_t structure.
+#endif
+
namespace WebCore {
class ResourceResponse;
bool cacheControlContainsNoCache() const;
bool cacheControlContainsNoStore() const;
bool cacheControlContainsMustRevalidate() const;
+ bool hasCacheValidatorFields() const;
double cacheControlMaxAge() const;
double date() const;
double age() const;
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; }