// 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": "Use the chrome.contentSettings API to change settings that control whether websites can use features such as cookies, JavaScript, and plug-ins. More generally speaking, content settings allow you to customize Chrome's behavior on a per-site basis instead of globally.", "compiler_options": { "generate_type_functions": true }, "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 $ref:contentSettings.plugins. For more information, see Resource Identifiers." }, { "id": "ContentSetting", "js_module": "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 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": "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 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": "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"]} ] } } } ]