| Index: chrome/common/extensions/docs/static/events.html
|
| ===================================================================
|
| --- chrome/common/extensions/docs/static/events.html (revision 137393)
|
| +++ chrome/common/extensions/docs/static/events.html (working copy)
|
| @@ -46,125 +46,3 @@
|
| </pre>
|
|
|
| <!-- [PENDING: explain removeListener and hasListener] -->
|
| -
|
| -
|
| -<h2 id="declarative">Declarative Event Handlers</h2>
|
| -
|
| -<p>
|
| -The declarative event handlers provide a means to define rules consisting of
|
| -declarative conditions and actions. Conditions are evaluated in the browser
|
| -rather than the JavaScript engine which reduces roundtrip latencies and allows
|
| -for very high efficiency.
|
| -</p>
|
| -
|
| -<p>Declarative event handlers are used for example in the <a
|
| - href="declarativeWebRequest.html">Declarative Web Request API</a> and possibly
|
| -further extension APIs in the future. This page describes the underlying
|
| -concepts of all declarative event handlers.
|
| -</p>
|
| -
|
| -<h3 id="rules">Rules</h3>
|
| -
|
| -<p>The simplest possible rule consists of one or more conditions and one or more
|
| -actions:</p>
|
| -<pre>
|
| -var rule = {
|
| - conditions: [ /* my conditions */ ],
|
| - actions: [ /* my actions */ ]
|
| -};
|
| -</pre>
|
| -
|
| -<p>If any of the conditions is fulfilled, all actions are executed.</p>
|
| -
|
| -<p>In addition to conditions and actions you may give each rule an identifier,
|
| -which simplifies unregistering previously registered rules, and a priority to
|
| -define precedences among rules. Priorities are only considered if rules conflict
|
| -each other or need to be executed in a specific order.</p>
|
| -
|
| -<pre>
|
| -var rule = {
|
| - id: "my rule", // optional, will be generated if not set.
|
| - priority: 100, // optional, defaults to 100.
|
| - conditions: [ /* my conditions */ ],
|
| - actions: [ /* my actions */ ]
|
| -};
|
| -</pre>
|
| -
|
| -<h3 id="eventobjects">Event objects</h3>
|
| -
|
| -<p>
|
| -<a href="events.html">Event objects</a> may support rules. These event objects
|
| -don't call a callback function when events happer but test whether any
|
| -registered rule has at least one fulfilled condition and execute the actions
|
| -associated with this rule. Event objects supporting the declarative API have
|
| -three relevant methods: <a href="#method-addRules"><code>addRules()</code></a>,
|
| -<a href="#method-removeRules"><code>removeRules()</code></a>, and
|
| -<a href="#method-getRules"><code>getRules()</code></a>.
|
| -</p>
|
| -
|
| -<h3 id="addingrules">Adding rules</h3>
|
| -
|
| -<p>
|
| -To add rules call the <code>addRules()</code> function of the event object. It
|
| -takes an array of rule instances as its first parameter and a callback function
|
| -that is called on completion.
|
| -</p>
|
| -
|
| -<pre>
|
| -var rule_list = [rule1, rule2, ...];
|
| -function addRules(rule_list, function callback(details) {...});
|
| -</pre>
|
| -
|
| -<p>
|
| -If the rules were inserted successfully, the <code>details</code> parameter
|
| -contains an array of inserted rules appearing in the same order as in the passed
|
| -<code>rule_list</code> where the optional parameters <code>id</code> and
|
| -<code>priority</code> were filled with the generated values. If any rule is
|
| -invalid, e.g., because it contained an invalid condition or action, none of the
|
| -rules are added and the <a
|
| - href="extension.html#property-lastError">lastError</a> variable is set when
|
| -the callback function is called. Each rule in <code>rule_list</code> must
|
| -contain a unique identifier that is not currently used by another rule or an
|
| -empty identifier.
|
| -</p>
|
| -
|
| -<h3 id="removingrules">Removing rules</h3>
|
| -
|
| -<p>
|
| -To remove rules call the <code>removeRules()</code> function. It accepts an
|
| -optional array of rule identifiers as its first parameter and a callback
|
| -function as its second parameter.
|
| -</p>
|
| -
|
| -<pre>
|
| -var rule_ids = ["id1", "id2", ...];
|
| -function removeRules(rule_ids, function callback() {...});
|
| -</pre>
|
| -
|
| -<p>
|
| -If <code>rule_ids</code> is an array of identifiers, all rules having
|
| -identifiers listed in the array are removed. If <code>rule_ids</code> lists an
|
| -identifier, that is unknown, this identifier is silently ignored. If
|
| -<code>rule_ids</code> is <code>undefined</code>, all registered rules of this
|
| -extension are removed. The <code>callback()</code> function is called when the
|
| -rules were removed.
|
| -</p>
|
| -
|
| -<h3 id="retrievingrules">Retrieving rules</h3>
|
| -
|
| -<p>
|
| -To retrieve a list of currently registered rules, call the
|
| -<code>getRules()</code> function. It accepts an optional array of rule
|
| -identifiers with the same semantics as <code>removeRules</code> and a callback
|
| -function.
|
| -<p>
|
| -
|
| -<pre>
|
| -var rule_ids = ["id1", "id2", ...];
|
| -function getRules(rule_ids, function callback(details) {...});
|
| -</pre>
|
| -
|
| -<p>
|
| -The <code>details</code> parameter passed to the <code>calback()</code> function
|
| -refers to an array of rules including filled optional parameters.
|
| -</p>
|
|
|