| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright (C) 2008 Apple Inc. All Rights Reserved. |    2  * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 
|    3  * |    3  * | 
|    4  * Redistribution and use in source and binary forms, with or without |    4  * Redistribution and use in source and binary forms, with or without | 
|    5  * modification, are permitted provided that the following conditions |    5  * modification, are permitted provided that the following conditions | 
|    6  * are met: |    6  * are met: | 
|    7  * 1. Redistributions of source code must retain the above copyright |    7  * 1. Redistributions of source code must retain the above copyright | 
|    8  *    notice, this list of conditions and the following disclaimer. |    8  *    notice, this list of conditions and the following disclaimer. | 
|    9  * 2. Redistributions in binary form must reproduce the above copyright |    9  * 2. Redistributions in binary form must reproduce the above copyright | 
|   10  *    notice, this list of conditions and the following disclaimer in the |   10  *    notice, this list of conditions and the following disclaimer in the | 
|   11  *    documentation and/or other materials provided with the distribution. |   11  *    documentation and/or other materials provided with the distribution. | 
|   12  * |   12  * | 
|   13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |   13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY | 
|   14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |   14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
|   15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |   15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
|   16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR |   16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR | 
|   17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |   17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 
|   18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |   18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 
|   19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |   19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 
|   20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |   20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 
|   21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |   21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
|   22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |   22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
|   23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |   23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|   24  * |   24  * | 
|   25  */ |   25  */ | 
|   26  |   26  | 
|   27 #include "core/frame/DOMTimer.h" |   27 #include "core/frame/DOMTimer.h" | 
|   28  |   28  | 
|   29 #include "core/dom/ExecutionContext.h" |   29 #include "core/dom/ExecutionContext.h" | 
 |   30 #include "core/dom/TaskRunnerHelper.h" | 
|   30 #include "core/frame/PerformanceMonitor.h" |   31 #include "core/frame/PerformanceMonitor.h" | 
|   31 #include "core/inspector/InspectorInstrumentation.h" |   32 #include "core/inspector/InspectorInstrumentation.h" | 
|   32 #include "core/inspector/InspectorTraceEvents.h" |   33 #include "core/inspector/InspectorTraceEvents.h" | 
|   33 #include "platform/instrumentation/tracing/TraceEvent.h" |   34 #include "platform/instrumentation/tracing/TraceEvent.h" | 
|   34 #include "wtf/CurrentTime.h" |   35 #include "wtf/CurrentTime.h" | 
|   35  |   36  | 
|   36 namespace blink { |   37 namespace blink { | 
|   37  |   38  | 
|   38 static const int maxIntervalForUserGestureForwarding = |   39 static const int maxIntervalForUserGestureForwarding = | 
|   39     1000;  // One second matches Gecko. |   40     1000;  // One second matches Gecko. | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   78   // Eagerly unregister as ExecutionContext observer. |   79   // Eagerly unregister as ExecutionContext observer. | 
|   79   if (timer) |   80   if (timer) | 
|   80     timer->clearContext(); |   81     timer->clearContext(); | 
|   81 } |   82 } | 
|   82  |   83  | 
|   83 DOMTimer::DOMTimer(ExecutionContext* context, |   84 DOMTimer::DOMTimer(ExecutionContext* context, | 
|   84                    ScheduledAction* action, |   85                    ScheduledAction* action, | 
|   85                    int interval, |   86                    int interval, | 
|   86                    bool singleShot, |   87                    bool singleShot, | 
|   87                    int timeoutID) |   88                    int timeoutID) | 
|   88     : SuspendableTimer(context), |   89     : SuspendableTimer(context, TaskType::Timer), | 
|   89       m_timeoutID(timeoutID), |   90       m_timeoutID(timeoutID), | 
|   90       m_nestingLevel(context->timers()->timerNestingLevel() + 1), |   91       m_nestingLevel(context->timers()->timerNestingLevel() + 1), | 
|   91       m_action(action) { |   92       m_action(action) { | 
|   92   ASSERT(timeoutID > 0); |   93   ASSERT(timeoutID > 0); | 
|   93   if (shouldForwardUserGesture(interval, m_nestingLevel)) { |   94   if (shouldForwardUserGesture(interval, m_nestingLevel)) { | 
|   94     // Thread safe because shouldForwardUserGesture will only return true if |   95     // Thread safe because shouldForwardUserGesture will only return true if | 
|   95     // execution is on the the main thread. |   96     // execution is on the the main thread. | 
|   96     m_userGestureToken = UserGestureIndicator::currentToken(); |   97     m_userGestureToken = UserGestureIndicator::currentToken(); | 
|   97   } |   98   } | 
|   98  |   99  | 
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  187 RefPtr<WebTaskRunner> DOMTimer::timerTaskRunner() const { |  188 RefPtr<WebTaskRunner> DOMTimer::timerTaskRunner() const { | 
|  188   return getExecutionContext()->timers()->timerTaskRunner(); |  189   return getExecutionContext()->timers()->timerTaskRunner(); | 
|  189 } |  190 } | 
|  190  |  191  | 
|  191 DEFINE_TRACE(DOMTimer) { |  192 DEFINE_TRACE(DOMTimer) { | 
|  192   visitor->trace(m_action); |  193   visitor->trace(m_action); | 
|  193   SuspendableTimer::trace(visitor); |  194   SuspendableTimer::trace(visitor); | 
|  194 } |  195 } | 
|  195  |  196  | 
|  196 }  // namespace blink |  197 }  // namespace blink | 
| OLD | NEW |