src/browser/compat/xhr2.js
function fXMLHttpRequest_send(oRequest) {
		oRequest._object.send(oRequest._data);

		console&&console.log('fXMLHttpRequest_send',oRequest.readyState);
		// BUGFIX: isGecko - missing readystatechange calls in synchronous requests
		if (isGecko && !oRequest._async) {
			oRequest.readyState = xhr2.OPENED;

			// Synchronize state
			fSynchronizeValues(oRequest);

			// Simulate missing states
			while (oRequest.readyState < xhr2.DONE) {
				oRequest.readyState++;
				fReadyStateChange(oRequest);
				// Check if we are aborted
				if (oRequest._aborted) {
					return;
				}
			}
		}
	}
function fXMLHttpRequest_send(oRequest) {
		oRequest._object.send(oRequest._data);

		console&&console.log('fXMLHttpRequest_send',oRequest.readyState);
		// BUGFIX: isGecko - missing readystatechange calls in synchronous requests
		if (isGecko && !oRequest._async) {
			oRequest.readyState = xhr2.OPENED;

			// Synchronize state
			fSynchronizeValues(oRequest);

			// Simulate missing states
			while (oRequest.readyState < xhr2.DONE) {
				oRequest.readyState++;
				fReadyStateChange(oRequest);
				// Check if we are aborted
				if (oRequest._aborted) {
					return;
				}
			}
		}
	}
Helper function