| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 29 */ | 29 */ |
| 30 | 30 |
| 31 #include "public/platform/WebURLResponse.h" | 31 #include "public/platform/WebURLResponse.h" |
| 32 | 32 |
| 33 #include "platform/exported/WebURLResponsePrivate.h" | |
| 34 #include "platform/network/ResourceLoadTiming.h" | 33 #include "platform/network/ResourceLoadTiming.h" |
| 35 #include "platform/network/ResourceResponse.h" | 34 #include "platform/network/ResourceResponse.h" |
| 36 #include "public/platform/WebHTTPHeaderVisitor.h" | 35 #include "public/platform/WebHTTPHeaderVisitor.h" |
| 37 #include "public/platform/WebHTTPLoadInfo.h" | 36 #include "public/platform/WebHTTPLoadInfo.h" |
| 38 #include "public/platform/WebString.h" | 37 #include "public/platform/WebString.h" |
| 39 #include "public/platform/WebURL.h" | 38 #include "public/platform/WebURL.h" |
| 40 #include "public/platform/WebURLLoadTiming.h" | 39 #include "public/platform/WebURLLoadTiming.h" |
| 41 #include "wtf/Allocator.h" | 40 #include "wtf/Allocator.h" |
| 42 #include "wtf/Assertions.h" | 41 #include "wtf/Assertions.h" |
| 43 #include "wtf/PtrUtil.h" | 42 #include "wtf/PtrUtil.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 60 explicit ExtraDataContainer(WebURLResponse::ExtraData* extraData) | 59 explicit ExtraDataContainer(WebURLResponse::ExtraData* extraData) |
| 61 : m_extraData(wrapUnique(extraData)) | 60 : m_extraData(wrapUnique(extraData)) |
| 62 { | 61 { |
| 63 } | 62 } |
| 64 | 63 |
| 65 std::unique_ptr<WebURLResponse::ExtraData> m_extraData; | 64 std::unique_ptr<WebURLResponse::ExtraData> m_extraData; |
| 66 }; | 65 }; |
| 67 | 66 |
| 68 } // namespace | 67 } // namespace |
| 69 | 68 |
| 70 // The standard implementation of WebURLResponsePrivate, which maintains | 69 // The purpose of this struct is to permit allocating a ResourceResponse on the |
| 71 // ownership of a ResourceResponse instance. | 70 // heap, which is otherwise disallowed by the DISALLOW_NEW_EXCEPT_PLACEMENT_NEW |
| 72 class WebURLResponsePrivateImpl final : public WebURLResponsePrivate { | 71 // annotation on ResourceResponse. |
| 73 USING_FAST_MALLOC(WebURLResponsePrivateImpl); | 72 struct WebURLResponse::ResourceResponseContainer { |
| 74 public: | 73 ResourceResponseContainer() {} |
| 75 WebURLResponsePrivateImpl() | 74 |
| 75 ResourceResponseContainer(const ResourceResponse& r) |
| 76 : resourceResponse(r) |
| 76 { | 77 { |
| 77 m_resourceResponse = &m_resourceResponseAllocation; | |
| 78 } | 78 } |
| 79 | 79 |
| 80 WebURLResponsePrivateImpl(const WebURLResponsePrivate& p) | 80 ResourceResponse resourceResponse; |
| 81 : m_resourceResponseAllocation(*p.m_resourceResponse) | |
| 82 { | |
| 83 m_resourceResponse = &m_resourceResponseAllocation; | |
| 84 } | |
| 85 | |
| 86 ~WebURLResponsePrivateImpl() override {} | |
| 87 | |
| 88 private: | |
| 89 ResourceResponse m_resourceResponseAllocation; | |
| 90 }; | 81 }; |
| 91 | 82 |
| 92 WebURLResponse::~WebURLResponse() | 83 WebURLResponse::~WebURLResponse() |
| 93 { | 84 { |
| 94 } | 85 } |
| 95 | 86 |
| 96 WebURLResponse::WebURLResponse() | 87 WebURLResponse::WebURLResponse() |
| 97 : m_owningPrivate(new WebURLResponsePrivateImpl()) | 88 : m_ownedResourceResponse(new ResourceResponseContainer()) |
| 98 , m_private(m_owningPrivate.get()) | 89 , m_resourceResponse(&m_ownedResourceResponse->resourceResponse) |
| 99 { | 90 { |
| 100 } | 91 } |
| 101 | 92 |
| 102 WebURLResponse::WebURLResponse(const WebURLResponse& r) | 93 WebURLResponse::WebURLResponse(const WebURLResponse& r) |
| 103 : m_owningPrivate(new WebURLResponsePrivateImpl(*r.m_private)) | 94 : m_ownedResourceResponse(new ResourceResponseContainer(*r.m_resourceRespons
e)) |
| 104 , m_private(m_owningPrivate.get()) | 95 , m_resourceResponse(&m_ownedResourceResponse->resourceResponse) |
| 105 { | 96 { |
| 106 } | 97 } |
| 107 | 98 |
| 108 WebURLResponse::WebURLResponse(const WebURL& url) | 99 WebURLResponse::WebURLResponse(const WebURL& url) |
| 109 : WebURLResponse() | 100 : WebURLResponse() |
| 110 { | 101 { |
| 111 setURL(url); | 102 setURL(url); |
| 112 } | 103 } |
| 113 | 104 |
| 114 WebURLResponse& WebURLResponse::operator=(const WebURLResponse& r) | 105 WebURLResponse& WebURLResponse::operator=(const WebURLResponse& r) |
| 115 { | 106 { |
| 116 // Copying subclasses that have different m_private ownership semantics | 107 // Copying subclasses that have different m_resourceResponse ownership seman
tics |
| 117 // via this operator is just not supported. | 108 // via this operator is just not supported. |
| 118 DCHECK(m_owningPrivate); | 109 DCHECK(m_ownedResourceResponse); |
| 119 DCHECK(m_private->m_resourceResponse); | 110 DCHECK(m_resourceResponse); |
| 120 if (&r != this) | 111 if (&r != this) |
| 121 *m_private->m_resourceResponse = *r.m_private->m_resourceResponse; | 112 *m_resourceResponse = *r.m_resourceResponse; |
| 122 return *this; | 113 return *this; |
| 123 } | 114 } |
| 124 | 115 |
| 125 bool WebURLResponse::isNull() const | 116 bool WebURLResponse::isNull() const |
| 126 { | 117 { |
| 127 return m_private->m_resourceResponse->isNull(); | 118 return m_resourceResponse->isNull(); |
| 128 } | 119 } |
| 129 | 120 |
| 130 WebURL WebURLResponse::url() const | 121 WebURL WebURLResponse::url() const |
| 131 { | 122 { |
| 132 return m_private->m_resourceResponse->url(); | 123 return m_resourceResponse->url(); |
| 133 } | 124 } |
| 134 | 125 |
| 135 void WebURLResponse::setURL(const WebURL& url) | 126 void WebURLResponse::setURL(const WebURL& url) |
| 136 { | 127 { |
| 137 m_private->m_resourceResponse->setURL(url); | 128 m_resourceResponse->setURL(url); |
| 138 } | 129 } |
| 139 | 130 |
| 140 unsigned WebURLResponse::connectionID() const | 131 unsigned WebURLResponse::connectionID() const |
| 141 { | 132 { |
| 142 return m_private->m_resourceResponse->connectionID(); | 133 return m_resourceResponse->connectionID(); |
| 143 } | 134 } |
| 144 | 135 |
| 145 void WebURLResponse::setConnectionID(unsigned connectionID) | 136 void WebURLResponse::setConnectionID(unsigned connectionID) |
| 146 { | 137 { |
| 147 m_private->m_resourceResponse->setConnectionID(connectionID); | 138 m_resourceResponse->setConnectionID(connectionID); |
| 148 } | 139 } |
| 149 | 140 |
| 150 bool WebURLResponse::connectionReused() const | 141 bool WebURLResponse::connectionReused() const |
| 151 { | 142 { |
| 152 return m_private->m_resourceResponse->connectionReused(); | 143 return m_resourceResponse->connectionReused(); |
| 153 } | 144 } |
| 154 | 145 |
| 155 void WebURLResponse::setConnectionReused(bool connectionReused) | 146 void WebURLResponse::setConnectionReused(bool connectionReused) |
| 156 { | 147 { |
| 157 m_private->m_resourceResponse->setConnectionReused(connectionReused); | 148 m_resourceResponse->setConnectionReused(connectionReused); |
| 158 } | 149 } |
| 159 | 150 |
| 160 WebURLLoadTiming WebURLResponse::loadTiming() | 151 WebURLLoadTiming WebURLResponse::loadTiming() |
| 161 { | 152 { |
| 162 return WebURLLoadTiming(m_private->m_resourceResponse->resourceLoadTiming())
; | 153 return WebURLLoadTiming(m_resourceResponse->resourceLoadTiming()); |
| 163 } | 154 } |
| 164 | 155 |
| 165 void WebURLResponse::setLoadTiming(const WebURLLoadTiming& timing) | 156 void WebURLResponse::setLoadTiming(const WebURLLoadTiming& timing) |
| 166 { | 157 { |
| 167 RefPtr<ResourceLoadTiming> loadTiming = PassRefPtr<ResourceLoadTiming>(timin
g); | 158 RefPtr<ResourceLoadTiming> loadTiming = PassRefPtr<ResourceLoadTiming>(timin
g); |
| 168 m_private->m_resourceResponse->setResourceLoadTiming(loadTiming.release()); | 159 m_resourceResponse->setResourceLoadTiming(loadTiming.release()); |
| 169 } | 160 } |
| 170 | 161 |
| 171 WebHTTPLoadInfo WebURLResponse::httpLoadInfo() | 162 WebHTTPLoadInfo WebURLResponse::httpLoadInfo() |
| 172 { | 163 { |
| 173 return WebHTTPLoadInfo(m_private->m_resourceResponse->resourceLoadInfo()); | 164 return WebHTTPLoadInfo(m_resourceResponse->resourceLoadInfo()); |
| 174 } | 165 } |
| 175 | 166 |
| 176 void WebURLResponse::setHTTPLoadInfo(const WebHTTPLoadInfo& value) | 167 void WebURLResponse::setHTTPLoadInfo(const WebHTTPLoadInfo& value) |
| 177 { | 168 { |
| 178 m_private->m_resourceResponse->setResourceLoadInfo(value); | 169 m_resourceResponse->setResourceLoadInfo(value); |
| 179 } | 170 } |
| 180 | 171 |
| 181 void WebURLResponse::setResponseTime(long long responseTime) | 172 void WebURLResponse::setResponseTime(long long responseTime) |
| 182 { | 173 { |
| 183 m_private->m_resourceResponse->setResponseTime(static_cast<int64_t>(response
Time)); | 174 m_resourceResponse->setResponseTime(static_cast<int64_t>(responseTime)); |
| 184 } | 175 } |
| 185 | 176 |
| 186 WebString WebURLResponse::mimeType() const | 177 WebString WebURLResponse::mimeType() const |
| 187 { | 178 { |
| 188 return m_private->m_resourceResponse->mimeType(); | 179 return m_resourceResponse->mimeType(); |
| 189 } | 180 } |
| 190 | 181 |
| 191 void WebURLResponse::setMIMEType(const WebString& mimeType) | 182 void WebURLResponse::setMIMEType(const WebString& mimeType) |
| 192 { | 183 { |
| 193 m_private->m_resourceResponse->setMimeType(mimeType); | 184 m_resourceResponse->setMimeType(mimeType); |
| 194 } | 185 } |
| 195 | 186 |
| 196 long long WebURLResponse::expectedContentLength() const | 187 long long WebURLResponse::expectedContentLength() const |
| 197 { | 188 { |
| 198 return m_private->m_resourceResponse->expectedContentLength(); | 189 return m_resourceResponse->expectedContentLength(); |
| 199 } | 190 } |
| 200 | 191 |
| 201 void WebURLResponse::setExpectedContentLength(long long expectedContentLength) | 192 void WebURLResponse::setExpectedContentLength(long long expectedContentLength) |
| 202 { | 193 { |
| 203 m_private->m_resourceResponse->setExpectedContentLength(expectedContentLengt
h); | 194 m_resourceResponse->setExpectedContentLength(expectedContentLength); |
| 204 } | 195 } |
| 205 | 196 |
| 206 WebString WebURLResponse::textEncodingName() const | 197 WebString WebURLResponse::textEncodingName() const |
| 207 { | 198 { |
| 208 return m_private->m_resourceResponse->textEncodingName(); | 199 return m_resourceResponse->textEncodingName(); |
| 209 } | 200 } |
| 210 | 201 |
| 211 void WebURLResponse::setTextEncodingName(const WebString& textEncodingName) | 202 void WebURLResponse::setTextEncodingName(const WebString& textEncodingName) |
| 212 { | 203 { |
| 213 m_private->m_resourceResponse->setTextEncodingName(textEncodingName); | 204 m_resourceResponse->setTextEncodingName(textEncodingName); |
| 214 } | 205 } |
| 215 | 206 |
| 216 WebString WebURLResponse::suggestedFileName() const | 207 WebString WebURLResponse::suggestedFileName() const |
| 217 { | 208 { |
| 218 return m_private->m_resourceResponse->suggestedFilename(); | 209 return m_resourceResponse->suggestedFilename(); |
| 219 } | 210 } |
| 220 | 211 |
| 221 void WebURLResponse::setSuggestedFileName(const WebString& suggestedFileName) | 212 void WebURLResponse::setSuggestedFileName(const WebString& suggestedFileName) |
| 222 { | 213 { |
| 223 m_private->m_resourceResponse->setSuggestedFilename(suggestedFileName); | 214 m_resourceResponse->setSuggestedFilename(suggestedFileName); |
| 224 } | 215 } |
| 225 | 216 |
| 226 WebURLResponse::HTTPVersion WebURLResponse::httpVersion() const | 217 WebURLResponse::HTTPVersion WebURLResponse::httpVersion() const |
| 227 { | 218 { |
| 228 return static_cast<HTTPVersion>(m_private->m_resourceResponse->httpVersion()
); | 219 return static_cast<HTTPVersion>(m_resourceResponse->httpVersion()); |
| 229 } | 220 } |
| 230 | 221 |
| 231 void WebURLResponse::setHTTPVersion(HTTPVersion version) | 222 void WebURLResponse::setHTTPVersion(HTTPVersion version) |
| 232 { | 223 { |
| 233 m_private->m_resourceResponse->setHTTPVersion(static_cast<ResourceResponse::
HTTPVersion>(version)); | 224 m_resourceResponse->setHTTPVersion(static_cast<ResourceResponse::HTTPVersion
>(version)); |
| 234 } | 225 } |
| 235 | 226 |
| 236 int WebURLResponse::httpStatusCode() const | 227 int WebURLResponse::httpStatusCode() const |
| 237 { | 228 { |
| 238 return m_private->m_resourceResponse->httpStatusCode(); | 229 return m_resourceResponse->httpStatusCode(); |
| 239 } | 230 } |
| 240 | 231 |
| 241 void WebURLResponse::setHTTPStatusCode(int httpStatusCode) | 232 void WebURLResponse::setHTTPStatusCode(int httpStatusCode) |
| 242 { | 233 { |
| 243 m_private->m_resourceResponse->setHTTPStatusCode(httpStatusCode); | 234 m_resourceResponse->setHTTPStatusCode(httpStatusCode); |
| 244 } | 235 } |
| 245 | 236 |
| 246 WebString WebURLResponse::httpStatusText() const | 237 WebString WebURLResponse::httpStatusText() const |
| 247 { | 238 { |
| 248 return m_private->m_resourceResponse->httpStatusText(); | 239 return m_resourceResponse->httpStatusText(); |
| 249 } | 240 } |
| 250 | 241 |
| 251 void WebURLResponse::setHTTPStatusText(const WebString& httpStatusText) | 242 void WebURLResponse::setHTTPStatusText(const WebString& httpStatusText) |
| 252 { | 243 { |
| 253 m_private->m_resourceResponse->setHTTPStatusText(httpStatusText); | 244 m_resourceResponse->setHTTPStatusText(httpStatusText); |
| 254 } | 245 } |
| 255 | 246 |
| 256 WebString WebURLResponse::httpHeaderField(const WebString& name) const | 247 WebString WebURLResponse::httpHeaderField(const WebString& name) const |
| 257 { | 248 { |
| 258 return m_private->m_resourceResponse->httpHeaderField(name); | 249 return m_resourceResponse->httpHeaderField(name); |
| 259 } | 250 } |
| 260 | 251 |
| 261 void WebURLResponse::setHTTPHeaderField(const WebString& name, const WebString&
value) | 252 void WebURLResponse::setHTTPHeaderField(const WebString& name, const WebString&
value) |
| 262 { | 253 { |
| 263 m_private->m_resourceResponse->setHTTPHeaderField(name, value); | 254 m_resourceResponse->setHTTPHeaderField(name, value); |
| 264 } | 255 } |
| 265 | 256 |
| 266 void WebURLResponse::addHTTPHeaderField(const WebString& name, const WebString&
value) | 257 void WebURLResponse::addHTTPHeaderField(const WebString& name, const WebString&
value) |
| 267 { | 258 { |
| 268 if (name.isNull() || value.isNull()) | 259 if (name.isNull() || value.isNull()) |
| 269 return; | 260 return; |
| 270 | 261 |
| 271 m_private->m_resourceResponse->addHTTPHeaderField(name, value); | 262 m_resourceResponse->addHTTPHeaderField(name, value); |
| 272 } | 263 } |
| 273 | 264 |
| 274 void WebURLResponse::clearHTTPHeaderField(const WebString& name) | 265 void WebURLResponse::clearHTTPHeaderField(const WebString& name) |
| 275 { | 266 { |
| 276 m_private->m_resourceResponse->clearHTTPHeaderField(name); | 267 m_resourceResponse->clearHTTPHeaderField(name); |
| 277 } | 268 } |
| 278 | 269 |
| 279 void WebURLResponse::visitHTTPHeaderFields(WebHTTPHeaderVisitor* visitor) const | 270 void WebURLResponse::visitHTTPHeaderFields(WebHTTPHeaderVisitor* visitor) const |
| 280 { | 271 { |
| 281 const HTTPHeaderMap& map = m_private->m_resourceResponse->httpHeaderFields()
; | 272 const HTTPHeaderMap& map = m_resourceResponse->httpHeaderFields(); |
| 282 for (HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) | 273 for (HTTPHeaderMap::const_iterator it = map.begin(); it != map.end(); ++it) |
| 283 visitor->visitHeader(it->key, it->value); | 274 visitor->visitHeader(it->key, it->value); |
| 284 } | 275 } |
| 285 | 276 |
| 286 double WebURLResponse::lastModifiedDate() const | 277 double WebURLResponse::lastModifiedDate() const |
| 287 { | 278 { |
| 288 return static_cast<double>(m_private->m_resourceResponse->lastModifiedDate()
); | 279 return static_cast<double>(m_resourceResponse->lastModifiedDate()); |
| 289 } | 280 } |
| 290 | 281 |
| 291 void WebURLResponse::setLastModifiedDate(double lastModifiedDate) | 282 void WebURLResponse::setLastModifiedDate(double lastModifiedDate) |
| 292 { | 283 { |
| 293 m_private->m_resourceResponse->setLastModifiedDate(static_cast<time_t>(lastM
odifiedDate)); | 284 m_resourceResponse->setLastModifiedDate(static_cast<time_t>(lastModifiedDate
)); |
| 294 } | 285 } |
| 295 | 286 |
| 296 long long WebURLResponse::appCacheID() const | 287 long long WebURLResponse::appCacheID() const |
| 297 { | 288 { |
| 298 return m_private->m_resourceResponse->appCacheID(); | 289 return m_resourceResponse->appCacheID(); |
| 299 } | 290 } |
| 300 | 291 |
| 301 void WebURLResponse::setAppCacheID(long long appCacheID) | 292 void WebURLResponse::setAppCacheID(long long appCacheID) |
| 302 { | 293 { |
| 303 m_private->m_resourceResponse->setAppCacheID(appCacheID); | 294 m_resourceResponse->setAppCacheID(appCacheID); |
| 304 } | 295 } |
| 305 | 296 |
| 306 WebURL WebURLResponse::appCacheManifestURL() const | 297 WebURL WebURLResponse::appCacheManifestURL() const |
| 307 { | 298 { |
| 308 return m_private->m_resourceResponse->appCacheManifestURL(); | 299 return m_resourceResponse->appCacheManifestURL(); |
| 309 } | 300 } |
| 310 | 301 |
| 311 void WebURLResponse::setAppCacheManifestURL(const WebURL& url) | 302 void WebURLResponse::setAppCacheManifestURL(const WebURL& url) |
| 312 { | 303 { |
| 313 m_private->m_resourceResponse->setAppCacheManifestURL(url); | 304 m_resourceResponse->setAppCacheManifestURL(url); |
| 314 } | 305 } |
| 315 | 306 |
| 316 WebCString WebURLResponse::securityInfo() const | 307 WebCString WebURLResponse::securityInfo() const |
| 317 { | 308 { |
| 318 // FIXME: getSecurityInfo is misnamed. | 309 // FIXME: getSecurityInfo is misnamed. |
| 319 return m_private->m_resourceResponse->getSecurityInfo(); | 310 return m_resourceResponse->getSecurityInfo(); |
| 320 } | 311 } |
| 321 | 312 |
| 322 void WebURLResponse::setSecurityInfo(const WebCString& securityInfo) | 313 void WebURLResponse::setSecurityInfo(const WebCString& securityInfo) |
| 323 { | 314 { |
| 324 m_private->m_resourceResponse->setSecurityInfo(securityInfo); | 315 m_resourceResponse->setSecurityInfo(securityInfo); |
| 325 } | 316 } |
| 326 | 317 |
| 327 void WebURLResponse::setHasMajorCertificateErrors(bool value) | 318 void WebURLResponse::setHasMajorCertificateErrors(bool value) |
| 328 { | 319 { |
| 329 m_private->m_resourceResponse->setHasMajorCertificateErrors(value); | 320 m_resourceResponse->setHasMajorCertificateErrors(value); |
| 330 } | 321 } |
| 331 | 322 |
| 332 WebURLResponse::SecurityStyle WebURLResponse::getSecurityStyle() const | 323 WebURLResponse::SecurityStyle WebURLResponse::getSecurityStyle() const |
| 333 { | 324 { |
| 334 return static_cast<SecurityStyle>(m_private->m_resourceResponse->getSecurity
Style()); | 325 return static_cast<SecurityStyle>(m_resourceResponse->getSecurityStyle()); |
| 335 } | 326 } |
| 336 | 327 |
| 337 void WebURLResponse::setSecurityStyle(SecurityStyle securityStyle) | 328 void WebURLResponse::setSecurityStyle(SecurityStyle securityStyle) |
| 338 { | 329 { |
| 339 m_private->m_resourceResponse->setSecurityStyle(static_cast<ResourceResponse
::SecurityStyle>(securityStyle)); | 330 m_resourceResponse->setSecurityStyle(static_cast<ResourceResponse::SecurityS
tyle>(securityStyle)); |
| 340 } | 331 } |
| 341 | 332 |
| 342 void WebURLResponse::setSecurityDetails(const WebSecurityDetails& webSecurityDet
ails) | 333 void WebURLResponse::setSecurityDetails(const WebSecurityDetails& webSecurityDet
ails) |
| 343 { | 334 { |
| 344 blink::ResourceResponse::SignedCertificateTimestampList sctList; | 335 blink::ResourceResponse::SignedCertificateTimestampList sctList; |
| 345 for (const auto& iter : webSecurityDetails.sctList) | 336 for (const auto& iter : webSecurityDetails.sctList) |
| 346 sctList.append(static_cast<blink::ResourceResponse::SignedCertificateTim
estamp>(iter)); | 337 sctList.append(static_cast<blink::ResourceResponse::SignedCertificateTim
estamp>(iter)); |
| 347 m_private->m_resourceResponse->setSecurityDetails( | 338 m_resourceResponse->setSecurityDetails( |
| 348 webSecurityDetails.protocol, | 339 webSecurityDetails.protocol, |
| 349 webSecurityDetails.keyExchange, | 340 webSecurityDetails.keyExchange, |
| 350 webSecurityDetails.cipher, | 341 webSecurityDetails.cipher, |
| 351 webSecurityDetails.mac, | 342 webSecurityDetails.mac, |
| 352 webSecurityDetails.certId, | 343 webSecurityDetails.certId, |
| 353 webSecurityDetails.numUnknownScts, | 344 webSecurityDetails.numUnknownScts, |
| 354 webSecurityDetails.numInvalidScts, | 345 webSecurityDetails.numInvalidScts, |
| 355 webSecurityDetails.numValidScts, | 346 webSecurityDetails.numValidScts, |
| 356 sctList); | 347 sctList); |
| 357 } | 348 } |
| 358 | 349 |
| 359 ResourceResponse& WebURLResponse::toMutableResourceResponse() | 350 ResourceResponse& WebURLResponse::toMutableResourceResponse() |
| 360 { | 351 { |
| 361 DCHECK(m_private->m_resourceResponse); | 352 return *m_resourceResponse; |
| 362 return *m_private->m_resourceResponse; | |
| 363 } | 353 } |
| 364 | 354 |
| 365 const ResourceResponse& WebURLResponse::toResourceResponse() const | 355 const ResourceResponse& WebURLResponse::toResourceResponse() const |
| 366 { | 356 { |
| 367 DCHECK(m_private->m_resourceResponse); | 357 return *m_resourceResponse; |
| 368 return *m_private->m_resourceResponse; | |
| 369 } | 358 } |
| 370 | 359 |
| 371 bool WebURLResponse::wasCached() const | 360 bool WebURLResponse::wasCached() const |
| 372 { | 361 { |
| 373 return m_private->m_resourceResponse->wasCached(); | 362 return m_resourceResponse->wasCached(); |
| 374 } | 363 } |
| 375 | 364 |
| 376 void WebURLResponse::setWasCached(bool value) | 365 void WebURLResponse::setWasCached(bool value) |
| 377 { | 366 { |
| 378 m_private->m_resourceResponse->setWasCached(value); | 367 m_resourceResponse->setWasCached(value); |
| 379 } | 368 } |
| 380 | 369 |
| 381 bool WebURLResponse::wasFetchedViaSPDY() const | 370 bool WebURLResponse::wasFetchedViaSPDY() const |
| 382 { | 371 { |
| 383 return m_private->m_resourceResponse->wasFetchedViaSPDY(); | 372 return m_resourceResponse->wasFetchedViaSPDY(); |
| 384 } | 373 } |
| 385 | 374 |
| 386 void WebURLResponse::setWasFetchedViaSPDY(bool value) | 375 void WebURLResponse::setWasFetchedViaSPDY(bool value) |
| 387 { | 376 { |
| 388 m_private->m_resourceResponse->setWasFetchedViaSPDY(value); | 377 m_resourceResponse->setWasFetchedViaSPDY(value); |
| 389 } | 378 } |
| 390 | 379 |
| 391 bool WebURLResponse::wasNpnNegotiated() const | 380 bool WebURLResponse::wasNpnNegotiated() const |
| 392 { | 381 { |
| 393 return m_private->m_resourceResponse->wasNpnNegotiated(); | 382 return m_resourceResponse->wasNpnNegotiated(); |
| 394 } | 383 } |
| 395 | 384 |
| 396 void WebURLResponse::setWasNpnNegotiated(bool value) | 385 void WebURLResponse::setWasNpnNegotiated(bool value) |
| 397 { | 386 { |
| 398 m_private->m_resourceResponse->setWasNpnNegotiated(value); | 387 m_resourceResponse->setWasNpnNegotiated(value); |
| 399 } | 388 } |
| 400 | 389 |
| 401 bool WebURLResponse::wasAlternateProtocolAvailable() const | 390 bool WebURLResponse::wasAlternateProtocolAvailable() const |
| 402 { | 391 { |
| 403 return m_private->m_resourceResponse->wasAlternateProtocolAvailable(); | 392 return m_resourceResponse->wasAlternateProtocolAvailable(); |
| 404 } | 393 } |
| 405 | 394 |
| 406 void WebURLResponse::setWasAlternateProtocolAvailable(bool value) | 395 void WebURLResponse::setWasAlternateProtocolAvailable(bool value) |
| 407 { | 396 { |
| 408 m_private->m_resourceResponse->setWasAlternateProtocolAvailable(value); | 397 m_resourceResponse->setWasAlternateProtocolAvailable(value); |
| 409 } | 398 } |
| 410 | 399 |
| 411 bool WebURLResponse::wasFetchedViaProxy() const | 400 bool WebURLResponse::wasFetchedViaProxy() const |
| 412 { | 401 { |
| 413 return m_private->m_resourceResponse->wasFetchedViaProxy(); | 402 return m_resourceResponse->wasFetchedViaProxy(); |
| 414 } | 403 } |
| 415 | 404 |
| 416 void WebURLResponse::setWasFetchedViaProxy(bool value) | 405 void WebURLResponse::setWasFetchedViaProxy(bool value) |
| 417 { | 406 { |
| 418 m_private->m_resourceResponse->setWasFetchedViaProxy(value); | 407 m_resourceResponse->setWasFetchedViaProxy(value); |
| 419 } | 408 } |
| 420 | 409 |
| 421 bool WebURLResponse::wasFetchedViaServiceWorker() const | 410 bool WebURLResponse::wasFetchedViaServiceWorker() const |
| 422 { | 411 { |
| 423 return m_private->m_resourceResponse->wasFetchedViaServiceWorker(); | 412 return m_resourceResponse->wasFetchedViaServiceWorker(); |
| 424 } | 413 } |
| 425 | 414 |
| 426 void WebURLResponse::setWasFetchedViaServiceWorker(bool value) | 415 void WebURLResponse::setWasFetchedViaServiceWorker(bool value) |
| 427 { | 416 { |
| 428 m_private->m_resourceResponse->setWasFetchedViaServiceWorker(value); | 417 m_resourceResponse->setWasFetchedViaServiceWorker(value); |
| 429 } | 418 } |
| 430 | 419 |
| 431 bool WebURLResponse::wasFallbackRequiredByServiceWorker() const | 420 bool WebURLResponse::wasFallbackRequiredByServiceWorker() const |
| 432 { | 421 { |
| 433 return m_private->m_resourceResponse->wasFallbackRequiredByServiceWorker(); | 422 return m_resourceResponse->wasFallbackRequiredByServiceWorker(); |
| 434 } | 423 } |
| 435 | 424 |
| 436 void WebURLResponse::setWasFallbackRequiredByServiceWorker(bool value) | 425 void WebURLResponse::setWasFallbackRequiredByServiceWorker(bool value) |
| 437 { | 426 { |
| 438 m_private->m_resourceResponse->setWasFallbackRequiredByServiceWorker(value); | 427 m_resourceResponse->setWasFallbackRequiredByServiceWorker(value); |
| 439 } | 428 } |
| 440 | 429 |
| 441 WebServiceWorkerResponseType WebURLResponse::serviceWorkerResponseType() const | 430 WebServiceWorkerResponseType WebURLResponse::serviceWorkerResponseType() const |
| 442 { | 431 { |
| 443 return m_private->m_resourceResponse->serviceWorkerResponseType(); | 432 return m_resourceResponse->serviceWorkerResponseType(); |
| 444 } | 433 } |
| 445 | 434 |
| 446 void WebURLResponse::setServiceWorkerResponseType(WebServiceWorkerResponseType v
alue) | 435 void WebURLResponse::setServiceWorkerResponseType(WebServiceWorkerResponseType v
alue) |
| 447 { | 436 { |
| 448 m_private->m_resourceResponse->setServiceWorkerResponseType(value); | 437 m_resourceResponse->setServiceWorkerResponseType(value); |
| 449 } | 438 } |
| 450 | 439 |
| 451 WebURL WebURLResponse::originalURLViaServiceWorker() const | 440 WebURL WebURLResponse::originalURLViaServiceWorker() const |
| 452 { | 441 { |
| 453 return m_private->m_resourceResponse->originalURLViaServiceWorker(); | 442 return m_resourceResponse->originalURLViaServiceWorker(); |
| 454 } | 443 } |
| 455 | 444 |
| 456 void WebURLResponse::setOriginalURLViaServiceWorker(const WebURL& url) | 445 void WebURLResponse::setOriginalURLViaServiceWorker(const WebURL& url) |
| 457 { | 446 { |
| 458 m_private->m_resourceResponse->setOriginalURLViaServiceWorker(url); | 447 m_resourceResponse->setOriginalURLViaServiceWorker(url); |
| 459 } | 448 } |
| 460 | 449 |
| 461 void WebURLResponse::setMultipartBoundary(const char* bytes, size_t size) | 450 void WebURLResponse::setMultipartBoundary(const char* bytes, size_t size) |
| 462 { | 451 { |
| 463 m_private->m_resourceResponse->setMultipartBoundary(bytes, size); | 452 m_resourceResponse->setMultipartBoundary(bytes, size); |
| 464 } | 453 } |
| 465 | 454 |
| 466 WebString WebURLResponse::cacheStorageCacheName() const | 455 WebString WebURLResponse::cacheStorageCacheName() const |
| 467 { | 456 { |
| 468 return m_private->m_resourceResponse->cacheStorageCacheName(); | 457 return m_resourceResponse->cacheStorageCacheName(); |
| 469 } | 458 } |
| 470 | 459 |
| 471 void WebURLResponse::setCacheStorageCacheName(const WebString& cacheStorageCache
Name) | 460 void WebURLResponse::setCacheStorageCacheName(const WebString& cacheStorageCache
Name) |
| 472 { | 461 { |
| 473 m_private->m_resourceResponse->setCacheStorageCacheName(cacheStorageCacheNam
e); | 462 m_resourceResponse->setCacheStorageCacheName(cacheStorageCacheName); |
| 474 } | 463 } |
| 475 | 464 |
| 476 void WebURLResponse::setCorsExposedHeaderNames(const WebVector<WebString>& heade
rNames) | 465 void WebURLResponse::setCorsExposedHeaderNames(const WebVector<WebString>& heade
rNames) |
| 477 { | 466 { |
| 478 Vector<String> exposedHeaderNames; | 467 Vector<String> exposedHeaderNames; |
| 479 exposedHeaderNames.append(headerNames.data(), headerNames.size()); | 468 exposedHeaderNames.append(headerNames.data(), headerNames.size()); |
| 480 m_private->m_resourceResponse->setCorsExposedHeaderNames(exposedHeaderNames)
; | 469 m_resourceResponse->setCorsExposedHeaderNames(exposedHeaderNames); |
| 481 } | 470 } |
| 482 | 471 |
| 483 WebString WebURLResponse::downloadFilePath() const | 472 WebString WebURLResponse::downloadFilePath() const |
| 484 { | 473 { |
| 485 return m_private->m_resourceResponse->downloadedFilePath(); | 474 return m_resourceResponse->downloadedFilePath(); |
| 486 } | 475 } |
| 487 | 476 |
| 488 void WebURLResponse::setDownloadFilePath(const WebString& downloadFilePath) | 477 void WebURLResponse::setDownloadFilePath(const WebString& downloadFilePath) |
| 489 { | 478 { |
| 490 m_private->m_resourceResponse->setDownloadedFilePath(downloadFilePath); | 479 m_resourceResponse->setDownloadedFilePath(downloadFilePath); |
| 491 } | 480 } |
| 492 | 481 |
| 493 WebString WebURLResponse::remoteIPAddress() const | 482 WebString WebURLResponse::remoteIPAddress() const |
| 494 { | 483 { |
| 495 return m_private->m_resourceResponse->remoteIPAddress(); | 484 return m_resourceResponse->remoteIPAddress(); |
| 496 } | 485 } |
| 497 | 486 |
| 498 void WebURLResponse::setRemoteIPAddress(const WebString& remoteIPAddress) | 487 void WebURLResponse::setRemoteIPAddress(const WebString& remoteIPAddress) |
| 499 { | 488 { |
| 500 m_private->m_resourceResponse->setRemoteIPAddress(remoteIPAddress); | 489 m_resourceResponse->setRemoteIPAddress(remoteIPAddress); |
| 501 } | 490 } |
| 502 | 491 |
| 503 unsigned short WebURLResponse::remotePort() const | 492 unsigned short WebURLResponse::remotePort() const |
| 504 { | 493 { |
| 505 return m_private->m_resourceResponse->remotePort(); | 494 return m_resourceResponse->remotePort(); |
| 506 } | 495 } |
| 507 | 496 |
| 508 void WebURLResponse::setRemotePort(unsigned short remotePort) | 497 void WebURLResponse::setRemotePort(unsigned short remotePort) |
| 509 { | 498 { |
| 510 m_private->m_resourceResponse->setRemotePort(remotePort); | 499 m_resourceResponse->setRemotePort(remotePort); |
| 511 } | 500 } |
| 512 | 501 |
| 513 WebURLResponse::ExtraData* WebURLResponse::getExtraData() const | 502 WebURLResponse::ExtraData* WebURLResponse::getExtraData() const |
| 514 { | 503 { |
| 515 RefPtr<ResourceResponse::ExtraData> data = m_private->m_resourceResponse->ge
tExtraData(); | 504 RefPtr<ResourceResponse::ExtraData> data = m_resourceResponse->getExtraData(
); |
| 516 if (!data) | 505 if (!data) |
| 517 return 0; | 506 return 0; |
| 518 return static_cast<ExtraDataContainer*>(data.get())->getExtraData(); | 507 return static_cast<ExtraDataContainer*>(data.get())->getExtraData(); |
| 519 } | 508 } |
| 520 | 509 |
| 521 void WebURLResponse::setExtraData(WebURLResponse::ExtraData* extraData) | 510 void WebURLResponse::setExtraData(WebURLResponse::ExtraData* extraData) |
| 522 { | 511 { |
| 523 m_private->m_resourceResponse->setExtraData(ExtraDataContainer::create(extra
Data)); | 512 m_resourceResponse->setExtraData(ExtraDataContainer::create(extraData)); |
| 524 } | 513 } |
| 525 | 514 |
| 526 WebURLResponse::WebURLResponse(WebURLResponsePrivate* p) | 515 WebURLResponse::WebURLResponse(ResourceResponse* p) |
| 527 : m_private(p) | 516 : m_resourceResponse(p) |
| 528 { | 517 { |
| 529 DCHECK(p); | 518 DCHECK(p); |
| 530 } | 519 } |
| 531 | 520 |
| 532 } // namespace blink | 521 } // namespace blink |
| OLD | NEW |