mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 13:58:49 +00:00
d388e478a0
Vim control lines were re-introduced or not entirely cleaned up. This nukes them again. Removing from the rest of js, caps, chrome, config, devtools, docshell, image, intl. More to come.
67 lines
3.1 KiB
Plaintext
67 lines
3.1 KiB
Plaintext
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* 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, uuid(249f52a3-2599-4b00-ba40-0481364831a2)]
|
|
interface nsIUTF8ConverterService : nsISupports
|
|
{
|
|
/**
|
|
* Ensure that |aString| is encoded in UTF-8. If not,
|
|
* convert to UTF-8 assuming it's encoded in |aCharset|
|
|
* and return the converted string in UTF-8.
|
|
*
|
|
* @param aString a string to ensure its UTF8ness
|
|
* @param aCharset the charset to convert from if |aString| is not in UTF-8
|
|
* @param aSkipCheck determines whether or not to skip 'ASCIIness' and
|
|
* 'UTF8ness' check. Set this to PR_TRUE only if you suspect that
|
|
* aString can be mistaken for ASCII / UTF-8 but is actually NOT
|
|
* in ASCII / UTF-8 so that aString has to go through the conversion.
|
|
* skipping ASCIIness/UTF8ness check.
|
|
* The most common case is the input is in 7bit non-ASCII charsets
|
|
* like ISO-2022-JP, HZ or UTF-7 (in its original form or
|
|
* a modified form used in IMAP folder names).
|
|
* @param aAllowSubstitution when true, allow the decoder to substitute
|
|
* invalid input sequences by replacement characters (defaults to
|
|
* true)
|
|
* @return the converted string in UTF-8.
|
|
* @throws NS_ERROR_UCONV_NOCONV when there is no decoder for aCharset
|
|
* or error code of nsIUnicodeDecoder in case of conversion failure
|
|
*/
|
|
|
|
[optional_argc]
|
|
AUTF8String convertStringToUTF8(in ACString aString,
|
|
in string aCharset,
|
|
in boolean aSkipCheck,
|
|
[optional] in boolean aAllowSubstitution);
|
|
|
|
/* XXX : To-be-added. convertStringFromUTF8 */
|
|
|
|
/**
|
|
* Ensure that |aSpec| (after URL-unescaping it) is encoded in UTF-8.
|
|
* If not, convert it to UTF-8, assuming it's encoded in |aCharset|,
|
|
* and return the result.
|
|
*
|
|
* <p>Make sure that all characters outside US-ASCII in your input spec
|
|
* are url-escaped if your spec is not in UTF-8 (before url-escaping)
|
|
* because the presence of non-ASCII characters is <strong>blindly</strong>
|
|
* regarded as an indication that your input spec is in unescaped UTF-8
|
|
* and it will be returned without further processing. No valid spec
|
|
* going around in Mozilla code would break this assumption.
|
|
*
|
|
* <p>XXX The above may change in the future depending on the usage pattern.
|
|
*
|
|
* @param aSpec an url-escaped URI spec to ensure its UTF8ness
|
|
* @param aCharset the charset to convert from if |aSpec| is not in UTF-8
|
|
* @return the converted spec in UTF-8.
|
|
* @throws NS_ERROR_UCONV_NOCONV when there is no decoder for aCharset
|
|
* or error code of nsIUnicodeDecoder in case of conversion failure
|
|
*/
|
|
|
|
AUTF8String convertURISpecToUTF8(in ACString aSpec,
|
|
in string aCharset);
|
|
};
|
|
|