| // 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." |
| } |
| } |
| } |
| ] |
| } |
| ] |
| } |
| ] |