diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
commit | ad0d549d4cc13433f77c1ac8f0ab379c83d93f28 (patch) | |
tree | b34b0daceb7c8e7fdde4b4ec43650ab7caadb0a9 /Source/WebKit/chromium/src/WebURLResponse.cpp | |
parent | 03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (diff) | |
download | qtwebkit-ad0d549d4cc13433f77c1ac8f0ab379c83d93f28.tar.gz |
Imported WebKit commit bb52bf3c0119e8a128cd93afe5572413a8617de9 (http://svn.webkit.org/repository/webkit/trunk@108790)
Diffstat (limited to 'Source/WebKit/chromium/src/WebURLResponse.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebURLResponse.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/src/WebURLResponse.cpp b/Source/WebKit/chromium/src/WebURLResponse.cpp index 2eacda580..ec212e517 100644 --- a/Source/WebKit/chromium/src/WebURLResponse.cpp +++ b/Source/WebKit/chromium/src/WebURLResponse.cpp @@ -47,6 +47,27 @@ using namespace WebCore; namespace WebKit { +namespace { + +class ExtraDataContainer : public ResourceResponse::ExtraData { +public: + static PassRefPtr<ExtraDataContainer> create(WebURLResponse::ExtraData* extraData) { return adoptRef(new ExtraDataContainer(extraData)); } + + virtual ~ExtraDataContainer() { } + + WebURLResponse::ExtraData* extraData() const { return m_extraData.get(); } + +private: + explicit ExtraDataContainer(WebURLResponse::ExtraData* extraData) + : m_extraData(adoptPtr(extraData)) + { + } + + OwnPtr<WebURLResponse::ExtraData> m_extraData; +}; + +} // namespace + // The standard implementation of WebURLResponsePrivate, which maintains // ownership of a ResourceResponse instance. class WebURLResponsePrivateImpl : public WebURLResponsePrivate { @@ -399,6 +420,19 @@ void WebURLResponse::setRemotePort(unsigned short remotePort) m_private->m_resourceResponse->setRemotePort(remotePort); } +WebURLResponse::ExtraData* WebURLResponse::extraData() const +{ + RefPtr<ResourceResponse::ExtraData> data = m_private->m_resourceResponse->extraData(); + if (!data) + return 0; + return static_cast<ExtraDataContainer*>(data.get())->extraData(); +} + +void WebURLResponse::setExtraData(WebURLResponse::ExtraData* extraData) +{ + m_private->m_resourceResponse->setExtraData(ExtraDataContainer::create(extraData)); +} + void WebURLResponse::assign(WebURLResponsePrivate* p) { // Subclasses may call this directly so a self-assignment check is needed |