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 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
/* -*- 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/.
 *
 * The origin of this IDL file is
 * http://www.whatwg.org/specs/web-apps/current-work/#the-object-element
 * http://www.whatwg.org/specs/web-apps/current-work/#HTMLObjectElement-partial
 *
 * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
 * Opera Software ASA. You are granted a license to use, reproduce
 * and create derivative works of this document.
 */

// http://www.whatwg.org/specs/web-apps/current-work/#the-object-element
[NeedResolve, UnsafeInPrerendering]
interface HTMLObjectElement : HTMLElement {
  [Pure, SetterThrows]
           attribute DOMString data;
  [Pure, SetterThrows]
           attribute DOMString type;
  [Pure, SetterThrows]
           attribute boolean typeMustMatch;
  [Pure, SetterThrows]
           attribute DOMString name;
  [Pure, SetterThrows]
           attribute DOMString useMap;
  [Pure]
  readonly attribute HTMLFormElement? form;
  [Pure, SetterThrows]
           attribute DOMString width;
  [Pure, SetterThrows]
           attribute DOMString height;
  // Not pure: can trigger about:blank instantiation
  readonly attribute Document? contentDocument;
  // Not pure: can trigger about:blank instantiation
  readonly attribute WindowProxy? contentWindow;

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  void setCustomValidity(DOMString error);

  [Throws]
  legacycaller any (any... arguments);
};

// http://www.whatwg.org/specs/web-apps/current-work/#HTMLObjectElement-partial
partial interface HTMLObjectElement {
  [Pure, SetterThrows]
           attribute DOMString align;
  [Pure, SetterThrows]
           attribute DOMString archive;
  [Pure, SetterThrows]
           attribute DOMString code;
  [Pure, SetterThrows]
           attribute boolean declare;
  [Pure, SetterThrows]
           attribute unsigned long hspace;
  [Pure, SetterThrows]
           attribute DOMString standby;
  [Pure, SetterThrows]
           attribute unsigned long vspace;
  [Pure, SetterThrows]
           attribute DOMString codeBase;
  [Pure, SetterThrows]
           attribute DOMString codeType;

  [TreatNullAs=EmptyString, Pure, SetterThrows]
           attribute DOMString border;
};

partial interface HTMLObjectElement {
  // GetSVGDocument
  Document? getSVGDocument();
};

[NoInterfaceObject]
interface MozObjectLoadingContent {
  // Mirrored chrome-only scriptable nsIObjectLoadingContent methods.  Please
  // make sure to update this list if nsIObjectLoadingContent changes.  Also,
  // make sure everything on here is [ChromeOnly].
  [ChromeOnly]
  const unsigned long TYPE_LOADING  = 0;
  [ChromeOnly]
  const unsigned long TYPE_IMAGE    = 1;
  [ChromeOnly]
  const unsigned long TYPE_PLUGIN   = 2;
  [ChromeOnly]
  const unsigned long TYPE_DOCUMENT = 3;
  [ChromeOnly]
  const unsigned long TYPE_NULL     = 4;

  // The content type is not supported (e.g. plugin not installed)
  [ChromeOnly]
  const unsigned long PLUGIN_UNSUPPORTED          = 0;
  // Showing alternate content
  [ChromeOnly]
  const unsigned long PLUGIN_ALTERNATE            = 1;
  // The plugin exists, but is disabled
  [ChromeOnly]
  const unsigned long PLUGIN_DISABLED             = 2;
  // The plugin is blocklisted and disabled
  [ChromeOnly]
  const unsigned long PLUGIN_BLOCKLISTED          = 3;
  // The plugin is considered outdated, but not disabled
  [ChromeOnly]
  const unsigned long PLUGIN_OUTDATED             = 4;
  // The plugin has crashed
  [ChromeOnly]
  const unsigned long PLUGIN_CRASHED              = 5;
  // Suppressed by security policy
  [ChromeOnly]
  const unsigned long PLUGIN_SUPPRESSED           = 6;
  // Blocked by content policy
  [ChromeOnly]
  const unsigned long PLUGIN_USER_DISABLED        = 7;
  /// ** All values >= PLUGIN_CLICK_TO_PLAY are plugin placeholder types that
  ///    would be replaced by a real plugin if activated (playPlugin())
  /// ** Furthermore, values >= PLUGIN_CLICK_TO_PLAY and
  ///    <= PLUGIN_VULNERABLE_NO_UPDATE are click-to-play types.
  // The plugin is disabled until the user clicks on it
  [ChromeOnly]
  const unsigned long PLUGIN_CLICK_TO_PLAY        = 8;
  // The plugin is vulnerable (update available)
  [ChromeOnly]
  const unsigned long PLUGIN_VULNERABLE_UPDATABLE = 9;
  // The plugin is vulnerable (no update available)
  [ChromeOnly]
  const unsigned long PLUGIN_VULNERABLE_NO_UPDATE = 10;

  /**
   * The actual mime type (the one we got back from the network
   * request) for the element.
   */
  [ChromeOnly]
  readonly attribute DOMString actualType;

  /**
   * Gets the type of the content that's currently loaded. See
   * the constants above for the list of possible values.
   */
  [ChromeOnly]
  readonly attribute unsigned long displayedType;

  /**
   * Gets the content type that corresponds to the give MIME type.  See the
   * constants above for the list of possible values.  If nothing else fits,
   * TYPE_NULL will be returned.
   */
  [ChromeOnly]
  unsigned long getContentTypeForMIMEType(DOMString aMimeType);


  [ChromeOnly]
  sequence<MozPluginParameter> getPluginAttributes();

  [ChromeOnly]
  sequence<MozPluginParameter> getPluginParameters();

  /**
   * This method will play a plugin that has been stopped by the click-to-play
   * feature.
   */
  [ChromeOnly, Throws]
  void playPlugin();

  /**
   * Forces a re-evaluation and reload of the tag, optionally invalidating its
   * click-to-play state.  This can be used when the MIME type that provides a
   * type has changed, for instance, to force the tag to re-evalulate the
   * handler to use.
   */
  [ChromeOnly, Throws]
  void reload(boolean aClearActivation);

  /**
   * This attribute will return true if the current content type has been
   * activated, either explicitly or by passing checks that would have it be
   * click-to-play.
   */
  [ChromeOnly]
  readonly attribute boolean activated;

  /**
   * The URL of the data/src loaded in the object. This may be null (i.e.
   * an <embed> with no src).
   */
  [ChromeOnly]
  readonly attribute URI? srcURI;

  [ChromeOnly]
  readonly attribute unsigned long defaultFallbackType;

  [ChromeOnly]
  readonly attribute unsigned long pluginFallbackType;

  /**
   * If this object currently owns a running plugin, regardless of whether or
   * not one is pending spawn/despawn.
   */
  [ChromeOnly]
  readonly attribute boolean hasRunningPlugin;

  [ChromeOnly, Throws]
  readonly attribute unsigned long runID;
};

/**
 * Name:Value pair type used for passing parameters to NPAPI or javascript
 * plugins.
 */
dictionary MozPluginParameter {
  DOMString name = "";
  DOMString value = "";
};

HTMLObjectElement implements MozImageLoadingContent;
HTMLObjectElement implements MozFrameLoaderOwner;
HTMLObjectElement implements MozObjectLoadingContent;