Files
palemoon27/dom/base/nsIObjectLoadingContent.idl
T
roytam1 66045acec8 import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 1234012 - Do not try to copy files from the non-existing default profile. r=bsmedberg (d30314c902)
- Bug 1192831 - Remove PlayPreview API. r=jet, r=peterv (bb33dc609d)
- Bug 1098064 part B - remove nsIPluginHost.isPluginOOP, r=jimm (39643555da)
- Bug 1239913 - Convert toolkit/ to use asyncOpen2 where loadingPrincipal is SystemPrincipal (r=sicking) (b7d663d0e6)
- minor (ac122dbb68)
- Bug 1216972 - OS.File AsyncShutdown for content processes. r=froydnj (53550f1050)
- Bug 1204834 - OS.File.writeAtomic should have the path argument in its closure. r=yoric (8dcf508961)
- Bug 1201904 - Add test for force windowless mode. r=aklotz (ae4e591342)
- Bug 1131368 - test plugin.allowed_types pref; r=josh (6a61ae8592)
- Bug 1129040 - Query the chrome process blocklist service prior to instantiating plugins in the content process. r=billm (398664884f)
- Bug 1225293 - Add Microsoft Silverlight to Win64 Plugin Whitelist; r=bsmedberg (eeecf59efc)
- Bug 1165981 - Mochitests and test plugin for Win64 plugin disabling; r=bsmedberg (82211ff568)
- Bug 1213710 part 1 - Convert all html/xul files in dom/plugins/test/mochitest to unix format. r=bsmedberg (8f89d2ac1d)
- Bug 1213710 part 2 - Rename dom/plugins/test/mochitest/utils.js to plugin-utils.js. r=bsmedberg (e74d035ffc)
- Bug 1225293 - Mochitests for Win64 Silverlight Whitelisting; r=bsmedberg (079ed3a442)
- minor bits left out (5fa7b83b68)
- Bug 1214516 - Sync check PBackgroundChild existence to initiate indexed DB open/delete request right away if it exists. r=khuey (8a2c5c7f8f)
- Bug 1200004 - Fix IDB permission handling around navigated windows. r=baku (cea1d31ed9)
- Bug 1239751 - FieldInfoHash does not need a post barrier; r=jonco (70b443bc23)
- Bug 891107 - Part 5: Show function name in this and callee type error messages in js-ctypes. r=jorendorff (4358085f8f)
- Bug 891107 - Part 6: Show information about range and value in array index error messages in js-ctypes. r=jorendorff (dfa926dc95)
- Bug 891107 - Part 7: Show information about value, type, function, and argument number in function related error messages in js-ctypes. r=jorendorff (4b71ee5304)
- Bug 891107 - Part 8: Show information about field name and type in struct field related error messages in js-ctypes. r=jorendorff (3a128382a6)
- Bug 891107 - Part 9: Report construction error as TypeError in js-ctypes. r=jorendorff (4199e59c7b)
- Bug 891107 - Part 10: Show information about value in pointer related error messages in js-ctypes. r=jorendorff (ad7e5fe53d)
- Bug 891107 - Part 11: Show information about type in cast error messages in js-ctypes. r=jorendorff (74fe412bb9)
- Bug 1243918 - Don't clobber safeseh in msvcc.sh -clang-cl; r=glandium (f014a945c9)
- default to -O3 again (0d9261962c)
- Bug 1239369 - Restore oomTests's check that an exception is thrown on failure, except where it isn't r=terrence (9f00c22106)
- Bug 1203595 - move tests into manual-tests. r=waldo (444b7c10aa)
- Bug 1079844 - Rename the shell builtin 'neuter' function to 'detachArrayBuffer', consistent with the spec name for the operation. r=till (48cfe8ff3a)
- Bug 1234428 - findPath wrap cross-compartment objects. r=jonco (2ca70c86b0)
- minor (c32fe44e31)
- Add a semicolon to avoid relying on ASI in one place in String.js. No bug, r=trivial (5f005bf2af)
- minor (2604e4d608)
- Bug 1132630 - Prefix bound function names. r=till (3b30a82402)
- Bug 1246157 - avoid memory leak when bindings->init fails. r=jcoppeard (e1f4513225)
- Bug 1241116: Fix a leak in js_StartPref; r=nbp (8d258dcb05)
- Bug 1238679 - Mark the Bool32x4 functions as inlinable. r=bbouvier (f0ea70894e)
- Bug 992472 - Remove self-hosting macros ARRAY_PUSH and ARRAY_SLICE. r=efaust (60ae1d29a9)
- missing bit of 1040390 (dea7f70cf1)
- Bug 1246136: Check for dead code in assertion in EmitIfElse; r=luke (03d6f690da)
- Bug 1241233 - Odin: don't report symbolicLinks memory usage twice (r=bbouvier) (f2344bc392)
- Bug 1241581 - Put back null filename checks (r=bbouvier) (3c54ac7cf9)
- Bug 1249787 - BaldrMonkey: Fix wasm string hex escape parsing endianness. r=luke (bf3aeb7ddb)
- Bug 1229855: Fix miscompilation of uint8_t enum class with gcc4.8.2; r=luke (a86039958b)
- Bug 1241454: Fix enum class storage of ExprType; r=bustage (9ee3368aed)
- Bug 1248502 - Remove obsolete variants and configure flags, r=terrence (5dbcd14884)
2023-12-12 14:30:02 +08:00

