Index: Source/core/xml/XMLHttpRequest.cpp |
diff --git a/Source/core/xml/XMLHttpRequest.cpp b/Source/core/xml/XMLHttpRequest.cpp |
index 69986e041d2e82d180eab8f692b98c05f61ad237..ae0f34197145e87d80c08b2e41528329b4143652 100644 |
--- a/Source/core/xml/XMLHttpRequest.cpp |
+++ b/Source/core/xml/XMLHttpRequest.cpp |
@@ -590,6 +590,15 @@ void XMLHttpRequest::open(const AtomicString& method, const KURL& url, bool asyn |
exceptionState.throwDOMException(InvalidAccessError, "Synchronous requests must not set a timeout."); |
return; |
} |
+ |
+ // Here we just warn that firing sync XHR's may affect responsiveness. |
+ // Eventually sync xhr will be deprecated and an "InvalidAccessError" exception thrown. |
+ // Refer : https://xhr.spec.whatwg.org/#sync-warning |
+ if (!executionContext()->inBeforeUnloadEvent() && !document()->didWarnAboutSyncXHROnce()) { |
Mike West
2014/10/01 12:00:44
You can avoid the "didWarnAbout..." flag by using
Mayur Kankanwadi
2014/10/06 12:48:16
Done.
|
+ document()->setWarnedAboutSyncXHROnce(); |
+ executionContext()->addConsoleMessage(ConsoleMessage::create(JSMessageSource, WarningMessageLevel, |
+ "Avoid synchronous requests as it hampers user experience due to unresponsiveness of the web page. Refer https://xhr.spec.whatwg.org/#sync-warning.")); |
+ } |
} |
m_method = uppercaseKnownHTTPMethod(method); |