// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

[
  {
    "namespace": "fontSettings",
    "description": "Use the <code>chrome.fontSettings</code> API to manage Chrome's font settings.",
    "documentation_permissions_required": ["fontSettings"],
    "types": [
      {
        "id": "FontName",
        "type": "object",
        "description": "Represents a font name.",
        "properties": {
          "fontId": {
            "type": "string",
            "description": "The font ID."
          },
          "displayName": {
            "type": "string",
            "description": "The display name of the font."
          }
        }
      },
      {
        "id": "ScriptCode",
        "type": "string",
        "enum": [ "Afak", "Arab", "Armi", "Armn", "Avst", "Bali", "Bamu", "Bass", "Batk",
                  "Beng", "Blis", "Bopo", "Brah", "Brai", "Bugi", "Buhd", "Cakm", "Cans",
                  "Cari", "Cham", "Cher", "Cirt", "Copt", "Cprt", "Cyrl", "Cyrs", "Deva",
                  "Dsrt", "Dupl", "Egyd", "Egyh", "Egyp", "Elba", "Ethi", "Geor", "Geok",
                  "Glag", "Goth", "Gran", "Grek", "Gujr", "Guru", "Hang", "Hani", "Hano",
                  "Hans", "Hant", "Hebr", "Hluw", "Hmng", "Hung", "Inds", "Ital", "Java",
                  "Jpan", "Jurc", "Kali", "Khar", "Khmr", "Khoj", "Knda", "Kpel", "Kthi",
                  "Lana", "Laoo", "Latf", "Latg", "Latn", "Lepc", "Limb", "Lina", "Linb",
                  "Lisu", "Loma", "Lyci", "Lydi", "Mand", "Mani", "Maya", "Mend", "Merc",
                  "Mero", "Mlym", "Moon", "Mong", "Mroo", "Mtei", "Mymr", "Narb", "Nbat",
                  "Nkgb", "Nkoo", "Nshu", "Ogam", "Olck", "Orkh", "Orya", "Osma", "Palm",
                  "Perm", "Phag", "Phli", "Phlp", "Phlv", "Phnx", "Plrd", "Prti", "Rjng",
                  "Roro", "Runr", "Samr", "Sara", "Sarb", "Saur", "Sgnw", "Shaw", "Shrd",
                  "Sind", "Sinh", "Sora", "Sund", "Sylo", "Syrc", "Syre", "Syrj", "Syrn",
                  "Tagb", "Takr", "Tale", "Talu", "Taml", "Tang", "Tavt", "Telu", "Teng",
                  "Tfng", "Tglg", "Thaa", "Thai", "Tibt", "Tirh", "Ugar", "Vaii", "Visp",
                  "Wara", "Wole", "Xpeo", "Xsux", "Yiii", "Zmth", "Zsym", "Zyyy" ],
        "description": "An ISO 15924 script code. The default, or global, script is represented by script code \"Zyyy\"."
      },
      {
        "id": "GenericFamily",
        "type": "string",
        "enum": ["standard", "sansserif", "serif", "fixed", "cursive", "fantasy"],
        "description": "A CSS generic font family."
      },
      {
        "id": "LevelOfControl",
        "description": "One of<br><var>not_controllable</var>: cannot be controlled by any extension<br><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence<br><var>controllable_by_this_extension</var>: can be controlled by this extension<br><var>controlled_by_this_extension</var>: controlled by this extension",
        "type": "string",
        "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"]
      }
    ],
    "functions": [
      {
        "name": "clearFont",
        "description": "Clears the font set by this extension, if any.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "script": {
                "$ref": "ScriptCode",
                "description": "The script for which the font should be cleared. If omitted, the global script font setting is cleared.",
                "optional": true
              },
              "genericFamily": {
                "$ref": "GenericFamily",
                "description": "The generic font family for which the font should be cleared."
              }
            }
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "getFont",
        "description": "Gets the font for a given script and generic font family.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "script": {
                "$ref": "ScriptCode",
                "description": "The script for which the font should be retrieved. If omitted, the font setting for the global script (script code \"Zyyy\") is retrieved.",
                "optional": true
              },
              "genericFamily": {
                "$ref": "GenericFamily",
                "description": "The generic font family for which the font should be retrieved."
              }
            }
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": [
              {
                "name": "details",
                "type": "object",
                "properties": {
                  "fontId": {
                    "type": "string",
                    "description": "The font ID. Rather than the literal font ID preference value, this may be the ID of the font that the system resolves the preference value to. So, <var>fontId</var> can differ from the font passed to <code>setFont</code>, if, for example, the font is not available on the system. The empty string signifies fallback to the global script font setting."
                  },
                  "levelOfControl": {
                    "$ref": "LevelOfControl",
                    "description": "The level of control this extension has over the setting."
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "setFont",
        "description": "Sets the font for a given script and generic font family.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "script": {
                "$ref": "ScriptCode",
                "description": "The script code which the font should be set. If omitted, the font setting for the global script (script code \"Zyyy\") is set.",
                "optional": true
              },
              "genericFamily": {
                "$ref": "GenericFamily",
                "description": "The generic font family for which the font should be set."
              },
              "fontId": {
                "type": "string",
                "description": "The font ID. The empty string means to fallback to the global script font setting."
              }
            }
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "getFontList",
        "description": "Gets a list of fonts on the system.",
        "parameters": [
          {
            "type": "function",
            "name": "callback",
            "parameters": [
              {
                "name": "results",
                "type": "array",
                "items": { "$ref": "FontName" }
              }
            ]
          }
        ]
      },
      {
        "name": "clearDefaultFontSize",
        "description": "Clears the default font size set by this extension, if any.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "optional": true,
            "description": "This parameter is currently unused.",
            "properties": {}
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "getDefaultFontSize",
        "description": "Gets the default font size.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "optional": true,
            "description": "This parameter is currently unused.",
            "properties": {}
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "parameters": [
              {
                "name": "details",
                "type": "object",
                "properties": {
                  "pixelSize": {
                    "type": "integer",
                    "description": "The font size in pixels."
                  },
                  "levelOfControl": {
                    "$ref": "LevelOfControl",
                    "description": "The level of control this extension has over the setting."
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "setDefaultFontSize",
        "description": "Sets the default font size.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "pixelSize": {
                "type": "integer",
                "description": "The font size in pixels."
              }
            }
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "clearDefaultFixedFontSize",
        "description": "Clears the default fixed font size set by this extension, if any.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "optional": true,
            "description": "This parameter is currently unused.",
            "properties": {}
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "getDefaultFixedFontSize",
        "description": "Gets the default size for fixed width fonts.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "optional": true,
            "description": "This parameter is currently unused.",
            "properties": {}
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "parameters": [
              {
                "name": "details",
                "type": "object",
                "properties": {
                  "pixelSize": {
                    "type": "integer",
                    "description": "The font size in pixels."
                  },
                  "levelOfControl": {
                    "$ref": "LevelOfControl",
                    "description": "The level of control this extension has over the setting."
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "setDefaultFixedFontSize",
        "description": "Sets the default size for fixed width fonts.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "pixelSize": {
                "type": "integer",
                "description": "The font size in pixels."
              }
            }
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "clearMinimumFontSize",
        "description": "Clears the minimum font size set by this extension, if any.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "optional": true,
            "description": "This parameter is currently unused.",
            "properties": {}
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      },
      {
        "name": "getMinimumFontSize",
        "description": "Gets the minimum font size.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "optional": true,
            "description": "This parameter is currently unused.",
            "properties": {}
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "parameters": [
              {
                "name": "details",
                "type": "object",
                "properties": {
                  "pixelSize": {
                    "type": "integer",
                    "description": "The font size in pixels."
                  },
                  "levelOfControl": {
                    "$ref": "LevelOfControl",
                    "description": "The level of control this extension has over the setting."
                  }
                }
              }
            ]
          }
        ]
      },
      {
        "name": "setMinimumFontSize",
        "description": "Sets the minimum font size.",
        "parameters": [
          {
            "name": "details",
            "type": "object",
            "properties": {
              "pixelSize": {
                "type": "integer",
                "description": "The font size in pixels."
              }
            }
          },
          {
            "type": "function",
            "name": "callback",
            "optional": true,
            "parameters": []
          }
        ]
      }
    ],
    "events": [
      {
        "name": "onFontChanged",
        "description": "Fired when a font setting changes.",
        "parameters": [
          {
            "type": "object",
            "name": "details",
            "properties": {
              "fontId": {
                "type": "string",
                "description": "The font ID. See the description in <code>getFont</code>."
              },
              "script": {
                "$ref": "ScriptCode",
                "description": "The script code for which the font setting has changed.",
                "optional": true
              },
              "genericFamily": {
                "$ref": "GenericFamily",
                "description": "The generic font family for which the font setting has changed."
              },
              "levelOfControl": {
                "$ref": "LevelOfControl",
                "description": "The level of control this extension has over the setting."
              }
            }
          }
        ]
      },
      {
        "name": "onDefaultFontSizeChanged",
        "description": "Fired when the default font size setting changes.",
        "parameters": [
          {
            "type": "object",
            "name": "details",
            "properties": {
              "pixelSize": {
                "type": "integer",
                "description": "The font size in pixels."
              },
              "levelOfControl": {
                "$ref": "LevelOfControl",
                "description": "The level of control this extension has over the setting."
              }
            }
          }
        ]
      },
      {
        "name": "onDefaultFixedFontSizeChanged",
        "description": "Fired when the default fixed font size setting changes.",
        "parameters": [
          {
            "type": "object",
            "name": "details",
            "properties": {
              "pixelSize": {
                "type": "integer",
                "description": "The font size in pixels."
              },
              "levelOfControl": {
                "$ref": "LevelOfControl",
                "description": "The level of control this extension has over the setting."
              }
            }
          }
        ]
      },
      {
        "name": "onMinimumFontSizeChanged",
        "description": "Fired when the minimum font size setting changes.",
        "parameters": [
          {
            "type": "object",
            "name": "details",
            "properties": {
              "pixelSize": {
                "type": "integer",
                "description": "The font size in pixels."
              },
              "levelOfControl": {
                "$ref": "LevelOfControl",
                "description": "The level of control this extension has over the setting."
              }
            }
          }
        ]
      }
    ]
  }
]
