tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

TextEncoder.webidl (1592B)


      1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
      4 * You can obtain one at http://mozilla.org/MPL/2.0/.
      5 *
      6 * The origin of this IDL file is
      7 * http://encoding.spec.whatwg.org/#interface-textencoder
      8 */
      9 
     10 interface mixin TextEncoderCommon {
     11  /*
     12   * This is DOMString in the spec, but the value is always ASCII
     13   * and short. By declaring this as ByteString, we get the same
     14   * end result (storage as inline Latin1 string in SpiderMonkey)
     15   * with fewer conversions.
     16   */
     17  [Constant]
     18  readonly attribute ByteString encoding;
     19 };
     20 
     21 dictionary TextEncoderEncodeIntoResult {
     22  unsigned long long read;
     23  unsigned long long written;
     24 };
     25 
     26 [Exposed=(Window,Worker)]
     27 interface TextEncoder {
     28  constructor();
     29 
     30  /*
     31   * This is spec-wise USVString but marking it as UTF8String as an
     32   * optimization. (The SpiderMonkey-provided conversion to UTF-8 takes care of
     33   * replacing lone surrogates with the REPLACEMENT CHARACTER, so the
     34   * observable behavior of USVString is matched.)
     35   */
     36  [NewObject, Throws]
     37  Uint8Array encode(optional UTF8String input = "");
     38 
     39  /*
     40   * The same comment about UTF8String as above applies here with JSString.
     41   *
     42   * We use JSString because we don't want to encode the full string, just as
     43   * much as the capacity of the Uint8Array.
     44   */
     45  [CanOOM]
     46  TextEncoderEncodeIntoResult encodeInto(JSString source, Uint8Array destination);
     47 };
     48 TextEncoder includes TextEncoderCommon;