| OLD | NEW |
| 1 <p> | 1 <p> |
| 2 An <code>Event</code> is an object | 2 An <code>Event</code> is an object |
| 3 that allows you to be notified | 3 that allows you to be notified |
| 4 when something interesting happens. | 4 when something interesting happens. |
| 5 Here's an example of using the | 5 Here's an example of using the |
| 6 <code>chrome.alarms.onAlarm</code> event | 6 <code>chrome.alarms.onAlarm</code> event |
| 7 to be notified whenever an alarm has elapsed: | 7 to be notified whenever an alarm has elapsed: |
| 8 </p> | 8 </p> |
| 9 | 9 |
| 10 <pre> | 10 <pre> |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 Example APIs using Events: | 32 Example APIs using Events: |
| 33 $(ref:alarms), | 33 $(ref:alarms), |
| 34 {{?is_apps}} | 34 {{?is_apps}} |
| 35 $(ref:app.runtime), | 35 $(ref:app.runtime), |
| 36 $(ref:app.window), | 36 $(ref:app.window), |
| 37 {{/is_apps}} | 37 {{/is_apps}} |
| 38 $(ref:i18n), | 38 $(ref:i18n), |
| 39 $(ref:identity), | 39 $(ref:identity), |
| 40 $(ref:runtime). | 40 $(ref:runtime). |
| 41 Most <a href="api_index.html">chrome APIs</a> do. | 41 Most <a href="api_index">chrome APIs</a> do. |
| 42 | 42 |
| 43 {{^is_apps}} | 43 {{^is_apps}} |
| 44 <div class="doc-family extensions"> | 44 <div class="doc-family extensions"> |
| 45 <h2 id="declarative">Declarative Event Handlers</h2> | 45 <h2 id="declarative">Declarative Event Handlers</h2> |
| 46 | 46 |
| 47 <p> | 47 <p> |
| 48 The declarative event handlers provide a means to define rules consisting of | 48 The declarative event handlers provide a means to define rules consisting of |
| 49 declarative conditions and actions. Conditions are evaluated in the browser | 49 declarative conditions and actions. Conditions are evaluated in the browser |
| 50 rather than the JavaScript engine which reduces roundtrip latencies and allows | 50 rather than the JavaScript engine which reduces roundtrip latencies and allows |
| 51 for very high efficiency. | 51 for very high efficiency. |
| 52 </p> | 52 </p> |
| 53 | 53 |
| 54 <p>Declarative event handlers are used for example in the <a | 54 <p>Declarative event handlers are used for example in the <a |
| 55 href="declarativeWebRequest.html">Declarative Web Request API</a> and <a | 55 href="declarativeWebRequest">Declarative Web Request API</a> and <a |
| 56 href="declarativeContent.html">Declarative Content API</a>. This page describes | 56 href="declarativeContent">Declarative Content API</a>. This page describes |
| 57 the underlying concepts of all declarative event handlers. | 57 the underlying concepts of all declarative event handlers. |
| 58 </p> | 58 </p> |
| 59 | 59 |
| 60 <h3 id="rules">Rules</h3> | 60 <h3 id="rules">Rules</h3> |
| 61 | 61 |
| 62 <p>The simplest possible rule consists of one or more conditions and one or more | 62 <p>The simplest possible rule consists of one or more conditions and one or more |
| 63 actions:</p> | 63 actions:</p> |
| 64 <pre> | 64 <pre> |
| 65 var rule = { | 65 var rule = { |
| 66 conditions: [ /* my conditions */ ], | 66 conditions: [ /* my conditions */ ], |
| (...skipping 14 matching lines...) Expand all Loading... |
| 81 id: "my rule", // optional, will be generated if not set. | 81 id: "my rule", // optional, will be generated if not set. |
| 82 priority: 100, // optional, defaults to 100. | 82 priority: 100, // optional, defaults to 100. |
| 83 conditions: [ /* my conditions */ ], | 83 conditions: [ /* my conditions */ ], |
| 84 actions: [ /* my actions */ ] | 84 actions: [ /* my actions */ ] |
| 85 }; | 85 }; |
| 86 </pre> | 86 </pre> |
| 87 | 87 |
| 88 <h3 id="eventobjects">Event objects</h3> | 88 <h3 id="eventobjects">Event objects</h3> |
| 89 | 89 |
| 90 <p> | 90 <p> |
| 91 <a href="events.html">Event objects</a> may support rules. These event objects | 91 <a href="events">Event objects</a> may support rules. These event objects |
| 92 don't call a callback function when events happen but test whether any | 92 don't call a callback function when events happen but test whether any |
| 93 registered rule has at least one fulfilled condition and execute the actions | 93 registered rule has at least one fulfilled condition and execute the actions |
| 94 associated with this rule. Event objects supporting the declarative API have | 94 associated with this rule. Event objects supporting the declarative API have |
| 95 three relevant methods: $(ref:events.Event.addRules), | 95 three relevant methods: $(ref:events.Event.addRules), |
| 96 $(ref:events.Event.removeRules), and | 96 $(ref:events.Event.removeRules), and |
| 97 $(ref:events.Event.getRules). | 97 $(ref:events.Event.getRules). |
| 98 </p> | 98 </p> |
| 99 | 99 |
| 100 <h3 id="addingrules">Adding rules</h3> | 100 <h3 id="addingrules">Adding rules</h3> |
| 101 | 101 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 </div> | 228 </div> |
| 229 {{/is_apps}} | 229 {{/is_apps}} |
| 230 | 230 |
| 231 {{^is_apps}} | 231 {{^is_apps}} |
| 232 <div class="doc-family extensions"> | 232 <div class="doc-family extensions"> |
| 233 <h2 id="filtered">Filtered events</h2> | 233 <h2 id="filtered">Filtered events</h2> |
| 234 | 234 |
| 235 <p>Filtered events are a mechanism that allows listeners to specify a subset of | 235 <p>Filtered events are a mechanism that allows listeners to specify a subset of |
| 236 events that they are interested in. A listener that makes use of a filter won't | 236 events that they are interested in. A listener that makes use of a filter won't |
| 237 be invoked for events that don't pass the filter, which makes the listening | 237 be invoked for events that don't pass the filter, which makes the listening |
| 238 code more declarative and efficient - an <a href="event_pages.html">event | 238 code more declarative and efficient - an <a href="event_pages">event |
| 239 page</a> page need not be woken up to handle events it doesn't care | 239 page</a> page need not be woken up to handle events it doesn't care |
| 240 about.</p> | 240 about.</p> |
| 241 | 241 |
| 242 <p>Filtered events are intended to allow a transition from manual filtering | 242 <p>Filtered events are intended to allow a transition from manual filtering |
| 243 code like this:</p> | 243 code like this:</p> |
| 244 | 244 |
| 245 <pre> | 245 <pre> |
| 246 chrome.webNavigation.onCommitted.addListener(function(e) { | 246 chrome.webNavigation.onCommitted.addListener(function(e) { |
| 247 if (hasHostSuffix(e.url, 'google.com') || | 247 if (hasHostSuffix(e.url, 'google.com') || |
| 248 hasHostSuffix(e.url, 'google.com.au')) { | 248 hasHostSuffix(e.url, 'google.com.au')) { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 264 of filters that an event supports will be listed in the documentation for that | 264 of filters that an event supports will be listed in the documentation for that |
| 265 event in the "filters" section.</p> | 265 event in the "filters" section.</p> |
| 266 | 266 |
| 267 <p>When matching URLs (as in the example above), event filters support the same | 267 <p>When matching URLs (as in the example above), event filters support the same |
| 268 URL matching capabilities as expressible with a | 268 URL matching capabilities as expressible with a |
| 269 $(ref:events.UrlFilter), except for scheme and port | 269 $(ref:events.UrlFilter), except for scheme and port |
| 270 matching.</p> | 270 matching.</p> |
| 271 | 271 |
| 272 </div> | 272 </div> |
| 273 {{/is_apps}} | 273 {{/is_apps}} |
| OLD | NEW |