mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 08:18:41 +09:00
In order to tailor certain security checks to the caller that is attempting to load a particular piece of content, we need to be able to attach an appropriate triggering principal to the corresponding requests. Since most HTML content is loaded based on attribute values, this means capturing the subject principal of the caller who sets those attributes, which in turn means we need to make it available to `AfterSetAttr` hooks on all relevant element types.
88 lines
3 KiB
Text
88 lines
3 KiB
Text
/* -*- 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/.
|
|
*/
|
|
|
|
/*
|
|
* This file declares the AnonymousContent interface which is used to
|
|
* manipulate content that has been inserted into the document's canvasFrame
|
|
* anonymous container.
|
|
* See Document.insertAnonymousContent.
|
|
*
|
|
* This API never returns a reference to the actual inserted DOM node on
|
|
* purpose. This is to make sure the content cannot be randomly changed and the
|
|
* DOM cannot be traversed from the node, so that Gecko can remain in control of
|
|
* the inserted content.
|
|
*/
|
|
|
|
[ChromeOnly]
|
|
interface AnonymousContent {
|
|
/**
|
|
* Get the text content of an element inside this custom anonymous content.
|
|
*/
|
|
[Throws]
|
|
DOMString getTextContentForElement(DOMString elementId);
|
|
|
|
/**
|
|
* Set the text content of an element inside this custom anonymous content.
|
|
*/
|
|
[Throws]
|
|
void setTextContentForElement(DOMString elementId, DOMString text);
|
|
|
|
/**
|
|
* Get the value of an attribute of an element inside this custom anonymous
|
|
* content.
|
|
*/
|
|
[Throws]
|
|
DOMString? getAttributeForElement(DOMString elementId,
|
|
DOMString attributeName);
|
|
|
|
/**
|
|
* Set the value of an attribute of an element inside this custom anonymous
|
|
* content.
|
|
*/
|
|
[NeedsSubjectPrincipal, Throws]
|
|
void setAttributeForElement(DOMString elementId,
|
|
DOMString attributeName,
|
|
DOMString value);
|
|
|
|
/**
|
|
* Remove an attribute from an element inside this custom anonymous content.
|
|
*/
|
|
[Throws]
|
|
void removeAttributeForElement(DOMString elementId,
|
|
DOMString attributeName);
|
|
|
|
/**
|
|
* Get the canvas' context for the element specified if it's a <canvas>
|
|
* node, `null` otherwise.
|
|
*/
|
|
[Throws]
|
|
nsISupports? getCanvasContext(DOMString elementId,
|
|
DOMString contextId);
|
|
|
|
[Func="nsDocument::IsElementAnimateEnabled", Throws]
|
|
Animation setAnimationForElement(DOMString elementId,
|
|
object? keyframes,
|
|
optional UnrestrictedDoubleOrKeyframeAnimationOptions
|
|
options);
|
|
|
|
/**
|
|
* Accepts a list of (possibly overlapping) DOMRects which describe a shape
|
|
* in CSS pixels relative to the element's border box. This shape will be
|
|
* excluded from the element's background color rendering. The element will
|
|
* not render any background images once this method has been called.
|
|
*/
|
|
[Throws]
|
|
void setCutoutRectsForElement(DOMString elementId,
|
|
sequence<DOMRect> rects);
|
|
|
|
/**
|
|
* Get the computed value of a property on an element inside this custom
|
|
* anonymous content.
|
|
*/
|
|
[Throws]
|
|
DOMString? getComputedStylePropertyValue(DOMString elementId,
|
|
DOMString propertyName);
|
|
};
|