blob: 65d4f861b5ac5e3f2b688f0d47f1354340aec6ac [file] [log] [blame]
<!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note:
1) The <head> information in this page is significant, should be uniform
across api docs and should be edited only with knowledge of the
templating mechanism.
3) All <body>.innerHTML is genereated as an rendering step. If viewed in a
browser, it will be re-generated from the template, json schema and
authored overview content.
4) The <body>.innerHTML is also generated by an offline step so that this
page may easily be indexed by search engines.
--><html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css">
<link href="css/print.css" rel="stylesheet" type="text/css" media="print">
<script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled.js">
</script>
<script type="text/javascript" src="../../../../third_party/json_minify/minify-sans-regexp.js">
</script>
<script type="text/javascript" src="js/api_page_generator.js"></script>
<script type="text/javascript" src="js/bootstrap.js"></script>
<script type="text/javascript" src="js/sidebar.js"></script>
<meta name="description" content="Documentation for the chrome.contentSettings module, which is part of the Google Chrome extension APIs."><title>Content Settings - Google Chrome Extensions - Google Code</title></head>
<body> <div id="devModeWarning" class="displayModeWarning">
You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files.
</div>
<div id="branchWarning" class="displayModeWarning">
<span>WARNING: This is the <span id="branchName">BETA</span> documentation.
It may not work with the stable release of Chrome.</span>
<select id="branchChooser">
<option>Choose a different version...
</option><option value="">Stable
</option><option value="beta">Beta
</option><option value="dev">Dev
</option><option value="trunk">Trunk
</option></select>
</div>
<div id="unofficialWarning" class="displayModeWarning">
<span>WARNING: This is unofficial documentation. It may not work with the
current release of Chrome.</span>
<button id="goToOfficialDocs">Go to the official docs</button>
</div>
<div id="gc-container" class="labs">
<!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION -->
<!-- In particular, sub-templates that recurse, must be used by allowing
jstemplate to make a copy of the template in this section which
are not operated on by way of the jsskip="true" -->
<!-- /SUBTEMPLATES -->
<a id="top"></a>
<div id="skipto">
<a href="#gc-pagecontent">Skip to page content</a>
<a href="#gc-toc">Skip to main navigation</a>
</div>
<!-- API HEADER -->
<table id="header" width="100%" cellspacing="0" border="0">
<tbody><tr>
<td valign="middle"><a href="http://code.google.com/"><img src="images/code_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border:0; margin:0;"></a></td>
<td valign="middle" width="100%" style="padding-left:0.6em;">
<form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em">
<div id="gsc-search-box">
<input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" value="" size="55">
<input class="gsc-search-button" type="submit" name="sa" value="Search">
<br>
<span class="greytext">e.g. "page action" or "tabs"</span>
</div>
</form>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
<script type="text/javascript" src="https://www.google.com/coop/cse/t13n?form=cse&amp;t13n_langs=en"></script>
<script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse&amp;lang=en"></script>
</td>
</tr>
</tbody></table>
<div id="codesiteContent" class="">
<a id="gc-topnav-anchor"></a>
<div id="gc-topnav">
<h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1>
<ul id="home" class="gc-topnav-tabs">
<li id="home_link">
<a href="index.html" title="Google Chrome Extensions home page">Home</a>
</li>
<li id="docs_link">
<a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a>
</li>
<li id="faq_link">
<a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a>
</li>
<li id="samples_link">
<a href="samples.html" title="Sample extensions (with source code)">Samples</a>
</li>
<li id="group_link">
<a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a>
</li>
<li id="so_link">
<a href="http://stackoverflow.com/questions/tagged/google-chrome-extension" title="[google-chrome-extension] tag on Stack Overflow">Questions?</a>
</li>
</ul>
</div> <!-- end gc-topnav -->
<div class="g-section g-tpl-170">
<!-- SIDENAV -->
<div class="g-unit g-first" id="gc-toc">
<ul>
<li><a href="getstarted.html">Getting Started</a></li>
<li><a href="overview.html">Overview</a></li>
<li><a href="whats_new.html">What's New?</a></li>
<li><h2><a href="devguide.html">Developer's Guide</a></h2>
<ul>
<li>Browser UI
<ul>
<li><a href="browserAction.html">Browser Actions</a></li>
<li><a href="contextMenus.html">Context Menus</a></li>
<li><a href="notifications.html">Desktop Notifications</a></li>
<li><a href="omnibox.html">Omnibox</a></li>
<li><a href="options.html">Options Pages</a></li>
<li><a href="override.html">Override Pages</a></li>
<li><a href="pageAction.html">Page Actions</a></li>
</ul>
</li>
<li>Browser Interaction
<ul>
<li><a href="bookmarks.html">Bookmarks</a></li>
<li><a href="cookies.html">Cookies</a></li>
<li><a href="devtools.html">Developer Tools</a></li>
<li><a href="events.html">Events</a></li>
<li><a href="history.html">History</a></li>
<li><a href="management.html">Management</a></li>
<li><a href="tabs.html">Tabs</a></li>
<li><a href="windows.html">Windows</a></li>
</ul>
</li>
<li>Implementation
<ul>
<li><a href="a11y.html">Accessibility</a></li>
<li><a href="background_pages.html">Background Pages</a></li>
<li><a href="content_scripts.html">Content Scripts</a></li>
<li><a href="xhr.html">Cross-Origin XHR</a></li>
<li><a href="i18n.html">Internationalization</a></li>
<li><a href="messaging.html">Message Passing</a></li>
<li><a href="permissions.html">Optional Permissions</a></li>
<li><a href="npapi.html">NPAPI Plugins</a></li>
</ul>
</li>
<li>Finishing
<ul>
<li><a href="hosting.html">Hosting</a></li>
<li><a href="external_extensions.html">Other Deployment Options</a></li>
</ul>
</li>
</ul>
</li>
<li><h2><a href="apps.html">Packaged Apps</a></h2></li>
<li><h2><a href="tutorials.html">Tutorials</a></h2>
<ul>
<li><a href="tut_debugging.html">Debugging</a></li>
<li><a href="tut_analytics.html">Google Analytics</a></li>
<li><a href="tut_oauth.html">OAuth</a></li>
</ul>
</li>
<li><h2>Reference</h2>
<ul>
<li>Formats
<ul>
<li><a href="manifest.html">Manifest Files</a></li>
<li><a href="match_patterns.html">Match Patterns</a></li>
</ul>
</li>
<li><a href="permission_warnings.html">Permission Warnings</a></li>
<li><a href="api_index.html">chrome.* APIs</a></li>
<li><a href="api_other.html">Other APIs</a></li>
</ul>
</li>
<li><h2><a href="samples.html">Samples</a></h2></li>
<div class="line"> </div>
<li><h2>More</h2>
<ul>
<li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li>
<li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li>
<li><a href="themes.html">Themes</a></li>
</ul>
</li>
</ul>
</div>
<script>
initToggles();
</script>
<div class="g-unit" id="gc-pagecontent">
<div id="pageTitle">
<h1 class="page_title">Content Settings</h1>
</div>
<!-- TABLE OF CONTENTS -->
<div id="toc">
<h2>Contents</h2>
<ol>
<li>
<a href="#manifest">Manifest</a>
<ol>
</ol>
</li><li>
<a href="#patterns">Content setting patterns</a>
<ol>
<li>
<a href="#pattern-precedence">Pattern precedence</a>
</li>
</ol>
</li><li>
<a href="#primary-secondary">Primary and secondary patterns</a>
<ol>
</ol>
</li><li>
<a href="#resource-identifiers">Resource identifiers</a>
<ol>
</ol>
</li><li>
<a href="#examples">Examples</a>
<ol>
</ol>
</li>
<li>
<a href="#apiReference">API reference: chrome.contentSettings</a>
<ol>
<li>
<a href="#properties">Properties</a>
<ol>
<li>
<a href="#property-cookies">cookies</a>
</li><li>
<a href="#property-images">images</a>
</li><li>
<a href="#property-javascript">javascript</a>
</li><li>
<a href="#property-plugins">plugins</a>
</li><li>
<a href="#property-popups">popups</a>
</li><li>
<a href="#property-notifications">notifications</a>
</li>
</ol>
</li>
<li>
<a href="#types">Types</a>
<ol>
<li>
<a href="#type-ResourceIdentifier">ResourceIdentifier</a>
<ol>
</ol>
</li><li>
<a href="#type-ContentSetting">ContentSetting</a>
<ol>
<li>
<a href="#global-ContentSetting-methods">Methods</a>
<ol>
<li>
<a href="#method-ContentSetting-clear">clear</a>
</li><li>
<a href="#method-ContentSetting-get">get</a>
</li><li>
<a href="#method-ContentSetting-getResourceIdentifiers">getResourceIdentifiers</a>
</li><li>
<a href="#method-ContentSetting-set">set</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</div>
<!-- /TABLE OF CONTENTS -->
<!-- Standard content lead-in for experimental API pages -->
<!-- STATIC CONTENT PLACEHOLDER -->
<div id="static"><div id="pageData-name" class="pageData">Content Settings</div>
<!-- BEGIN AUTHORED CONTENT -->
<p>
The content settings module allows you 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.</p>
<p>
</p>
<h2 id="manifest">Manifest</h2>
<p>You must declare the "contentSettings" permission
in your extension's manifest to use the API.
For example:</p>
<pre>{
"name": "My extension",
...
<b>"permissions": [
"contentSettings"
]</b>,
...
}</pre>
<h2 id="patterns">Content setting patterns</h2>
<p>
You can use patterns to specify the websites that each content setting affects.
For example, <code>http://*.youtube.com/*</code> specifies youtube.com and all
of its subdomains. The syntax for content setting patterns is the same as for
<a href="match_patterns.html">match patterns</a>, with a few differences:
</p><ul><li>For <code>http</code>,
<code>https</code>, and <code>ftp</code> URLs, the path must be a wildcard
(<code>/*</code>). For <code>file</code> URLs, the path must be completely
specified and <strong>must not</strong> contain wildcards.</li>
<li>In contrast to match patterns, content setting patterns can specify a port
number. If a port number is specified, the pattern only matches websites with
that port. If no port number is specified, the pattern matches all ports.
</li>
</ul>
<p></p>
<h3 id="pattern-precedence">Pattern precedence</h3>
<p>
When more than one content setting rule applies for a given site, the rule with
the more specific pattern takes precedence.
</p>
<p>For example, the following patterns are ordered by precedence:</p>
<ol>
<li><code>http://www.example.com/*</code></li>
<li><code>http://*.example.com/*</code> (matching
example.com and all subdomains)</li>
<li><code>&lt;all_urls&gt;</code> (matching every URL)</li>
</ol>
<p>
Three kinds of wildcards affect how specific a pattern is:
</p>
<ul>
<li>Wildcards in the port (for example
<code>http://www.example.com:*/*</code>)</li>
<li>Wildcards in the scheme (for example
<code>*://www.example.com:123/*</code>)</li>
<li>Wildcards in the hostname (for example
<code>http://*.example.com:123/*</code>)</li>
</ul>
<p>
If a pattern is more specific than another pattern in one part but less specific
in another part, the different parts are checked in the following order:
hostname, scheme, port. For example, the following patterns are ordered by
precedence:</p>
<ol>
<li><code>http://www.example.com:*/*</code><br>
Specifies the hostname and scheme.</li>
<li><code>*:/www.example.com:123/*</code><br>
Not as high, because although it specifies the hostname, it doesn't specify
the scheme.</li>
<li><code>http://*.example.com:123/*</code><br>
Lower because although it specifies the port and scheme, it has a wildcard
in the hostname.</li>
</ol>
<h2 id="primary-secondary">Primary and secondary patterns</h2>
<p>
The URL taken into account when deciding which content setting to apply depends
on the content type. For example, for
<a href="#property-notifications">notifications</a> settings are
based on the URL shown in the omnibox. This URL is called the "primary" URL.</p>
<p>
Some content types can take additional URLs into account. For example,
whether a site is allowed to set a
<a href="#property-cookies">cookie</a> is decided based on the URL
of the HTTP request (which is the primary URL in this case) as well as the URL
shown in the omnibox (which is called the "secondary" URL).
</p>
<p>
If multiple rules have primary and secondary patterns, the rule with the more
specific primary pattern takes precedence. If there multiple rules have the same
primary pattern, the rule with the more specific secondary pattern takes
precedence. For example, the following list of primary/secondary pattern pairs
is ordered by precedence:</p>
<table>
<tbody><tr><th>Precedence</th><th>Primary pattern</th><th>Secondary pattern</th>
</tr><tr>
<td>1</td>
<td><code>http://www.moose.com/*</code>, </td>
<td><code>http://www.wombat.com/*</code></td>
</tr><tr>
<td>2</td>
<td><code>http://www.moose.com/*</code>, </td>
<td><code>&lt;all_urls&gt;</code></td>
</tr><tr>
<td>3</td>
<td><code>&lt;all_urls&gt;</code>, </td>
<td><code>http://www.wombat.com/*</code></td>
</tr><tr>
<td>4</td>
<td><code>&lt;all_urls&gt;</code>, </td>
<td><code>&lt;all_urls&gt;</code></td>
</tr>
</tbody></table>
<h2 id="resource-identifiers">Resource identifiers</h2>
<p>
Resource identifiers allow you to specify content settings for specific
subtypes of a content type. Currently, the only content type that supports
resource identifiers is <a href="#property-plugins"><code>plugins</code></a>,
where a resource identifier identifies a specific plug-in. When applying content
settings, first the settings for the specific plug-in are checked. If there are
no settings found for the specific plug-in, the general content settings for
plug-ins are checked.
</p>
<p>
For example, if a content setting rule has the resource identifier
<code>adobe-flash-player</code> and the pattern <code>&lt;all_urls&gt;</code>,
it takes precedence over a rule without a resource identifier and the pattern
<code>http://www.example.com/*</code>, even if that pattern is more specific.
</p>
<p>
You can get a list of resource identifiers for a content type by calling the
<a href="contentSettings.html#method-ContentSetting-getResourceIdentifiers">
<code>getResourceIdentifiers()</code></a> method. The returned list
can change with the set of installed plug-ins on the user's machine, but Chrome
tries to keep the identifiers stable across plug-in updates.
</p>
<h2 id="examples">Examples</h2>
<p>
You can find samples of this API on the
<a href="samples.html#contentSettings">sample page</a>.
</p>
<!-- END AUTHORED CONTENT -->
</div>
<!-- API PAGE -->
<div class="apiPage">
<a name="apiReference"></a>
<h2>API reference: chrome.contentSettings</h2>
<!-- PROPERTIES -->
<div class="apiGroup">
<a name="properties"></a>
<h3 id="properties">Properties</h3>
<div>
<a name="property-cookies"></a>
<h4>cookies</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.contentSettings.</span><span>cookies</span>
</div>
<div>
<dt>
<var>cookies</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ContentSetting">ContentSetting</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to allow cookies and other local data to be set by websites. One of<br><var>allow</var>: Accept cookies,<br><var>block</var>: Block cookies,<br><var>session_only</var>: Accept cookies only for the current session. <br>Default is <var>allow</var>.<br>The primary URL is the URL representing the cookie origin. The secondary URL is the URL of the top-level frame.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<a name="property-images"></a>
<h4>images</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.contentSettings.</span><span>images</span>
</div>
<div>
<dt>
<var>images</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ContentSetting">ContentSetting</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to show images. One of<br><var>allow</var>: Show images,<br><var>block</var>: Don't show images. <br>Default is <var>allow</var>.<br>The primary URL is the main-frame URL. The secondary URL is the URL of the image.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<a name="property-javascript"></a>
<h4>javascript</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.contentSettings.</span><span>javascript</span>
</div>
<div>
<dt>
<var>javascript</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ContentSetting">ContentSetting</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to run JavaScript. One of<br><var>allow</var>: Run JavaScript,<br><var>block</var>: Don't run JavaScript. <br>Default is <var>allow</var>.<br>The primary URL is the main-frame URL. The secondary URL is not used.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<a name="property-plugins"></a>
<h4>plugins</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.contentSettings.</span><span>plugins</span>
</div>
<div>
<dt>
<var>plugins</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ContentSetting">ContentSetting</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to run plug-ins. One of<br><var>allow</var>: Run plug-ins automatically,<br><var>block</var>: Don't run plug-ins automatically. <br>Default is <var>allow</var>.<br>The primary URL is the main-frame URL. The secondary URL is not used.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<a name="property-popups"></a>
<h4>popups</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.contentSettings.</span><span>popups</span>
</div>
<div>
<dt>
<var>popups</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ContentSetting">ContentSetting</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to allow sites to show pop-ups. One of<br><var>allow</var>: Allow sites to show pop-ups,<br><var>block</var>: Don't allow sites to show pop-ups. <br>Default is <var>block</var>.<br>The primary URL is the main-frame URL. The secondary URL is not used.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<a name="property-notifications"></a>
<h4>notifications</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>chrome.contentSettings.</span><span>notifications</span>
</div>
<div>
<dt>
<var>notifications</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ContentSetting">ContentSetting</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to allow sites to show desktop notifications. One of<br><var>allow</var>: Allow sites to show desktop notifications,<br><var>block</var>: Don't allow sites to show desktop notifications,<br><var>ask</var>: Ask when a site wants to show desktop notifications. <br>Default is <var>ask</var>.<br>The primary URL is the main-frame URL. The secondary URL is not used.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</div> <!-- /apiGroup -->
<!-- METHODS -->
<!-- /apiGroup -->
<!-- EVENTS -->
<!-- /apiGroup -->
<!-- TYPES -->
<div class="apiGroup">
<a name="types"></a>
<h3 id="types">Types</h3>
<!-- iterates over all types -->
<div class="apiItem">
<a name="type-ResourceIdentifier"></a>
<h4>ResourceIdentifier</h4>
<div>
<dt>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>object</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The only content type using resource identifiers is <a href="contentSettings.html#property-plugins"><var>plugins</var></a>. For more information, see <a href="contentSettings.html#resource-identifiers">Resource Identifiers</a>.</dd>
<!-- OBJECT PROPERTIES -->
<dd>
<dl>
<div>
<div>
<dt>
<var>id</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>string</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The resource identifier for the given content type.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>description</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>string</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>A human readable description of the resource.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</dd>
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div class="apiItem">
<a name="type-ContentSetting"></a>
<h4>ContentSetting</h4>
<div>
<dt>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>object</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<dd>
<div class="apiGroup">
<a name="global-ContentSetting-methods"></a>
<h3>Methods of ContentSetting</h3>
<!-- iterates over all functions -->
<div class="apiItem">
<a name="method-ContentSetting-clear"></a> <!-- method-anchor -->
<h4>clear</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>contentSetting.clear</span>(<span class="null"><span>object</span>
<var><span>details</span></var></span><span class="optional"><span>, </span><span>function</span>
<var><span>callback</span></var></span>)</div>
<div class="description">
<p>Clear all content setting rules set by this extension.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
<div>
<div>
<dt>
<var>details</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>object</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<dd>
<dl>
<div>
<div>
<dt>
<var>scope</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span class="enum">enumerated</span>
<span id="typeTemplate">
<span>
<span>string</span>
<span>["regular", "incognito_session_only"]</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Where to set the setting (default: regular). One of<br><var>regular</var>: setting for regular profile (which is inherited by the incognito profile if not overridden elsewhere),<br><var>incognito_session_only</var>: setting for incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular settings).</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</dd>
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>callback</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>function</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
<!-- RETURNS -->
<dl>
</dl>
<!-- CALLBACK -->
<div>
<div>
<h4>Callback function</h4>
<p>
If you specify the <em>callback</em> parameter, it should
specify a function that looks like this:
</p>
<!-- Note: intentionally longer 80 columns -->
<pre>function(<span></span>) <span class="subdued">{...}</span>;</pre>
<dl>
</dl>
</div>
</div>
<!-- MIN_VERSION -->
</div> <!-- /description -->
</div><div class="apiItem">
<a name="method-ContentSetting-get"></a> <!-- method-anchor -->
<h4>get</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>contentSetting.get</span>(<span class="null"><span>object</span>
<var><span>details</span></var></span><span class="null"><span>, </span><span>function</span>
<var><span>callback</span></var></span>)</div>
<div class="description">
<p>Gets the current content setting for a given pair of URLs.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
<div>
<div>
<dt>
<var>details</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>object</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<dd>
<dl>
<div>
<div>
<dt>
<var>primaryUrl</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>string</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The primary URL for which the content setting should be retrieved. Note that the meaning of a primary URL depends on the content type.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>secondaryUrl</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>string</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>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.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>resourceIdentifier</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ResourceIdentifier">ResourceIdentifier</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>A more specific identifier of the type of content for which the settings should be retrieved.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>incognito</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>boolean</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Whether to check the content settings for an incognito session. (default false)</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</dd>
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>callback</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>function</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
<!-- RETURNS -->
<dl>
</dl>
<!-- CALLBACK -->
<div>
<div>
<h4>Callback function</h4>
<p>
The callback <em>parameter</em> should specify a function
that looks like this:
</p>
<!-- Note: intentionally longer 80 columns -->
<pre>function(<span>object details</span>) <span class="subdued">{...}</span>;</pre>
<dl>
<div>
<div>
<dt>
<var>details</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>object</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<dd>
<dl>
<div>
<div>
<dt>
<var>setting</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>any</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The content setting. See the description of the individual ContentSetting objects for the possible values.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</dd>
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</div>
</div>
<!-- MIN_VERSION -->
</div> <!-- /description -->
</div><div class="apiItem">
<a name="method-ContentSetting-getResourceIdentifiers"></a> <!-- method-anchor -->
<h4>getResourceIdentifiers</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>contentSetting.getResourceIdentifiers</span>(<span class="null"><span>function</span>
<var><span>callback</span></var></span>)</div>
<div class="description">
<p class="todo">Undocumented.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
<div>
<div>
<dt>
<var>callback</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>function</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
<!-- RETURNS -->
<dl>
</dl>
<!-- CALLBACK -->
<div>
<div>
<h4>Callback function</h4>
<p>
The callback <em>parameter</em> should specify a function
that looks like this:
</p>
<!-- Note: intentionally longer 80 columns -->
<pre>function(<span>array of ResourceIdentifier resourceIdentifiers</span>) <span class="subdued">{...}</span>;</pre>
<dl>
<div>
<div>
<dt>
<var>resourceIdentifiers</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>
array of <span><span>
<span>
<a href="contentSettings.html#type-ResourceIdentifier">ResourceIdentifier</a>
</span>
</span></span>
</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>A list of resource identifiers for this content type, or <var>undefined</var> if this content type does not use resource identifiers.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</div>
</div>
<!-- MIN_VERSION -->
</div> <!-- /description -->
</div><div class="apiItem">
<a name="method-ContentSetting-set"></a> <!-- method-anchor -->
<h4>set</h4>
<div class="summary">
<!-- Note: intentionally longer 80 columns -->
<span>contentSetting.set</span>(<span class="null"><span>object</span>
<var><span>details</span></var></span><span class="optional"><span>, </span><span>function</span>
<var><span>callback</span></var></span>)</div>
<div class="description">
<p>Applies a new content setting rule.</p>
<!-- PARAMETERS -->
<h4>Parameters</h4>
<dl>
<div>
<div>
<dt>
<var>details</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>object</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<dd>
<dl>
<div>
<div>
<dt>
<var>primaryPattern</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>string</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The pattern for the primary URL. For details on the format of a pattern, see <a href="contentSettings.html#patterns">Content Setting Patterns</a>.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>secondaryPattern</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>string</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The pattern for the secondary URL. Defaults to matching all URLs. For details on the format of a pattern, see <a href="contentSettings.html#patterns">Content Setting Patterns</a>.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>resourceIdentifier</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<a href="contentSettings.html#type-ResourceIdentifier">ResourceIdentifier</a>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The resource identifier for the content type.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>setting</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span id="typeTemplate">
<span>
<span>any</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>The setting applied by this rule. See the description of the individual ContentSetting objects for the possible values.</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>scope</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span class="enum">enumerated</span>
<span id="typeTemplate">
<span>
<span>string</span>
<span>["regular", "incognito_session_only"]</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd>Where to clear the setting (default: regular). One of<br><var>regular</var>: setting for regular profile (which is inherited by the incognito profile if not overridden elsewhere),<br><var>incognito_session_only</var>: setting for incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular settings).</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
</dd>
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div><div>
<div>
<dt>
<var>callback</var>
<em>
<!-- TYPE -->
<div style="display:inline">
(
<span class="optional">optional</span>
<span id="typeTemplate">
<span>
<span>function</span>
</span>
</span>
)
</div>
</em>
</dt>
<dd class="todo">
Undocumented.
</dd>
<!-- OBJECT PROPERTIES -->
<!-- OBJECT METHODS -->
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div>
</dl>
<!-- RETURNS -->
<dl>
</dl>
<!-- CALLBACK -->
<div>
<div>
<h4>Callback function</h4>
<p>
If you specify the <em>callback</em> parameter, it should
specify a function that looks like this:
</p>
<!-- Note: intentionally longer 80 columns -->
<pre>function(<span></span>) <span class="subdued">{...}</span>;</pre>
<dl>
</dl>
</div>
</div>
<!-- MIN_VERSION -->
</div> <!-- /description -->
</div> <!-- /apiItem -->
</div>
</dd>
<!-- OBJECT EVENT FIELDS -->
<!-- FUNCTION PARAMETERS -->
</div>
</div> <!-- /apiItem -->
</div> <!-- /apiGroup -->
</div> <!-- /apiPage -->
</div> <!-- /gc-pagecontent -->
</div> <!-- /g-section -->
</div> <!-- /codesiteContent -->
<div id="gc-footer" --="">
<div class="text">
<p>
Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>,
the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
Attribution 3.0 License</a>, and code samples are licensed under the
<a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>.
</p>
<p>
©2011 Google
</p>
<!-- begin analytics -->
<script src="https://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script src="https://www.google-analytics.com/ga.js" type="text/javascript"></script>
<script type="text/javascript">
// chrome doc tracking
try {
var engdocs = _gat._getTracker("YT-10763712-2");
engdocs._trackPageview();
} catch(err) {}
// code.google.com site-wide tracking
try {
_uacct="UA-18071-1";
_uanchor=1;
_uff=0;
urchinTracker();
}
catch(e) {/* urchinTracker not available. */}
</script>
<!-- end analytics -->
</div>
</div> <!-- /gc-footer -->
</div> <!-- /gc-container -->
</body></html>