// 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": "contentSettings",
"description": "The contentSettings API.",
"types": [
{
"id": "ResourceIdentifier",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The resource identifier for the given content type."
},
"description": {
"type": "string",
"optional": true,
"description": "A human readable description of the resource."
}
},
"description": "The only content type using resource identifiers is plugins. For more information, see Resource Identifiers."
},
{
"id": "ContentSetting",
"type": "object",
"functions": [
{
"name": "clear",
"type": "function",
"description": "Clear all content setting rules set by this extension.",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": ["regular", "incognito_session_only"],
"optional": true,
"description": "Where to set the setting (default: regular). One of
regular: setting for regular profile (which is inherited by the incognito profile if not overridden elsewhere),
incognito_session_only: setting for incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular settings)."
}
}
},
{
"type": "function",
"name": "callback",
"optional": true,
"parameters": []
}
]
},
{
"name": "get",
"type": "function",
"description": "Gets the current content setting for a given pair of URLs.",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"primaryUrl": {
"type": "string",
"description": "The primary URL for which the content setting should be retrieved. Note that the meaning of a primary URL depends on the content type."
},
"secondaryUrl": {
"type": "string",
"description": "The secondary URL for which the content setting should be retrieved. Defaults to the primary URL. Note that the meaning of a secondary URL depends on the content type, and not all content types use secondary URLs.",
"optional": true
},
"resourceIdentifier": {
"$ref": "ResourceIdentifier",
"optional": true,
"description": "A more specific identifier of the type of content for which the settings should be retrieved."
},
"incognito": {
"type": "boolean",
"optional": true,
"description": "Whether to check the content settings for an incognito session. (default false)"
}
}
},
{
"type": "function",
"name": "callback",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"setting": {
"type": "any",
"description": "The content setting. See the description of the individual ContentSetting objects for the possible values."
}
}
}
]
}
]
},
{
"name": "set",
"type": "function",
"description": "Applies a new content setting rule.",
"parameters": [
{
"name": "details",
"type": "object",
"properties": {
"primaryPattern": {
"type": "string",
"description": "The pattern for the primary URL. For details on the format of a pattern, see Content Setting Patterns."
},
"secondaryPattern": {
"type": "string",
"description": "The pattern for the secondary URL. Defaults to matching all URLs. For details on the format of a pattern, see Content Setting Patterns.",
"optional": true
},
"resourceIdentifier": {
"$ref": "ResourceIdentifier",
"optional": true,
"description": "The resource identifier for the content type."
},
"setting": {
"type": "any",
"description": "The setting applied by this rule. See the description of the individual ContentSetting objects for the possible values."
},
"scope": {
"type": "string",
"enum": ["regular", "incognito_session_only"],
"optional": true,
"description": "Where to clear the setting (default: regular). One of
regular: setting for regular profile (which is inherited by the incognito profile if not overridden elsewhere),
incognito_session_only: setting for incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular settings)."
}
}
},
{
"type": "function",
"name": "callback",
"optional": true,
"parameters": []
}
]
},
{
"name": "getResourceIdentifiers",
"type": "function",
"description": "",
"parameters": [
{
"name": "callback",
"type": "function",
"parameters": [
{
"name": "resourceIdentifiers",
"type": "array",
"description": "A list of resource identifiers for this content type, or undefined if this content type does not use resource identifiers.",
"optional": true,
"items": {
"$ref": "ResourceIdentifier"
}
}
]
}
]
}
]
}
],
"properties": {
"cookies": {
"$ref": "ContentSetting",
"description": "Whether to allow cookies and other local data to be set by websites. One of
allow: Accept cookies,
block: Block cookies,
session_only: Accept cookies only for the current session.
Default is allow.
The primary URL is the URL representing the cookie origin. The secondary URL is the URL of the top-level frame.",
"value": [
"cookies",
{"type":"string", "enum": ["allow", "block", "session_only"]}
]
},
"images": {
"$ref": "ContentSetting",
"description": "Whether to show images. One of
allow: Show images,
block: Don't show images.
Default is allow.
The primary URL is the main-frame URL. The secondary URL is the URL of the image.",
"value": [
"images",
{"type":"string", "enum": ["allow", "block"]}
]
},
"javascript": {
"$ref": "ContentSetting",
"description": "Whether to run JavaScript. One of
allow: Run JavaScript,
block: Don't run JavaScript.
Default is allow.
The primary URL is the main-frame URL. The secondary URL is not used.",
"value": [
"javascript",
{"type":"string", "enum": ["allow", "block"]}
]
},
"plugins": {
"$ref": "ContentSetting",
"description": "Whether to run plug-ins. One of
allow: Run plug-ins automatically,
block: Don't run plug-ins automatically.
Default is allow.
The primary URL is the main-frame URL. The secondary URL is not used.",
"value": [
"plugins",
{"type":"string", "enum": ["allow", "block"]}
]
},
"popups": {
"$ref": "ContentSetting",
"description": "Whether to allow sites to show pop-ups. One of
allow: Allow sites to show pop-ups,
block: Don't allow sites to show pop-ups.
Default is block.
The primary URL is the main-frame URL. The secondary URL is not used.",
"value": [
"popups",
{"type":"string", "enum": ["allow", "block"]}
]
},
"notifications": {
"$ref": "ContentSetting",
"description": "Whether to allow sites to show desktop notifications. One of
allow: Allow sites to show desktop notifications,
block: Don't allow sites to show desktop notifications,
ask: Ask when a site wants to show desktop notifications.
Default is ask.
The primary URL is the main-frame URL. The secondary URL is not used.",
"value": [
"notifications",
{"type":"string", "enum": ["allow", "block", "ask"]}
]
}
}
}
]