Exemple #1
0
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();
}
Exemple #3
0
void XMLHttpRequest::callReadyStateChangeListener()
{
    if (!scriptExecutionContext())
        return;

    dispatchReadyStateChangeEvent();

    if (m_state == DONE)
        dispatchLoadEvent();
}
Exemple #4
0
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();
    }
}