Source code

Revision control

Other Tools

/* 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 */
// Note: This is a variant of WebIDL, but its semantics differ from our
// internal WebIDL implementation. Some particular differences that are
// relevent here include:
// - Attribute declarations refer directly to member variables of the
// underlying class, and are not forwarded to explicit getter methods.
// - Attribute declarations also do not create getters on the JavaScript
// wrapper object, but instead generate "get_foo()" and "set_foo()"
// methods, which must be called in order to access the value. In the case
// of array attributes, the callers must also pass the index they wish to
// access.
// - Method overloading is fairly crude. Only explicitly declared variants
// are supported, and selection is based entirely on index of the first
// parameter whose value is undefined.
// - DOMString attributes are nullable by default. Null values are not
// converted to empty strings, and non-null values are converted to
// null-terminated, UTF-8 byte arrays.
interface Language {
[Const] DOMString getLanguageCode();
interface LanguageGuess {
byte getPercent();
interface LanguageInfo {
static LanguageInfo detectLanguage(DOMString buffer, boolean isPlainText);
static LanguageInfo detectLanguage(DOMString buffer, boolean isPlainText,
DOMString? tldHint, long encodingHint,
DOMString? languageHint);
boolean getIsReliable();
[BoundsChecked,Const] readonly attribute LanguageGuess[] languages;
LanguageGuess implements Language;
LanguageInfo implements Language;