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..dbfc7f853e3cbcfe29bf5ecbacc74b5e30494878 100644 | 
| --- a/Source/core/xml/XMLHttpRequest.cpp | 
| +++ b/Source/core/xml/XMLHttpRequest.cpp | 
| @@ -590,6 +590,13 @@ 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 | 
| + // Use count for XHR synchronous requests on main thread only. | 
| + if (!document()->processingBeforeUnload()) | 
| 
 
kouhei (in TOK)
2014/10/07 23:21:18
Ditto: !unloadStarted() ?
 
 | 
| + UseCounter::countDeprecation(executionContext(), UseCounter::XMLHttpRequestSynchronous); | 
| 
 
kouhei (in TOK)
2014/10/07 23:21:18
I don't think we should move callsite of existing
 
Mayur Kankanwadi
2014/10/08 10:14:25
If we use UseCounter::countDeprecation here, then
 
 | 
| } | 
| m_method = uppercaseKnownHTTPMethod(method); | 
| @@ -879,11 +886,8 @@ void XMLHttpRequest::createRequest(PassRefPtr<FormData> httpBody, ExceptionState | 
| // FIXME: Maybe create() can return null for other reasons too? | 
| ASSERT(!m_loader); | 
| m_loader = ThreadableLoader::create(executionContext, this, request, options, resourceLoaderOptions); | 
| - } else { | 
| - // Use count for XHR synchronous requests. | 
| - UseCounter::count(&executionContext, UseCounter::XMLHttpRequestSynchronous); | 
| + } else | 
| 
 
kouhei (in TOK)
2014/10/07 23:21:18
Ditto
 
 | 
| ThreadableLoader::loadResourceSynchronously(executionContext, request, *this, options, resourceLoaderOptions); | 
| - } | 
| if (!m_exceptionCode && m_error) | 
| m_exceptionCode = NetworkError; |