Index: Source/core/xml/XMLHttpRequest.cpp |
diff --git a/Source/core/xml/XMLHttpRequest.cpp b/Source/core/xml/XMLHttpRequest.cpp |
index 2e7849e37cb1486404e8f2e1ff37d65b8530bafe..379b51c3ae32eb7bda4b8744d1c4d6f6ae9df8ae 100644 |
--- a/Source/core/xml/XMLHttpRequest.cpp |
+++ b/Source/core/xml/XMLHttpRequest.cpp |
@@ -347,7 +347,16 @@ void XMLHttpRequest::setTimeout(unsigned long timeout, ExceptionState& exception |
exceptionState.throwDOMException(InvalidAccessError, "Timeouts cannot be set for synchronous requests made from a document."); |
return; |
} |
+ |
m_timeoutMilliseconds = timeout; |
+ |
+ // From http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute: |
+ // Note: This implies that the timeout attribute can be set while fetching is in progress. If |
+ // that occurs it will still be measured relative to the start of fetching. |
+ // |
+ // The timeout may be overridden after send. |
+ if (m_loader) |
+ m_loader->overrideTimeout(timeout); |
} |
void XMLHttpRequest::setResponseType(const String& responseType, ExceptionState& exceptionState) |