192 lines
6.6 KiB
Plaintext

/* -*- Mode: C++; 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"
interface nsIRequest;
interface nsIFrame;
interface nsIObjectFrame;
interface nsIPluginTag;
interface nsIDOMElement;
interface nsIDOMClientRect;
interface nsIURI;
%{C++
class nsNPAPIPluginInstance;
%}
[ptr] native nsNPAPIPluginInstancePtr(nsNPAPIPluginInstance);
/**
* This interface represents a content node that loads objects.
*
* Please make sure to update the MozObjectLoadingContent WebIDL
* interface to mirror this interface when changing it.
*/
[scriptable, uuid(2eb3195e-3eea-4083-bb1d-d2d70fa35ccb)]
interface nsIObjectLoadingContent : nsISupports
{
/**
* See notes in nsObjectLoadingContent.h
*/
const unsigned long TYPE_LOADING = 0;
const unsigned long TYPE_IMAGE = 1;
const unsigned long TYPE_PLUGIN = 2;
const unsigned long TYPE_DOCUMENT = 3;
const unsigned long TYPE_NULL = 4;
const unsigned long PLUGIN_ACTIVE = 0xFF;
// The content type is not supported (e.g. plugin not installed)
const unsigned long PLUGIN_UNSUPPORTED = 0;
// Showing alternate content
const unsigned long PLUGIN_ALTERNATE = 1;
// The plugin exists, but is disabled
const unsigned long PLUGIN_DISABLED = 2;
// The plugin is blocklisted and disabled
const unsigned long PLUGIN_BLOCKLISTED = 3;
// The plugin is considered outdated, but not disabled
const unsigned long PLUGIN_OUTDATED = 4;
// The plugin has crashed
const unsigned long PLUGIN_CRASHED = 5;
// Suppressed by security policy
const unsigned long PLUGIN_SUPPRESSED = 6;
// Blocked by content policy
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
const unsigned long PLUGIN_CLICK_TO_PLAY = 8;
// The plugin is vulnerable (update available)
const unsigned long PLUGIN_VULNERABLE_UPDATABLE = 9;
// The plugin is vulnerable (no update available)
const unsigned long PLUGIN_VULNERABLE_NO_UPDATE = 10;
/**
* The actual mime type (the one we got back from the network
* request) for the element.
*/
readonly attribute ACString actualType;
/**
* Gets the type of the content that's currently loaded. See
* the constants above for the list of possible values.
*/
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.
*/
unsigned long getContentTypeForMIMEType(in AUTF8String aMimeType);
/**
* Returns the base URI of the object as seen by plugins. This differs from
* the normal codebase in that it takes <param> tags and plugin-specific
* quirks into account.
*/
[noscript] readonly attribute nsIURI baseURI;
/**
* Returns the plugin instance if it has already been instantiated. This
* will never instantiate the plugin and so is safe to call even when
* content script must not execute.
*/
[noscript] readonly attribute nsNPAPIPluginInstancePtr pluginInstance;
/**
* Tells the content about an associated object frame.
* This can be called multiple times for different frames.
*
* This is noscript because this is an internal method that will go away, and
* because nsIObjectFrame is unscriptable.
*/
[noscript] void hasNewFrame(in nsIObjectFrame aFrame);
/**
* If this object is in going to be printed, this method
* returns the nsIObjectFrame object which should be used when
* printing the plugin. The returned nsIFrame is in the original document,
* not in the static clone.
*/
[noscript] nsIFrame getPrintFrame();
/*
* Notifications from pluginhost that our instance crashed or was destroyed.
*/
[noscript] void pluginDestroyed();
[noscript] void pluginCrashed(in nsIPluginTag pluginTag,
in AString pluginDumpID,
in AString browserDumpID,
in boolean submittedCrashReport);
/**
* This method will play a plugin that has been stopped by click-to-play.
*/
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.
*/
void reload(in 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.
*/
readonly attribute boolean activated;
[noscript] void stopPluginInstance();
[noscript] void syncStartPluginInstance();
[noscript] void asyncStartPluginInstance();
/**
* Puts the tag in the "waiting on a channel" state and adopts this
* channel. This does not override the normal logic of examining attributes
* and the channel type, so the load may cancel this channel if it decides not
* to use one.
*
* This assumes:
* - This tag has not begun loading yet
* - This channel has not yet hit OnStartRequest
* - The caller will continue to pass channel events to us as a listener
*/
[noscript] void initializeFromChannel(in nsIRequest request);
/**
* The URL of the data/src loaded in the object. This may be null (i.e.
* an <embed> with no src).
*/
readonly attribute nsIURI srcURI;
/**
* The plugin's current state of fallback content. This property
* only makes sense if the plugin is not activated.
*/
readonly attribute unsigned long pluginFallbackType;
/**
* If this object currently owns a running plugin, regardless of whether or
* not one is pending spawn/despawn.
*/
readonly attribute bool hasRunningPlugin;
/**
* If this plugin runs out-of-process, it has a runID to differentiate
* between different times the plugin process has been instantiated.
*
* This throws NS_ERROR_NOT_IMPLEMENTED for in-process plugins.
*/
readonly attribute unsigned long runID;
};