Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/netwerk/dns/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  nsIIDNService.idl   Sprache: unbekannt

 
/* 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"

/**
 * IDN (Internationalized Domain Name) support. Provides facilities
 * for manipulating IDN hostnames according to UTS #46 as parametrized
 * by the WHATWG URL Standard.
 *
 * UTS #46: https://www.unicode.org/reports/tr46/
 *
 * URL Standard: https://url.spec.whatwg.org/
 */

[scriptable, uuid(a592a60e-3621-4f19-a318-2bf233cfad3e)]
interface nsIIDNService : nsISupports
{
    /**
     * The UTS #46 ToASCII operation as parametrized by the WHATWG URL Standard
     *
     * Use this function to prepare a host name for network protocols.
     *
     * Do not try to optimize and avoid calling this function if you already
     * have ASCII. This function optimizes internally, and calling it is
     * required for correctness!
     *
     * The function is available to C++ callers as `NS_DomainToASCII`.
     *
     * Rust callers that don't happen to be using XPCOM strings are better
     * off using the `idna` crate directly.
     */
    ACString domainToASCII(in AUTF8String input);

    /**
     * Legacy variant of `domainToASCII` that allows allows any ASCII character that has a glyph.
     *
     * The function is available to C++ callers as `NS_DomainToASCIIAllowAnyGlyphfulASCII`.
     */
    ACString convertUTF8toACE(in AUTF8String input);

    /**
     * The UTS #46 ToUnicode operation as parametrized by the WHATWG URL Standard,
     * except potentially misleading labels are treated according to ToASCII instead.
     *
     * Use this function to prepare a host name for display to the user.
     *
     * The function is available to C++ callers as `NS_DomainToDisplay`.
     *
     * Rust callers that don't happen to be using XPCOM strings are better
     * off using the `idna` crate directly. (See `idna_glue` for what policy
     * closure to use.)
     */
    AUTF8String domainToDisplay(in AUTF8String input);

    /**
     * Legacy variant of `domainToDisplay` that allows allows any ASCII character that has a glyph.
     *
     * The function is available to C++ callers as `NS_DomainToDisplayAllowAnyGlyphfulASCII`.
     */
    AUTF8String convertToDisplayIDN(in AUTF8String input);

    /**
     * The UTS #46 ToUnicode operation as parametrized by the WHATWG URL Standard,
     * except allows any ASCII character that has a glyph.
     *
     * It's most likely INCORRECT to call this function, and `domainToDisplay`
     * should typically be called instead. Please avoid adding new callers, so
     * that this conversion could be removed entirely!
     *
     * There is no `domainToUnicode` to discourage new callers.
     *
     * The function is available to C++ callers as `NS_DomainToUnicodeAllowAnyGlyphfulASCII`.
     *
     * Rust callers that don't happen to be using XPCOM strings are better
     * off using the `idna` crate directly.
     */
    AUTF8String convertACEtoUTF8(in ACString input);
};

[ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet)  ]