void XMLHttpRequest::changeState(State newState) { if (m_state != newState) { m_state = newState; dispatchReadyStateChangeEvent(); } }
void XMLHttpRequest::callReadyStateChangeListener() { if (!m_doc || !m_doc->frame()) return; dispatchReadyStateChangeEvent(); if (m_state == DONE) dispatchLoadEvent(); }
void XMLHttpRequest::callReadyStateChangeListener() { if (!scriptExecutionContext()) return; dispatchReadyStateChangeEvent(); if (m_state == DONE) dispatchLoadEvent(); }
void XMLHttpRequest::trackProgress(int length) { m_receivedLength += length; if (m_async) dispatchThrottledProgressEventSnapshot(EventTypeNames::progress); if (m_state != LOADING) { changeState(LOADING); } else { // Firefox calls readyStateChanged every time it receives data. Do // the same to align with Firefox. // // FIXME: Make our implementation and the spec consistent. This // behavior was needed when the progress event was not available. dispatchReadyStateChangeEvent(); } }