Chromium Code Reviews| 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); |