DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (dcc6d7a0dc00)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
/* -*- 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/.
 */

dictionary InstallParameters {
  sequence<DOMString> receipts = [];
  sequence<DOMString> categories = [];
};

dictionary LanguageDesc {
  DOMString target;
  long revision;
  DOMString name;
};

enum LocaleResourceType {
  "binary",
  "json",
  "text"
};

[NoInterfaceObject, NavigatorProperty="mozApps",
 JSImplementation="@mozilla.org/webapps;1"]
interface DOMApplicationsRegistry {
  [CheckAnyPermissions="webapps-manage homescreen-webapps-manage"]
  readonly attribute DOMApplicationsManager mgmt;
  DOMRequest install(DOMString url, optional InstallParameters params);
  DOMRequest installPackage(DOMString url, optional InstallParameters params);
  DOMRequest getSelf();
  DOMRequest getInstalled();
  DOMRequest checkInstalled(DOMString manifestUrl);

  // Language pack API.
  // These promises will be rejected if the page is not in an app context,
  // i.e. they are implicitely acting on getSelf().
  Promise<MozMap<sequence<LanguageDesc>>> getAdditionalLanguages();
  // Resolves to a different object depending on the dataType value.
  Promise<any>
    getLocalizationResource(DOMString language,
                            DOMString version,
                            DOMString path,
                            LocaleResourceType dataType);
};

[JSImplementation="@mozilla.org/webapps/application;1", ChromeOnly]
interface DOMApplication : EventTarget {
  // manifest and updateManifest will be turned into dictionaries once
  // in bug 1053033 once bug 963382 is fixed.
  readonly attribute any manifest;
  readonly attribute any updateManifest;
  readonly attribute DOMString manifestURL;
  readonly attribute DOMString origin;
  readonly attribute DOMString installOrigin;
  readonly attribute DOMTimeStamp installTime;
  readonly attribute boolean removable;
  readonly attribute boolean enabled;

  [Cached, Pure]
  readonly attribute sequence<DOMString> receipts;

  readonly attribute double progress;

  readonly attribute DOMString installState;

  readonly attribute DOMTimeStamp lastUpdateCheck;
  readonly attribute DOMTimeStamp updateTime;

  readonly attribute boolean downloadAvailable;
  readonly attribute boolean downloading;
  readonly attribute boolean readyToApplyDownload;
  readonly attribute long downloadSize;

  readonly attribute DOMError? downloadError;

  attribute EventHandler onprogress;
  attribute EventHandler ondownloadsuccess;
  attribute EventHandler ondownloaderror;
  attribute EventHandler ondownloadavailable;
  attribute EventHandler ondownloadapplied;

  void download();
  void cancelDownload();

  DOMRequest launch(optional DOMString? url);

  DOMRequest clearBrowserData();
  DOMRequest checkForUpdate();

  /**
   * Inter-App Communication APIs.
   *
   * https://wiki.mozilla.org/WebAPI/Inter_App_Communication_Alt_proposal
   *
   */
  Promise<MozInterAppConnection> connect(DOMString keyword, optional any rules);

  Promise<sequence<MozInterAppMessagePort>> getConnections();

  // Receipts handling functions.
  DOMRequest addReceipt(optional DOMString receipt);
  DOMRequest removeReceipt(optional DOMString receipt);
  DOMRequest replaceReceipt(optional DOMString oldReceipt,
                            optional DOMString newReceipt);

  // Export this app as a shareable Blob.
  Promise<Blob> export();

  // Returns the localized value of a property, using either the manifest or
  // a langpack if one is available.
  Promise<DOMString> getLocalizedValue(DOMString property,
                                       DOMString locale,
                                       optional DOMString entryPoint);
};

[JSImplementation="@mozilla.org/webapps/manager;1",
 ChromeOnly,
 CheckAnyPermissions="webapps-manage homescreen-webapps-manage"]
interface DOMApplicationsManager : EventTarget {
  DOMRequest getAll();

  [CheckAnyPermissions="webapps-manage"]
  DOMRequest getNotInstalled();
  [CheckAnyPermissions="webapps-manage"]
  void applyDownload(DOMApplication app);
  DOMRequest uninstall(DOMApplication app);

  [CheckAnyPermissions="webapps-manage"]
  Promise<DOMApplication> import(Blob blob);
  [CheckAnyPermissions="webapps-manage"]
  Promise<any> extractManifest(Blob blob);

  [CheckAnyPermissions="webapps-manage"]
  void setEnabled(DOMApplication app, boolean state);
  Promise<Blob> getIcon(DOMApplication app, DOMString iconID,
                        optional DOMString entryPoint);

  attribute EventHandler oninstall;
  attribute EventHandler onuninstall;
  attribute EventHandler onenabledstatechange;
};