 Chromium Code Reviews
 Chromium Code Reviews Issue 585873002:
  Show a warning when using sync xhr.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master
    
  
    Issue 585873002:
  Show a warning when using sync xhr.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master| 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); |