Index: Source/core/xml/XMLHttpRequest.cpp |
diff --git a/Source/core/xml/XMLHttpRequest.cpp b/Source/core/xml/XMLHttpRequest.cpp |
index ab18af4786f9845c70b2730c6e745a7819f5c7ef..1adb1717bea29df055e83a4e52c17d95bdeeae66 100644 |
--- a/Source/core/xml/XMLHttpRequest.cpp |
+++ b/Source/core/xml/XMLHttpRequest.cpp |
@@ -914,6 +914,12 @@ bool XMLHttpRequest::internalAbort(DropProtection async) |
// Save to a local variable since we're going to drop protection. |
bool newLoadStarted = m_loader; |
+ // If abort() called internalAbort() and a nested open() ended up |
+ // clearing the error flag, but didn't send(), make sure the error |
+ // flag is still set. |
+ if (!newLoadStarted) |
+ m_error = true; |
+ |
if (async == DropProtectionAsync) |
dropProtectionSoon(); |
else |