Changeset 27714 in webkit


Ignore:
Timestamp:
Nov 12, 2007 2:33:11 AM (16 years ago)
Author:
mrowe@apple.com
Message:

2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15334
Split ResourceResponse into platform specific files

  • WebCore.base.exp:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceResponse.cpp: Removed.
  • platform/network/ResourceResponse.h: Removed.
  • platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp. (WebCore::ResourceResponseBase::asResourceResponse): (WebCore::ResourceResponseBase::isHTTP): (WebCore::ResourceResponseBase::url): (WebCore::ResourceResponseBase::setUrl): (WebCore::ResourceResponseBase::mimeType): (WebCore::ResourceResponseBase::setMimeType): (WebCore::ResourceResponseBase::expectedContentLength): (WebCore::ResourceResponseBase::setExpectedContentLength): (WebCore::ResourceResponseBase::textEncodingName): (WebCore::ResourceResponseBase::setTextEncodingName): (WebCore::ResourceResponseBase::suggestedFilename): (WebCore::ResourceResponseBase::setSuggestedFilename): (WebCore::ResourceResponseBase::httpStatusCode): (WebCore::ResourceResponseBase::setHTTPStatusCode): (WebCore::ResourceResponseBase::httpStatusText): (WebCore::ResourceResponseBase::setHTTPStatusText): (WebCore::ResourceResponseBase::httpHeaderField): (WebCore::ResourceResponseBase::setHTTPHeaderField): (WebCore::ResourceResponseBase::httpHeaderFields): (WebCore::ResourceResponseBase::isAttachment): (WebCore::ResourceResponseBase::setExpirationDate): (WebCore::ResourceResponseBase::expirationDate): (WebCore::ResourceResponseBase::setLastModifiedDate): (WebCore::ResourceResponseBase::lastModifiedDate): (WebCore::ResourceResponseBase::updateResourceResponse):
  • platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h. (WebCore::ResourceResponseBase::ResourceResponseBase):
  • platform/network/cf/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/curl/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
  • platform/network/mac/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse):
  • platform/network/qt/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::doUpdateResourceResponse):
