Changeset 87015 in webkit


Ignore:
Timestamp:
May 21, 2011 4:04:19 AM (13 years ago)
Author:
jochen@chromium.org
Message:

2011-05-21 Jochen Eisinger <jochen@chromium.org>

Reviewed by Darin Fisher.

[chromium] add extraData field to resource requests
https://bugs.webkit.org/show_bug.cgi?id=61033

  • platform/network/chromium/ResourceRequest.h: (WebCore::ResourceRequest::ExtraData::~ExtraData): (WebCore::ResourceRequest::extraData): (WebCore::ResourceRequest::setExtraData):

2011-05-21 Jochen Eisinger <jochen@chromium.org>

Reviewed by Darin Fisher.

[chromium] add extraData field to resource requests
https://bugs.webkit.org/show_bug.cgi?id=61033

  • WebKit.gypi:
  • public/WebURLRequest.h: (WebKit::WebURLRequest::ExtraData::~ExtraData):
  • src/WebURLRequest.cpp: (WebKit::WebURLRequest::extraData): (WebKit::WebURLRequest::setExtraData):
  • tests/WebURLRequestTest.cpp: Added. (WebKit::TestExtraData::TestExtraData): (WebKit::TestExtraData::~TestExtraData): (WebKit::TEST):
Location:
trunk/Source
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r87014 r87015  
     12011-05-21  Jochen Eisinger  <jochen@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        [chromium] add extraData field to resource requests
     6        https://bugs.webkit.org/show_bug.cgi?id=61033
     7
     8        * platform/network/chromium/ResourceRequest.h:
     9        (WebCore::ResourceRequest::ExtraData::~ExtraData):
     10        (WebCore::ResourceRequest::extraData):
     11        (WebCore::ResourceRequest::setExtraData):
     12
    1132011-05-21  Kent Tamura  <tkent@chromium.org>
    214
  • trunk/Source/WebCore/platform/network/chromium/ResourceRequest.h

    r78253 r87015  
    3131#include "ResourceRequestBase.h"
    3232
     33#include <wtf/PassRefPtr.h>
     34#include <wtf/RefCounted.h>
     35
    3336namespace WebCore {
    3437
     
    3740    class ResourceRequest : public ResourceRequestBase {
    3841    public:
     42        class ExtraData : public RefCounted<ExtraData> {
     43        public:
     44            virtual ~ExtraData() { }
     45        };
     46
    3947        ResourceRequest(const String& url)
    4048            : ResourceRequestBase(KURL(ParsedURLString, url), UseProtocolCachePolicy)
     
    101109        void setDownloadToFile(bool downloadToFile) { m_downloadToFile = downloadToFile; }
    102110
     111        // Extra data associated with this request.
     112        ExtraData* extraData() const { return m_extraData.get(); }
     113        void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; }
     114
    103115    private:
    104116        friend class ResourceRequestBase;
     
    115127        bool m_hasUserGesture;
    116128        bool m_downloadToFile;
     129        RefPtr<ExtraData> m_extraData;
    117130    };
    118131
  • trunk/Source/WebKit/chromium/ChangeLog

    r87001 r87015  
     12011-05-21  Jochen Eisinger  <jochen@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        [chromium] add extraData field to resource requests
     6        https://bugs.webkit.org/show_bug.cgi?id=61033
     7
     8        * WebKit.gypi:
     9        * public/WebURLRequest.h:
     10        (WebKit::WebURLRequest::ExtraData::~ExtraData):
     11        * src/WebURLRequest.cpp:
     12        (WebKit::WebURLRequest::extraData):
     13        (WebKit::WebURLRequest::setExtraData):
     14        * tests/WebURLRequestTest.cpp: Added.
     15        (WebKit::TestExtraData::TestExtraData):
     16        (WebKit::TestExtraData::~TestExtraData):
     17        (WebKit::TEST):
     18
    1192011-05-20  Michael Nordman  <michaeln@google.com>
    220
  • trunk/Source/WebKit/chromium/WebKit.gypi

    r86652 r87015  
    6969            'tests/TreeTestHelpers.h',
    7070            'tests/WebFrameTest.cpp',
     71            'tests/WebURLRequestTest.cpp',
    7172        ],
    7273
  • trunk/Source/WebKit/chromium/public/WebURLRequest.h

    r83102 r87015  
    7171        TargetIsPrefetch = 11,
    7272        TargetIsFavicon = 12,
     73    };
     74
     75    class ExtraData {
     76    public:
     77        virtual ~ExtraData() { }
    7378    };
    7479
     
    165170    WEBKIT_API void setDownloadToFile(bool);
    166171
     172    // Extra data associated with the underlying resource request. Resource
     173    // requests can be copied. If non-null, each copy of a resource requests
     174    // holds a pointer to the extra data, and the extra data pointer will be
     175    // deleted when the last resource request is destroyed. Setting the extra
     176    // data pointer will cause the underlying resource request to be
     177    // dissociated from any existing non-null extra data pointer.
     178    WEBKIT_API ExtraData* extraData() const;
     179    WEBKIT_API void setExtraData(ExtraData*);
     180
    167181#if defined(WEBKIT_IMPLEMENTATION)
    168182    WebCore::ResourceRequest& toMutableResourceRequest();
  • trunk/Source/WebKit/chromium/src/WebURLRequest.cpp

    r79782 r87015  
    4343namespace WebKit {
    4444
     45namespace {
     46
     47class ExtraDataContainer : public ResourceRequest::ExtraData {
     48public:
     49    static PassRefPtr<ExtraDataContainer> create(WebURLRequest::ExtraData* extraData) { return adoptRef(new ExtraDataContainer(extraData)); }
     50
     51    virtual ~ExtraDataContainer() { }
     52
     53    WebURLRequest::ExtraData* extraData() const { return m_extraData.get(); }
     54
     55private:
     56    explicit ExtraDataContainer(WebURLRequest::ExtraData* extraData)
     57        : m_extraData(adoptPtr(extraData))
     58    {
     59    }
     60
     61    OwnPtr<WebURLRequest::ExtraData> m_extraData;
     62};
     63
     64} // namespace
     65
    4566// The standard implementation of WebURLRequestPrivate, which maintains
    4667// ownership of a ResourceRequest instance.
     
    277298}
    278299
     300WebURLRequest::ExtraData* WebURLRequest::extraData() const
     301{
     302    RefPtr<ResourceRequest::ExtraData> data = m_private->m_resourceRequest->extraData();
     303    if (!data.get())
     304        return 0;
     305    return static_cast<ExtraDataContainer*>(data.get())->extraData();
     306}
     307
     308void WebURLRequest::setExtraData(WebURLRequest::ExtraData* extraData)
     309{
     310    m_private->m_resourceRequest->setExtraData(ExtraDataContainer::create(extraData));
     311}
     312
    279313ResourceRequest& WebURLRequest::toMutableResourceRequest()
    280314{
Note: See TracChangeset for help on using the changeset viewer.