widget/nsITaskbarProgress.idl
author Doug Turner <doug.turner@gmail.com>
Tue, 03 Feb 2015 17:00:00 +0100
changeset 243715 840987c23fc597bdaad4567c2387ba1aa06c65d0
parent 98529 f4157e8c410708d76703f19e4dfb61859bfe32d8
permissions -rw-r--r--
Bug 1045229 - Beacons are not associated with windows. The current window based filtering that the network monitor does will skip requests that come from sendBeacon(). Here we explictly look to see if the network channel is from beacon by looking at the loadinfo. r=dcamp, a=sledru

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"
#include "nsIBaseWindow.idl"

typedef long nsTaskbarProgressState;

/**
 * Starting in Windows 7, applications can display a progress notification in
 * the taskbar. This class wraps around the native functionality to do this.
 */
[scriptable, uuid(23ac257d-ef3c-4033-b424-be7fef91a86c)]
interface nsITaskbarProgress : nsISupports
{
  /**
   * Stop displaying progress on the taskbar button. This should be used when
   * the operation is complete or cancelled.
   */
  const nsTaskbarProgressState STATE_NO_PROGRESS   = 0;

  /**
   * Display a cycling, indeterminate progress bar.
   */
  const nsTaskbarProgressState STATE_INDETERMINATE = 1;

  /**
   * Display a determinate, normal progress bar.
   */
  const nsTaskbarProgressState STATE_NORMAL        = 2;

  /**
   * Display a determinate, error progress bar.
   */
  const nsTaskbarProgressState STATE_ERROR         = 3;

  /**
   * Display a determinate progress bar indicating that the operation has
   * paused.
   */
  const nsTaskbarProgressState STATE_PAUSED        = 4;

  /**
   * Sets the taskbar progress state and value for this window. The currentValue
   * and maxValue parameters are optional and should be supplied when |state|
   * is one of STATE_NORMAL, STATE_ERROR or STATE_PAUSED.
   *
   * @throws NS_ERROR_INVALID_ARG if state is STATE_NO_PROGRESS or
   *         STATE_INDETERMINATE, and either currentValue or maxValue is not 0.
   * @throws NS_ERROR_ILLEGAL_VALUE if currentValue is greater than maxValue.
   */
  void setProgressState(in nsTaskbarProgressState state,
                        [optional] in unsigned long long currentValue,
                        [optional] in unsigned long long maxValue);
};