Changeset 227237 in webkit
- Timestamp:
- Jan 19, 2018 2:33:51 PM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r227235 r227237 1 2018-01-19 Basuke Suzuki <Basuke.Suzuki@sony.com> 2 3 [Curl] Add timeout support to XMLHttpRequest 4 https://bugs.webkit.org/show_bug.cgi?id=181876 5 6 Reviewed by Alex Christensen 7 8 * platform/network/ResourceRequestBase.cpp: 9 * platform/network/curl/CurlContext.cpp: 10 (WebCore::CurlHandle::setTimeout): 11 * platform/network/curl/CurlContext.h: 12 * platform/network/curl/CurlRequest.cpp: 13 (WebCore::CurlRequest::setupTransfer): 14 (WebCore::CurlRequest::didCompleteTransfer): 15 * platform/network/curl/ResourceError.h: 16 * platform/network/curl/ResourceErrorCurl.cpp: 17 (WebCore::ResourceError::httpError): 18 1 19 2018-01-19 Yoav Weiss <yoav@yoav.ws> 2 20 -
trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp
r227205 r227237 34 34 namespace WebCore { 35 35 36 #if !USE(SOUP) && (!PLATFORM(MAC) || USE(CFURLCONNECTION))36 #if PLATFORM(IOS) || USE(CFURLCONNECTION) 37 37 double ResourceRequestBase::s_defaultTimeoutInterval = INT_MAX; 38 38 #else -
trunk/Source/WebCore/platform/network/curl/CurlContext.cpp
r226954 r227237 521 521 } 522 522 523 void CurlHandle::setTimeout(long timeoutMilliseconds) 524 { 525 curl_easy_setopt(m_handle, CURLOPT_TIMEOUT_MS, timeoutMilliseconds); 526 } 527 523 528 void CurlHandle::setHeaderCallbackFunction(curl_write_callback callbackFunc, void* userData) 524 529 { -
trunk/Source/WebCore/platform/network/curl/CurlContext.h
r226954 r227237 264 264 265 265 void enableTimeout(); 266 void setTimeout(long timeoutMilliseconds); 266 267 267 268 // Callback function -
trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp
r226800 r227237 193 193 m_curlHandle->enableTimeout(); 194 194 195 long timeoutMilliseconds = (m_request.timeoutInterval() > 0.0) ? static_cast<long>(m_request.timeoutInterval() * 1000.0) : 0; 196 m_curlHandle->setTimeout(timeoutMilliseconds); 197 195 198 m_curlHandle->enableProxyIfExists(); 196 199 m_curlHandle->enableCookieJarIfExists(); … … 422 425 } 423 426 } else { 424 auto resourceError = ResourceError::httpError(result, m_request.url()); 427 auto type = (result == CURLE_OPERATION_TIMEDOUT && m_request.timeoutInterval() > 0.0) ? ResourceError::Type::Timeout : ResourceError::Type::General; 428 auto resourceError = ResourceError::httpError(result, m_request.url(), type); 425 429 if (m_sslVerifier.sslErrors()) 426 430 resourceError.setSslErrors(m_sslVerifier.sslErrors()); -
trunk/Source/WebCore/platform/network/curl/ResourceError.h
r223752 r227237 45 45 } 46 46 47 static ResourceError httpError(int errorCode, const URL& failingURL );47 static ResourceError httpError(int errorCode, const URL& failingURL, Type = Type::General); 48 48 static ResourceError sslError(int errorCode, unsigned sslErrors, const URL& failingURL); 49 49 -
trunk/Source/WebCore/platform/network/curl/ResourceErrorCurl.cpp
r222187 r227237 35 35 const char* const ResourceError::curlErrorDomain = "CurlErrorDomain"; 36 36 37 ResourceError ResourceError::httpError(int errorCode, const URL& failingURL )37 ResourceError ResourceError::httpError(int errorCode, const URL& failingURL, Type type) 38 38 { 39 return ResourceError(curlErrorDomain, errorCode, failingURL, CurlHandle::errorDescription(static_cast<CURLcode>(errorCode)) );39 return ResourceError(curlErrorDomain, errorCode, failingURL, CurlHandle::errorDescription(static_cast<CURLcode>(errorCode)), type); 40 40 } 41 41
Note: See TracChangeset
for help on using the changeset viewer.