| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2010 Julien Chaffraix <jchaffraix@webkit.org>  All right | 2  * Copyright (C) 2010 Julien Chaffraix <jchaffraix@webkit.org>  All right | 
| 3  * reserved. | 3  * reserved. | 
| 4  * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) | 4  * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies) | 
| 5  * | 5  * | 
| 6  * Redistribution and use in source and binary forms, with or without | 6  * Redistribution and use in source and binary forms, with or without | 
| 7  * modification, are permitted provided that the following conditions | 7  * modification, are permitted provided that the following conditions | 
| 8  * are met: | 8  * are met: | 
| 9  * 1. Redistributions of source code must retain the above copyright | 9  * 1. Redistributions of source code must retain the above copyright | 
| 10  *    notice, this list of conditions and the following disclaimer. | 10  *    notice, this list of conditions and the following disclaimer. | 
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 105     dispatchProgressProgressEvent(ProgressEvent::create( | 105     dispatchProgressProgressEvent(ProgressEvent::create( | 
| 106         EventTypeNames::progress, lengthComputable, loaded, total)); | 106         EventTypeNames::progress, lengthComputable, loaded, total)); | 
| 107     startOneShot(kMinimumProgressEventDispatchingIntervalInSeconds, | 107     startOneShot(kMinimumProgressEventDispatchingIntervalInSeconds, | 
| 108                  BLINK_FROM_HERE); | 108                  BLINK_FROM_HERE); | 
| 109   } | 109   } | 
| 110 } | 110 } | 
| 111 | 111 | 
| 112 void XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent( | 112 void XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent( | 
| 113     Event* event, | 113     Event* event, | 
| 114     DeferredEventAction action) { | 114     DeferredEventAction action) { | 
| 115   XMLHttpRequest::State state = m_target->readyState(); | 115   XMLHttpRequest::State state = m_target->getReadyState(); | 
| 116   // Given that ResourceDispatcher doesn't deliver an event when suspended, | 116   // Given that ResourceDispatcher doesn't deliver an event when suspended, | 
| 117   // we don't have to worry about event dispatching while suspended. | 117   // we don't have to worry about event dispatching while suspended. | 
| 118   if (action == Flush) { | 118   if (action == Flush) { | 
| 119     if (m_deferred.isSet()) | 119     if (m_deferred.isSet()) | 
| 120       dispatchProgressProgressEvent(m_deferred.take()); | 120       dispatchProgressProgressEvent(m_deferred.take()); | 
| 121 | 121 | 
| 122     stop(); | 122     stop(); | 
| 123   } else if (action == Clear) { | 123   } else if (action == Clear) { | 
| 124     m_deferred.clear(); | 124     m_deferred.clear(); | 
| 125     stop(); | 125     stop(); | 
| 126   } | 126   } | 
| 127 | 127 | 
| 128   m_hasDispatchedProgressProgressEvent = false; | 128   m_hasDispatchedProgressProgressEvent = false; | 
| 129   if (state == m_target->readyState()) { | 129   if (state == m_target->getReadyState()) { | 
| 130     // We don't dispatch the event when an event handler associated with | 130     // We don't dispatch the event when an event handler associated with | 
| 131     // the previously dispatched event changes the readyState (e.g. when | 131     // the previously dispatched event changes the readyState (e.g. when | 
| 132     // the event handler calls xhr.abort()). In such cases a | 132     // the event handler calls xhr.abort()). In such cases a | 
| 133     // readystatechange should have been already dispatched if necessary. | 133     // readystatechange should have been already dispatched if necessary. | 
| 134     InspectorInstrumentation::AsyncTask asyncTask( | 134     InspectorInstrumentation::AsyncTask asyncTask( | 
| 135         m_target->getExecutionContext(), m_target, m_target->isAsync()); | 135         m_target->getExecutionContext(), m_target, m_target->isAsync()); | 
| 136     m_target->dispatchEvent(event); | 136     m_target->dispatchEvent(event); | 
| 137   } | 137   } | 
| 138 } | 138 } | 
| 139 | 139 | 
| 140 void XMLHttpRequestProgressEventThrottle::dispatchProgressProgressEvent( | 140 void XMLHttpRequestProgressEventThrottle::dispatchProgressProgressEvent( | 
| 141     Event* progressEvent) { | 141     Event* progressEvent) { | 
| 142   XMLHttpRequest::State state = m_target->readyState(); | 142   XMLHttpRequest::State state = m_target->getReadyState(); | 
| 143   if (m_target->readyState() == XMLHttpRequest::kLoading && | 143   if (m_target->getReadyState() == XMLHttpRequest::kLoading && | 
| 144       m_hasDispatchedProgressProgressEvent) { | 144       m_hasDispatchedProgressProgressEvent) { | 
| 145     TRACE_EVENT1("devtools.timeline", "XHRReadyStateChange", "data", | 145     TRACE_EVENT1("devtools.timeline", "XHRReadyStateChange", "data", | 
| 146                  InspectorXhrReadyStateChangeEvent::data( | 146                  InspectorXhrReadyStateChangeEvent::data( | 
| 147                      m_target->getExecutionContext(), m_target)); | 147                      m_target->getExecutionContext(), m_target)); | 
| 148     InspectorInstrumentation::AsyncTask asyncTask( | 148     InspectorInstrumentation::AsyncTask asyncTask( | 
| 149         m_target->getExecutionContext(), m_target, m_target->isAsync()); | 149         m_target->getExecutionContext(), m_target, m_target->isAsync()); | 
| 150     m_target->dispatchEvent(Event::create(EventTypeNames::readystatechange)); | 150     m_target->dispatchEvent(Event::create(EventTypeNames::readystatechange)); | 
| 151     TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), | 151     TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), | 
| 152                          "UpdateCounters", TRACE_EVENT_SCOPE_THREAD, "data", | 152                          "UpdateCounters", TRACE_EVENT_SCOPE_THREAD, "data", | 
| 153                          InspectorUpdateCountersEvent::data()); | 153                          InspectorUpdateCountersEvent::data()); | 
| 154   } | 154   } | 
| 155 | 155 | 
| 156   if (m_target->readyState() != state) | 156   if (m_target->getReadyState() != state) | 
| 157     return; | 157     return; | 
| 158 | 158 | 
| 159   m_hasDispatchedProgressProgressEvent = true; | 159   m_hasDispatchedProgressProgressEvent = true; | 
| 160   InspectorInstrumentation::AsyncTask asyncTask(m_target->getExecutionContext(), | 160   InspectorInstrumentation::AsyncTask asyncTask(m_target->getExecutionContext(), | 
| 161                                                 m_target, m_target->isAsync()); | 161                                                 m_target, m_target->isAsync()); | 
| 162   m_target->dispatchEvent(progressEvent); | 162   m_target->dispatchEvent(progressEvent); | 
| 163 } | 163 } | 
| 164 | 164 | 
| 165 void XMLHttpRequestProgressEventThrottle::fired() { | 165 void XMLHttpRequestProgressEventThrottle::fired() { | 
| 166   if (!m_deferred.isSet()) { | 166   if (!m_deferred.isSet()) { | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 188   // over the list of active DOM objects to resume them, and any activated JS | 188   // over the list of active DOM objects to resume them, and any activated JS | 
| 189   // event-handler could insert new active DOM objects to the list. | 189   // event-handler could insert new active DOM objects to the list. | 
| 190   startOneShot(0, BLINK_FROM_HERE); | 190   startOneShot(0, BLINK_FROM_HERE); | 
| 191 } | 191 } | 
| 192 | 192 | 
| 193 DEFINE_TRACE(XMLHttpRequestProgressEventThrottle) { | 193 DEFINE_TRACE(XMLHttpRequestProgressEventThrottle) { | 
| 194   visitor->trace(m_target); | 194   visitor->trace(m_target); | 
| 195 } | 195 } | 
| 196 | 196 | 
| 197 }  // namespace blink | 197 }  // namespace blink | 
| OLD | NEW | 
|---|