| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /** |
| * @fileoverview Provides an implementation of the SystemTimer interface based |
| * on window's timer methods. |
| */ |
| 'use strict'; |
| |
| /** |
| * Creates an implementation of the SystemTimer interface based on window's |
| * timer methods. |
| * @constructor |
| * @implements {SystemTimer} |
| */ |
| function WindowTimer() {} |
| |
| /** |
| * Sets a single-shot timer. |
| * @param {function()} func Called back when the timer expires. |
| * @param {number} timeoutMillis How long until the timer fires, in |
| * milliseconds. |
| * @return {number} A timeout ID, which can be used to cancel the timer. |
| */ |
| WindowTimer.prototype.setTimeout = function(func, timeoutMillis) { |
| return window.setTimeout(func, timeoutMillis); |
| }; |
| |
| /** |
| * Clears a previously set timer. |
| * @param {number} timeoutId The ID of the timer to clear. |
| */ |
| WindowTimer.prototype.clearTimeout = function(timeoutId) { |
| window.clearTimeout(timeoutId); |
| }; |
| |
| /** |
| * Sets a repeating interval timer. |
| * @param {function()} func Called back each time the timer fires. |
| * @param {number} timeoutMillis How long until the timer fires, in |
| * milliseconds. |
| * @return {number} A timeout ID, which can be used to cancel the timer. |
| */ |
| WindowTimer.prototype.setInterval = function(func, timeoutMillis) { |
| return window.setInterval(func, timeoutMillis); |
| }; |
| |
| /** |
| * Clears a previously set interval timer. |
| * @param {number} timeoutId The ID of the timer to clear. |
| */ |
| WindowTimer.prototype.clearInterval = function(timeoutId) { |
| window.clearInterval(timeoutId); |
| }; |