browser/fuel/public/fuelIApplication.idl

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #include "nsISupports.idl"
     6 #include "extIApplication.idl"
     8 interface nsIVariant;
     9 interface nsIURI;
    10 interface nsIDOMHTMLDocument;
    12 interface fuelIBookmarkFolder;
    13 interface fuelIBrowserTab;
    15 /**
    16  * Interface representing a collection of annotations associated
    17  * with a bookmark or bookmark folder.
    18  */
    19 [scriptable, uuid(335c9292-91a1-4ca0-ad0b-07d5f63ed6cd)]
    20 interface fuelIAnnotations : nsISupports
    21 {
    22   /**
    23    * Array of the annotation names associated with the owning item
    24    */
    25   readonly attribute nsIVariant names;
    27   /**
    28    * Determines if an annotation exists with the given name.
    29    * @param   aName
    30    *          The name of the annotation
    31    * @returns true if an annotation exists with the given name,
    32    *          false otherwise.
    33    */
    34   boolean has(in AString aName);
    36   /**
    37    * Gets the value of an annotation with the given name.
    38    * @param   aName
    39    *          The name of the annotation
    40    * @returns A variant containing the value of the annotation. Supports
    41    *          string, boolean and number.
    42    */
    43   nsIVariant get(in AString aName);
    45   /**
    46    * Sets the value of an annotation with the given name.
    47    * @param   aName
    48    *          The name of the annotation
    49    * @param   aValue
    50    *          The new value of the annotation. Supports string, boolean
    51    *          and number
    52    * @param   aExpiration
    53    *          The expiration policy for the annotation.
    54    *          See nsIAnnotationService.
    55    */
    56   void set(in AString aName, in nsIVariant aValue, in int32_t aExpiration);
    58   /**
    59    * Removes the named annotation from the owner item.
    60    * @param   aName
    61    *          The name of annotation.
    62    */
    63   void remove(in AString aName);
    64 };
    67 /**
    68  * Interface representing a bookmark item.
    69  */
    70 [scriptable, uuid(808585b6-7568-4b26-8c62-545221bf2b8c)]
    71 interface fuelIBookmark : nsISupports
    72 {
    73   /**
    74    * The id of the bookmark.
    75    */
    76   readonly attribute long long id;
    78   /**
    79    * The title of the bookmark.
    80    */
    81   attribute AString title;
    83   /**
    84    * The uri of the bookmark.
    85    */
    86   attribute nsIURI uri;
    88   /**
    89    * The description of the bookmark.
    90    */
    91   attribute AString description;
    93   /**
    94    * The keyword associated with the bookmark.
    95    */
    96   attribute AString keyword;
    98   /**
    99    * The type of the bookmark.
   100    * values: "bookmark", "separator"
   101    */
   102   readonly attribute AString type;
   104   /**
   105    * The parent folder of the bookmark.
   106    */
   107   attribute fuelIBookmarkFolder parent;
   109   /**
   110    * The annotations object for the bookmark.
   111    */
   112   readonly attribute fuelIAnnotations annotations;
   114   /**
   115    * The events object for the bookmark.
   116    * supports: "remove", "change", "visit", "move"
   117    */
   118   readonly attribute extIEvents events;
   120   /**
   121    * Removes the item from the parent folder. Used to
   122    * delete a bookmark or separator
   123    */
   124   void remove();
   125 };
   128 /**
   129  * Interface representing a bookmark folder. Folders
   130  * can hold bookmarks, separators and other folders.
   131  */
   132 [scriptable, uuid(9f42fe20-52de-4a55-8632-a459c7716aa0)]
   133 interface fuelIBookmarkFolder : nsISupports
   134 {
   135   /**
   136    * The id of the folder.
   137    */
   138   readonly attribute long long id;
   140   /**
   141    * The title of the folder.
   142    */
   143   attribute AString title;
   145   /**
   146    * The description of the folder.
   147    */
   148   attribute AString description;
   150   /**
   151    * The type of the folder.
   152    * values: "folder"
   153    */
   154   readonly attribute AString type;
   156   /**
   157    * The parent folder of the folder.
   158    */
   159   attribute fuelIBookmarkFolder parent;
   161   /**
   162    * The annotations object for the folder.
   163    */
   164   readonly attribute fuelIAnnotations annotations;
   166   /**
   167    * The events object for the folder.
   168    * supports: "add", "addchild", "remove", "removechild", "change", "move"
   169    */
   170   readonly attribute extIEvents events;
   172   /**
   173    * Array of all bookmarks, separators and folders contained
   174    * in this folder.
   175    */
   176   readonly attribute nsIVariant children;
   178   /**
   179    * Adds a new child bookmark to this folder.
   180    * @param   aTitle
   181    *          The title of bookmark.
   182    * @param   aURI
   183    *          The uri of bookmark.
   184    */
   185   fuelIBookmark addBookmark(in AString aTitle, in nsIURI aURI);
   187   /**
   188    * Adds a new child separator to this folder.
   189    */
   190   fuelIBookmark addSeparator();
   192   /**
   193    * Adds a new child folder to this folder.
   194    * @param   aTitle
   195    *          The title of folder.
   196    */
   197   fuelIBookmarkFolder addFolder(in AString aTitle);
   199   /**
   200    * Removes the folder from the parent folder.
   201    */
   202   void remove();
   203 };
   205 /**
   206  * Interface representing a container for bookmark roots. Roots
   207  * are the top level parents for the various types of bookmarks in the system.
   208  */
   209 [scriptable, uuid(c9a80870-eb3c-11dc-95ff-0800200c9a66)]
   210 interface fuelIBookmarkRoots : nsISupports
   211 {
   212   /**
   213    * The folder for the 'bookmarks menu' root.
   214    */
   215   readonly attribute fuelIBookmarkFolder menu;
   217   /**
   218    * The folder for the 'personal toolbar' root.
   219    */
   220   readonly attribute fuelIBookmarkFolder toolbar;
   222   /**
   223    * The folder for the 'tags' root.
   224    */
   225   readonly attribute fuelIBookmarkFolder tags;
   227   /**
   228    * The folder for the 'unfiled bookmarks' root.
   229    */
   230   readonly attribute fuelIBookmarkFolder unfiled;
   231 };
   233 /**
   234  * Interface representing a browser window.
   235  */
   236 [scriptable, uuid(207edb28-eb5e-424e-a862-b0e97C8de866)]
   237 interface fuelIWindow : nsISupports
   238 {
   239   /**
   240    * A collection of browser tabs within the browser window.
   241    */
   242   readonly attribute nsIVariant tabs;
   244   /**
   245    * The currently-active tab within the browser window.
   246    */
   247   readonly attribute fuelIBrowserTab activeTab;
   249   /**
   250    * Open a new browser tab, pointing to the specified URI.
   251    * @param   aURI
   252    *          The uri to open the browser tab to
   253    */
   254   fuelIBrowserTab open(in nsIURI aURI);
   256   /**
   257    * The events object for the browser window.
   258    * supports: "TabOpen", "TabClose", "TabMove", "TabSelect"
   259    */
   260   readonly attribute extIEvents events;
   261 };
   263 /**
   264  * Interface representing a browser tab.
   265  */
   266 [scriptable, uuid(3073ceff-777c-41ce-9ace-ab37268147c1)]
   267 interface fuelIBrowserTab : nsISupports
   268 {
   269   /**
   270    * The current uri of this tab.
   271    */
   272   readonly attribute nsIURI uri;
   274   /**
   275    * The current index of this tab in the browser window.
   276    */
   277   readonly attribute int32_t index;
   279   /**
   280    * The browser window that is holding the tab.
   281    */
   282   readonly attribute fuelIWindow window;
   284   /**
   285    * The content document of the browser tab.
   286    */
   287   readonly attribute nsIDOMHTMLDocument document;
   289   /**
   290    * The events object for the browser tab.
   291    * supports: "load"
   292    */
   293   readonly attribute extIEvents events;
   295   /**
   296    * Load a new URI into this browser tab.
   297    * @param   aURI
   298    *          The uri to load into the browser tab
   299    */
   300   void load(in nsIURI aURI);
   302   /**
   303    * Give focus to this browser tab, and bring it to the front.
   304    */
   305   void focus();
   307   /**
   308    * Close the browser tab. This may not actually close the tab
   309    * as script may abort the close operation.
   310    */
   311   void close();
   313   /**
   314    * Moves this browser tab before another browser tab within the window.
   315    * @param   aBefore
   316    *          The tab before which the target tab will be moved
   317    */
   318   void moveBefore(in fuelIBrowserTab aBefore);
   320   /**
   321    * Move this browser tab to the last tab within the window.
   322    */
   323   void moveToEnd();
   324 };
   326 /**
   327  * Interface for managing and accessing the applications systems
   328  */
   329 [scriptable, uuid(fe74cf80-aa2d-11db-abbd-0800200c9a66)]
   330 interface fuelIApplication : extIApplication
   331 {
   332   /**
   333    * The root bookmarks object for the application.
   334    * Contains all the bookmark roots in the system.
   335    */
   336   readonly attribute fuelIBookmarkRoots bookmarks;
   338   /**
   339    * An array of browser windows within the application.
   340    */
   341   readonly attribute nsIVariant windows;
   343   /**
   344    * The currently active browser window.
   345    */
   346   readonly attribute fuelIWindow activeWindow;
   347 };

mercurial