Location:
trunk/WebCore
Files:
4 added
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r27707 r27714  
     12007-11-12  Julien Chaffraix  <julien.chaffraix@gmail.com>
     2
     3        Reviewed by Darin.
     4
     5        http://bugs.webkit.org/show_bug.cgi?id=15334
     6        Split ResourceResponse into platform specific files
     7
     8        * WebCore.base.exp:
     9        * WebCore.pro:
     10        * WebCore.vcproj/WebCore.vcproj:
     11        * WebCore.xcodeproj/project.pbxproj:
     12        * platform/network/ResourceResponse.cpp: Removed.
     13        * platform/network/ResourceResponse.h: Removed.
     14        * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
     15        (WebCore::ResourceResponseBase::asResourceResponse):
     16        (WebCore::ResourceResponseBase::isHTTP):
     17        (WebCore::ResourceResponseBase::url):
     18        (WebCore::ResourceResponseBase::setUrl):
     19        (WebCore::ResourceResponseBase::mimeType):
     20        (WebCore::ResourceResponseBase::setMimeType):
     21        (WebCore::ResourceResponseBase::expectedContentLength):
     22        (WebCore::ResourceResponseBase::setExpectedContentLength):
     23        (WebCore::ResourceResponseBase::textEncodingName):
     24        (WebCore::ResourceResponseBase::setTextEncodingName):
     25        (WebCore::ResourceResponseBase::suggestedFilename):
     26        (WebCore::ResourceResponseBase::setSuggestedFilename):
     27        (WebCore::ResourceResponseBase::httpStatusCode):
     28        (WebCore::ResourceResponseBase::setHTTPStatusCode):
     29        (WebCore::ResourceResponseBase::httpStatusText):
     30        (WebCore::ResourceResponseBase::setHTTPStatusText):
     31        (WebCore::ResourceResponseBase::httpHeaderField):
     32        (WebCore::ResourceResponseBase::setHTTPHeaderField):
     33        (WebCore::ResourceResponseBase::httpHeaderFields):
     34        (WebCore::ResourceResponseBase::isAttachment):
     35        (WebCore::ResourceResponseBase::setExpirationDate):
     36        (WebCore::ResourceResponseBase::expirationDate):
     37        (WebCore::ResourceResponseBase::setLastModifiedDate):
     38        (WebCore::ResourceResponseBase::lastModifiedDate):
     39        (WebCore::ResourceResponseBase::updateResourceResponse):
     40        * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
     41        (WebCore::ResourceResponseBase::ResourceResponseBase):
     42        * platform/network/cf/ResourceResponse.h: Added.
     43        (WebCore::ResourceResponse::ResourceResponse):
     44        * platform/network/curl/ResourceResponse.h: Added.
     45        (WebCore::ResourceResponse::ResourceResponse):
     46        (WebCore::ResourceResponse::doUpdateResourceResponse):
     47        * platform/network/mac/ResourceResponse.h: Added.
     48        (WebCore::ResourceResponse::ResourceResponse):
     49        * platform/network/qt/ResourceResponse.h: Added.
     50        (WebCore::ResourceResponse::ResourceResponse):
     51        (WebCore::ResourceResponse::doUpdateResourceResponse):
     52
    1532007-11-11  Justin Haygood  <jhaygood@reaktix.com>
    254
  • trunk/WebCore/WebCore.base.exp

    r27384 r27714  
    618618__ZNK7WebCore16DeprecatedString8endsWithERKS0_
    619619__ZNK7WebCore16ResourceResponse13nsURLResponseEv
    620 __ZNK7WebCore16ResourceResponse14httpStatusCodeEv
    621 __ZNK7WebCore16ResourceResponse16httpHeaderFieldsEv
    622 __ZNK7WebCore16ResourceResponse16textEncodingNameEv
    623 __ZNK7WebCore16ResourceResponse17suggestedFilenameEv
    624 __ZNK7WebCore16ResourceResponse21expectedContentLengthEv
    625 __ZNK7WebCore16ResourceResponse3urlEv
    626 __ZNK7WebCore16ResourceResponse8mimeTypeEv
    627 __ZNK7WebCore19ResourceRequestBase16httpHeaderFieldsEv
     620__ZNK7WebCore20ResourceResponseBase14httpStatusCodeEv
     621__ZNK7WebCore20ResourceResponseBase16httpHeaderFieldsEv
     622__ZNK7WebCore20ResourceResponseBase16textEncodingNameEv
     623__ZNK7WebCore20ResourceResponseBase17suggestedFilenameEv
     624__ZN7WebCore20ResourceResponseBase24setExpectedContentLengthEx
     625__ZNK7WebCore20ResourceResponseBase3urlEv
     626__ZNK7WebCore20ResourceResponseBase8mimeTypeEv
     627__ZNK7WebCore20ResourceResponseBase16httpHeaderFieldsEv
    628628__ZNK7WebCore19ResourceRequestBase3urlEv
    629629__ZNK7WebCore19ResourceRequestBase7isEmptyEv
  • trunk/WebCore/WebCore.pro

    r27680 r27714  
    683683    platform/network/ResourceHandle.cpp \
    684684    platform/network/ResourceRequestBase.cpp \
    685     platform/network/ResourceResponse.cpp \
     685    platform/network/ResourceResponseBase.cpp \
    686686    platform/RegularExpression.cpp \
    687687    platform/ScrollBar.cpp \
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r27695 r27714  
    162162                1A7CCB2E0CD9499700B7B64E /* JSSQLTransaction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7CCB2C0CD9499700B7B64E /* JSSQLTransaction.cpp */; };
    163163                1A7CCB2F0CD9499700B7B64E /* JSSQLTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A7CCB2D0CD9499700B7B64E /* JSSQLTransaction.h */; };
    164                 1A8180A50B1D4E4300CE46C4 /* ResourceResponse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A8180A40B1D4E4300CE46C4 /* ResourceResponse.cpp */; };
     164                F9B9A1AD0CE271DD009F992E /* ResourceResponseBase.h in Headers */ = {isa = PBXBuildFile; fileRef = F9B9A1AC0CE271DC009F992E /* ResourceResponseBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
     165                F9B9A1AF0CE271F6009F992E /* ResourceResponseBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F9B9A1AE0CE271F6009F992E /* ResourceResponseBase.cpp */; };
    165166                1A820D910A13EBA600AF843C /* ImageDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A820D8F0A13EBA600AF843C /* ImageDocument.cpp */; };
    166167                1A820D920A13EBA600AF843C /* ImageDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A820D900A13EBA600AF843C /* ImageDocument.h */; };
     
    497498                6582A17809999EA000BEEB6D /* DeprecatedStringMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6582A17709999EA000BEEB6D /* DeprecatedStringMac.mm */; };
    498499                658436860AE01B7400E53753 /* FrameLoadRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 658436850AE01B7400E53753 /* FrameLoadRequest.h */; settings = {ATTRIBUTES = (Private, ); }; };
    499                 658821660AF4CDF700F01D1F /* ResourceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 658821650AF4CDF700F01D1F /* ResourceResponse.h */; settings = {ATTRIBUTES = (Private, ); }; };
     500                F9541E5E0CE35B7800CB14EE /* ResourceResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = F9541E5D0CE35B7800CB14EE /* ResourceResponse.h */; settings = {ATTRIBUTES = (Private, ); }; };
    500501                6588216C0AF4CE1200F01D1F /* ResourceResponseMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 658821690AF4CE1200F01D1F /* ResourceResponseMac.mm */; };
    501502                6593923709AE4346002C531F /* KURL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6593923509AE4346002C531F /* KURL.cpp */; };
     
    43104311                1A7CCB2C0CD9499700B7B64E /* JSSQLTransaction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSQLTransaction.cpp; sourceTree = "<group>"; };
    43114312                1A7CCB2D0CD9499700B7B64E /* JSSQLTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSSQLTransaction.h; sourceTree = "<group>"; };
    4312                 1A8180A40B1D4E4300CE46C4 /* ResourceResponse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceResponse.cpp; sourceTree = "<group>"; };
     4313                F9B9A1AC0CE271DC009F992E /* ResourceResponseBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ResourceResponseBase.h; sourceTree = "<group>"; };
     4314                F9B9A1AE0CE271F6009F992E /* ResourceResponseBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ResourceResponseBase.cpp; sourceTree = "<group>"; };
    43134315                1A820D8F0A13EBA600AF843C /* ImageDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ImageDocument.cpp; sourceTree = "<group>"; };
    43144316                1A820D900A13EBA600AF843C /* ImageDocument.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ImageDocument.h; sourceTree = "<group>"; };
     
    46914693                6582A17709999EA000BEEB6D /* DeprecatedStringMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DeprecatedStringMac.mm; sourceTree = "<group>"; };
    46924694                658436850AE01B7400E53753 /* FrameLoadRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FrameLoadRequest.h; sourceTree = "<group>"; };
    4693                 658821650AF4CDF700F01D1F /* ResourceResponse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ResourceResponse.h; sourceTree = "<group>"; };
     4695                F9541E5D0CE35B7800CB14EE /* ResourceResponse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ResourceResponse.h; sourceTree = "<group>"; };
    46944696                658821690AF4CE1200F01D1F /* ResourceResponseMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = ResourceResponseMac.mm; sourceTree = "<group>"; };
    46954697                6593923509AE4346002C531F /* KURL.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = KURL.cpp; sourceTree = "<group>"; };
     
    81018103                                93D82A470C28CF1E00FD703D /* ResourceRequestBase.cpp */,
    81028104                                93D82A480C28CF1E00FD703D /* ResourceRequestBase.h */,
    8103                                 658821650AF4CDF700F01D1F /* ResourceResponse.h */,
    8104                                 1A8180A40B1D4E4300CE46C4 /* ResourceResponse.cpp */,
     8105                                F9B9A1AE0CE271F6009F992E /* ResourceResponseBase.cpp */,
     8106                                F9B9A1AC0CE271DC009F992E /* ResourceResponseBase.h */,
    81058107                        );
    81068108                        path = network;
     
    81118113                        children = (
    81128114                                93CDDE270C239A4800CD57AE /* ResourceRequest.h */,
     8115                                F9541E5D0CE35B7800CB14EE /* ResourceResponse.h */,
    81138116                                6518888A0AFF3C1400164720 /* ResourceErrorMac.mm */,
    81148117                                65DAD9FE0AFD86BF00CE53ED /* FormDataStreamMac.h */,
     
    1358613589                                93CDDE280C239A4800CD57AE /* ResourceRequest.h in Headers */,
    1358713590                                93D82A4A0C28CF1E00FD703D /* ResourceRequestBase.h in Headers */,
    13588                                 658821660AF4CDF700F01D1F /* ResourceResponse.h in Headers */,
     13591                                F9541E5E0CE35B7800CB14EE /* ResourceResponse.h in Headers */,
     13592                                F9B9A1AD0CE271DD009F992E /* ResourceResponseBase.h in Headers */,
    1358913593                                A8CFF5E10A155A05000A4234 /* RootInlineBox.h in Headers */,
    1359013594                                519611710CAC56570010A80C /* SQLCallback.h in Headers */,
     
    1515615160                                93D82A490C28CF1E00FD703D /* ResourceRequestBase.cpp in Sources */,
    1515715161                                650E3F6A0AF6C168001FA3AD /* ResourceRequestMac.mm in Sources */,
    15158                                 1A8180A50B1D4E4300CE46C4 /* ResourceResponse.cpp in Sources */,
     15162                                F9B9A1AF0CE271F6009F992E /* ResourceResponseBase.cpp in Sources */,
    1515915163                                6588216C0AF4CE1200F01D1F /* ResourceResponseMac.mm in Sources */,
    1516015164                                A8CFF5E70A155A05000A4234 /* RootInlineBox.cpp in Sources */,
  • trunk/WebCore/platform/network/ResourceResponseBase.cpp

    r27713 r27714  
    2626
    2727#include "config.h"
     28#include "ResourceResponseBase.h"
    2829#include "ResourceResponse.h"
    2930
    3031namespace WebCore {
    3132
    32 bool ResourceResponse::isHTTP() const
    33 {
    34     updateResourceResponse();
    35    
     33inline const ResourceResponse& ResourceResponseBase::asResourceResponse() const
     34{
     35    return *static_cast<const ResourceResponse*>(this);
     36}
     37
     38bool ResourceResponseBase::isHTTP() const
     39{
     40    updateResourceResponse();
     41
    3642    String protocol = m_url.protocol();
    37    
     43
    3844    return equalIgnoringCase(protocol, "http")  || equalIgnoringCase(protocol, "https");
    3945}
    4046
    41 const KURL& ResourceResponse::url() const
     47const KURL& ResourceResponseBase::url() const
    4248{
    4349    updateResourceResponse();
     
    4652}
    4753
    48 void ResourceResponse::setUrl(const KURL& url)
     54void ResourceResponseBase::setUrl(const KURL& url)
    4955{
    5056    updateResourceResponse();
     
    5460}
    5561
    56 const String& ResourceResponse::mimeType() const
     62const String& ResourceResponseBase::mimeType() const
    5763{
    5864    updateResourceResponse();
     
    6167}
    6268
    63 void ResourceResponse::setMimeType(const String& mimeType)
     69void ResourceResponseBase::setMimeType(const String& mimeType)
    6470{
    6571    updateResourceResponse();
     
    6975}
    7076
    71 long long ResourceResponse::expectedContentLength() const
     77long long ResourceResponseBase::expectedContentLength() const
    7278{
    7379    updateResourceResponse();
     
    7682}
    7783
    78 void ResourceResponse::setExpectedContentLength(long long expectedContentLength)
     84void ResourceResponseBase::setExpectedContentLength(long long expectedContentLength)
    7985{
    8086    updateResourceResponse();
     
    8490}
    8591
    86 const String& ResourceResponse::textEncodingName() const
     92const String& ResourceResponseBase::textEncodingName() const
    8793{
    8894    updateResourceResponse();
     
    9197}
    9298
    93 void ResourceResponse::setTextEncodingName(const String& encodingName)
     99void ResourceResponseBase::setTextEncodingName(const String& encodingName)
    94100{
    95101    updateResourceResponse();
     
    100106
    101107// FIXME should compute this on the fly
    102 const String& ResourceResponse::suggestedFilename() const
     108const String& ResourceResponseBase::suggestedFilename() const
    103109{
    104110    updateResourceResponse();
     
    107113}
    108114
    109 void ResourceResponse::setSuggestedFilename(const String& suggestedName)
     115void ResourceResponseBase::setSuggestedFilename(const String& suggestedName)
    110116{
    111117    updateResourceResponse();
     
    115121}
    116122
    117 int ResourceResponse::httpStatusCode() const
    118 {
    119     updateResourceResponse();
    120 
    121     return m_httpStatusCode; 
    122 }
    123 
    124 void ResourceResponse::setHTTPStatusCode(int statusCode)
     123int ResourceResponseBase::httpStatusCode() const
     124{
     125    updateResourceResponse();
     126
     127    return m_httpStatusCode;
     128}
     129
     130void ResourceResponseBase::setHTTPStatusCode(int statusCode)
    125131{
    126132    updateResourceResponse();
     
    129135}
    130136
    131 const String& ResourceResponse::httpStatusText() const
     137const String& ResourceResponseBase::httpStatusText() const
    132138{
    133139    updateResourceResponse();
     
    136142}
    137143
    138 void ResourceResponse::setHTTPStatusText(const String& statusText)
     144void ResourceResponseBase::setHTTPStatusText(const String& statusText)
    139145{
    140146    updateResourceResponse();
     
    143149}
    144150
    145 String ResourceResponse::httpHeaderField(const String& name) const
     151String ResourceResponseBase::httpHeaderField(const String& name) const
    146152{
    147153    updateResourceResponse();
     
    150156}
    151157
    152 void ResourceResponse::setHTTPHeaderField(const String& name, const String& value)
     158void ResourceResponseBase::setHTTPHeaderField(const String& name, const String& value)
    153159{
    154160    updateResourceResponse();
     
    157163}
    158164
    159 const HTTPHeaderMap& ResourceResponse::httpHeaderFields() const
     165const HTTPHeaderMap& ResourceResponseBase::httpHeaderFields() const
    160166{
    161167    updateResourceResponse();
     
    164170}
    165171
    166 bool ResourceResponse::isAttachment() const
     172bool ResourceResponseBase::isAttachment() const
    167173{
    168174    updateResourceResponse();
     
    176182}
    177183
    178 void ResourceResponse::setExpirationDate(time_t expirationDate)
     184void ResourceResponseBase::setExpirationDate(time_t expirationDate)
    179185{
    180186    updateResourceResponse();
     
    183189}
    184190
    185 time_t ResourceResponse::expirationDate() const
     191time_t ResourceResponseBase::expirationDate() const
    186192{
    187193    updateResourceResponse();
     
    190196}
    191197
    192 void ResourceResponse::setLastModifiedDate(time_t lastModifiedDate)
    193 {
    194     updateResourceResponse();
    195 
    196     m_lastModifiedDate = lastModifiedDate;
    197 }
    198 
    199 time_t ResourceResponse::lastModifiedDate() const
    200 {
    201     updateResourceResponse();
    202 
    203     return m_lastModifiedDate;
    204 }
    205 
    206 void ResourceResponse::updateResourceResponse() const
    207 {
    208 #if PLATFORM(MAC) || USE(CFNETWORK)
     198void ResourceResponseBase::setLastModifiedDate(time_t lastModifiedDate)
     199{
     200    updateResourceResponse();
     201
     202    m_lastModifiedDate = lastModifiedDate;
     203}
     204
     205time_t ResourceResponseBase::lastModifiedDate() const
     206{
     207    updateResourceResponse();
     208
     209    return m_lastModifiedDate;
     210}
     211
     212void ResourceResponseBase::updateResourceResponse() const
     213{
    209214    if (m_isUpToDate)
    210215        return;
    211    
    212     const_cast<ResourceResponse*>(this)->doUpdateResourceResponse();
     216
     217    const_cast<ResourceResponse&>(asResourceResponse()).doUpdateResourceResponse();
     218
    213219    m_isUpToDate = true;
    214 #endif
    215220}
    216221
  • trunk/WebCore/platform/network/ResourceResponseBase.h

    r27713 r27714  
    2525 */
    2626
    27 #ifndef ResourceResponse_h
    28 #define ResourceResponse_h
     27#ifndef ResourceResponseBase_h
     28#define ResourceResponseBase_h
    2929
    3030#include "HTTPHeaderMap.h"
    3131#include "KURL.h"
    3232
    33 #if PLATFORM(MAC)
    34 #include <wtf/RetainPtr.h>
    35 #ifdef __OBJC__
    36 @class NSURLResponse;
    37 #else
    38 class NSURLResponse;
    39 #endif
    40 #elif USE(CFNETWORK)
    41 #include <wtf/RetainPtr.h>
    42 typedef struct _CFURLResponse* CFURLResponseRef;
    43 #endif
    44 
    4533namespace WebCore {
    4634
    47 class ResourceResponse {
    48 public:
     35class ResourceResponse;
    4936
    50     ResourceResponse()
    51         : m_expectedContentLength(0)
    52         , m_httpStatusCode(0)
    53         , m_expirationDate(0)
    54         , m_isUpToDate(true)
    55         , m_isNull(true)
    56     {
    57     }
     37// Do not use this class directly, use the class ResponseResponse instead
     38class ResourceResponseBase {
     39 public:
    5840
    59     ResourceResponse(const KURL& url, const String& mimeType, long long expectedLength, const String& textEncodingName, const String& filename)
    60         : m_url(url)
    61         , m_mimeType(mimeType)
    62         , m_expectedContentLength(expectedLength)
    63         , m_textEncodingName(textEncodingName)
    64         , m_suggestedFilename(filename)
    65         , m_httpStatusCode(0)
    66         , m_expirationDate(0)
    67         , m_isUpToDate(true)
    68         , m_isNull(false)
    69     {
    70     }
    71  
    7241    bool isNull() const { return m_isNull; }
    7342    bool isHTTP() const;
    74    
     43
    7544    const KURL& url() const;
    7645    void setUrl(const KURL& url);
     
    10978    time_t lastModifiedDate() const;
    11079
    111 #if PLATFORM(MAC)
    112     ResourceResponse(NSURLResponse* nsResponse)
     80    inline const ResourceResponse& asResourceResponse() const;
     81
     82 protected:
     83    // Used when response is initialized from a platform representation
     84    ResourceResponseBase(bool isNull)
    11385        : m_isUpToDate(false)
    114         , m_isNull(!nsResponse)
    115         , m_nsResponse(nsResponse) { }
    116    
    117     NSURLResponse *nsURLResponse() const;
    118 #elif USE(CFNETWORK)
    119     ResourceResponse(CFURLResponseRef cfResponse)
    120         : m_isUpToDate(false)
    121         , m_isNull(!cfResponse)
    122         , m_cfResponse(cfResponse) { }
    123    
    124     CFURLResponseRef cfURLResponse() const;
    125 #endif
    126    
    127  private:
    128     void updateResourceResponse() const;
    129    
    130 #if PLATFORM(MAC) || USE(CFNETWORK)
    131     void doUpdateResourceResponse();
    132 #endif
    133    
     86        , m_isNull(isNull)
     87    {
     88    }
     89
     90    ResourceResponseBase() 
     91        : m_expectedContentLength(0)
     92        , m_httpStatusCode(0)
     93        , m_expirationDate(0)
     94        , m_isUpToDate(true)
     95        , m_isNull(true)
     96    {
     97    }
     98
     99    ResourceResponseBase(const KURL& url, const String& mimeType, long long expectedLength, const String& textEncodingName, const String& filename)
     100        : m_url(url)
     101        , m_mimeType(mimeType)
     102        , m_expectedContentLength(expectedLength)
     103        , m_textEncodingName(textEncodingName)
     104        , m_suggestedFilename(filename)
     105        , m_httpStatusCode(0)
     106        , m_expirationDate(0)
     107        , m_isUpToDate(true)
     108        , m_isNull(false)
     109    {
     110    }
     111
     112    void updateResourceResponse() const;
     113
    134114    KURL m_url;
    135115    String m_mimeType;
     
    137117    String m_textEncodingName;
    138118    String m_suggestedFilename;
    139     int m_httpStatusCode;
     119    mutable int m_httpStatusCode;
    140120    String m_httpStatusText;
    141121    HTTPHeaderMap m_httpHeaderFields;
     
    144124    mutable bool m_isUpToDate;
    145125    bool m_isNull;
    146 #if PLATFORM(MAC)
    147     RetainPtr<NSURLResponse> m_nsResponse;
    148 #elif USE(CFNETWORK)
    149     RetainPtr<CFURLResponseRef> m_cfResponse;     
    150 #endif
    151    
     126
    152127};
    153128
     
    157132} // namespace WebCore
    158133
    159 #endif // ResourceResponse_h
     134#endif // ResourceResponseBase_h
Note: See TracChangeset for help on using the changeset viewer.