image/nsIIconURI.idl
author Phil Ringnalda <philringnalda@gmail.com>
Wed, 28 Oct 2015 22:57:43 -0700
changeset 270180 b4c323832f317d650acd4bd7066d9432f3c1768c
parent 258308 75ba313634f34e4b5e7fd9e5e6862680c1f69ddd
permissions -rw-r--r--
Back out 8 changesets (bug 1207355) for OS X 10.10 reftest failures in generated-content/ CLOSED TREE Backed out changeset aafd6db2fbb4 (bug 1207355) Backed out changeset 9dd950b837fb (bug 1207355) Backed out changeset e941e0e106a1 (bug 1207355) Backed out changeset ecebca101fcb (bug 1207355) Backed out changeset 08f2017137e1 (bug 1207355) Backed out changeset 3dc69e37c9b4 (bug 1207355) Backed out changeset bcdf51edb121 (bug 1207355) Backed out changeset 1d4c00dbf49a (bug 1207355)

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 *
 * 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 "nsIURL.idl"

  /**
   * nsIIconURI
   *
   * This interface derives from nsIURI, to provide additional information
   * about moz-icon URIs.
   *
   * What *is* a moz-icon URI you ask?  Well, it has the following syntax:
   *
   * moz-icon:[<valid-url> | //<file-with-extension> | //stock/<stock-icon>]?
   *            ['?'[<parameter-value-pairs>]]
   *
   * <valid-url> is a valid URL spec.
   *
   * <file-with-extension> is any filename with an extension, e.g. "dummy.html".
   * If the file you want an icon for isn't known to exist, you can use this
   * instead of a URL and just place a dummy file name with the extension or
   * content type you want.
   *
   * <stock-icon> is the name of a platform-dependant stock icon.
   *
   * Legal parameter value pairs are listed below:
   *
   *   Parameter:   size
   *   Values:      [<integer> | button | toolbar | toolbarsmall | menu |
   *                 dialog]
   *   Description: If integer, this is the desired size in square pixels of
   *                the icon
   *                Else, use the OS default for the specified keyword context.
   *
   *   Parameter:   state
   *   Values:      [normal | disabled]
   *   Description: The state of the icon.
   *
   *   Parameter:   contentType
   *   Values:      <mime-type>
   *   Description: The mime type we want an icon for. This is ignored by
   *                stock images.
   */

[scriptable, uuid(f8fe5ef2-5f2b-43f3-857d-5b64d192c427)]
interface nsIMozIconURI : nsIURI
{
  /// iconFile: the file URL contained within this moz-icon url, or null.
  attribute nsIURL iconURL;

  /// imageSize: The image area in square pixels, defaults to 16 if unspecified.
  attribute unsigned long imageSize;

  /// stockIcon: The stock icon name requested from the OS.
   readonly attribute ACString stockIcon;

  /// iconSize: The stock icon size requested from the OS.
   readonly attribute ACString iconSize;

  /// iconState: The stock icon state requested from the OS.
   readonly attribute ACString iconState;

  /// contentType: A valid mime type, or the empty string.
  attribute ACString contentType;

  /// fileExtension: The file extension of the file which we are looking up.
  readonly attribute ACString fileExtension;
};

%{C++

// CID for nsMozIconURI, if implemented on this platform.
#define NS_MOZICONURI_CID                            \
{                                                    \
    0x43a88e0e,                                      \
    0x2d37,                                          \
    0x11d5,                                          \
    { 0x99, 0x7, 0x0, 0x10, 0x83, 0x1, 0xe, 0x9b }   \
}

%}