gecko-dev/editor/nsIEditorStyleSheets.idl
Emilio Cobos Álvarez 6a2e3606ae Bug 1470361: Remove nsIEditorStyleSheets.addStyleSheet / removeStyleSheet / replaceStyleSheet. r=m_kato
These are effectively equivalent to appending a <link> element to the body, are
not unused, and bring in a fair amount of complexity because even though they're
owned by the document and stored in the document's mStyleSheets, they're not
owned by it per se, which causes confusion.

Unless I've missed something, both bluegriffon and common-central use the
*Override APIs, which this patch leaves untouched.

MozReview-Commit-ID: EOSMOHj3A95
2018-06-25 10:46:38 +02:00

49 lines
2.0 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"
[scriptable, builtinclass, uuid(4805e682-49b9-11d3-9ce4-ed60bd6cb5bc)]
interface nsIEditorStyleSheets : nsISupports
{
/** Load and apply the override style sheet, specified by aURL, to the
* editor's document, replacing the last override style sheet added (if any).
* This is always synchronous, so aURL should be a local file with only
* local @imports. This action is not undoable. It is not intended for
* "user" style sheets, only for editor developers to add sheets to change
* display behavior for editing (like showing special cursors) that will
* not be affected by loading "document" style sheets with addStyleSheet or
* especially replaceStyleSheet.
*
* @param aURL The style sheet to be loaded and applied.
*/
void replaceOverrideStyleSheet(in AString aURL);
/** Load and apply an override style sheet, specified by aURL, to
* the editor's document, on top of any that are already there.
* This is always synchronous, so the same caveats about local files and no
* non-local @import as replaceOverrideStyleSheet apply here, too.
*
* @param aURL The style sheet to be loaded and applied.
*/
void addOverrideStyleSheet(in AString aURL);
/** Remove the given override style sheet from the editor's document
* This is always synchronous
*
* @param aURL The style sheet to be removed.
*/
void removeOverrideStyleSheet(in AString aURL);
/** Enable or disable the given style sheet from the editor's document
* This is always synchronous
*
* @param aURL The style sheet to be enabled or disabled
* @param aEnable true to enable, or false to disable the style sheet
*/
void enableStyleSheet(in AString aURL, in boolean aEnable);
};