OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 var exceptionHandler = require('uncaught_exception_handler'); | 5 var exceptionHandler = require('uncaught_exception_handler'); |
6 var eventNatives = requireNative('event_natives'); | 6 var eventNatives = requireNative('event_natives'); |
7 var logging = requireNative('logging'); | 7 var logging = requireNative('logging'); |
8 var schemaRegistry = requireNative('schema_registry'); | 8 var schemaRegistry = requireNative('schema_registry'); |
9 var sendRequest = require('sendRequest').sendRequest; | 9 var sendRequest = require('sendRequest').sendRequest; |
10 var utils = require('utils'); | 10 var utils = require('utils'); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 | 132 |
133 function parseEventOptions(opt_eventOptions) { | 133 function parseEventOptions(opt_eventOptions) { |
134 function merge(dest, src) { | 134 function merge(dest, src) { |
135 for (var k in src) { | 135 for (var k in src) { |
136 if (!$Object.hasOwnProperty(dest, k)) { | 136 if (!$Object.hasOwnProperty(dest, k)) { |
137 dest[k] = src[k]; | 137 dest[k] = src[k]; |
138 } | 138 } |
139 } | 139 } |
140 } | 140 } |
141 | 141 |
142 var options = opt_eventOptions || {}; | 142 var options = $Object.assign({}, opt_eventOptions || {}); |
143 merge(options, { | 143 merge(options, { |
144 // Event supports adding listeners with filters ("filtered events"), for | 144 // Event supports adding listeners with filters ("filtered events"), for |
145 // example as used in the webNavigation API. | 145 // example as used in the webNavigation API. |
146 // | 146 // |
147 // event.addListener(listener, [filter1, filter2]); | 147 // event.addListener(listener, [filter1, filter2]); |
148 supportsFilters: false, | 148 supportsFilters: false, |
149 | 149 |
150 // Events supports vanilla events. Most APIs use these. | 150 // Events supports vanilla events. Most APIs use these. |
151 // | 151 // |
152 // event.addListener(listener); | 152 // event.addListener(listener); |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 if (!this.eventOptions.supportsRules) | 408 if (!this.eventOptions.supportsRules) |
409 throw new Error("This event does not support rules."); | 409 throw new Error("This event does not support rules."); |
410 | 410 |
411 // Takes a list of JSON datatype identifiers and returns a schema fragment | 411 // Takes a list of JSON datatype identifiers and returns a schema fragment |
412 // that verifies that a JSON object corresponds to an array of only these | 412 // that verifies that a JSON object corresponds to an array of only these |
413 // data types. | 413 // data types. |
414 function buildArrayOfChoicesSchema(typesList) { | 414 function buildArrayOfChoicesSchema(typesList) { |
415 return { | 415 return { |
416 'type': 'array', | 416 'type': 'array', |
417 'items': { | 417 'items': { |
418 'choices': typesList.map(function(el) {return {'$ref': el};}) | 418 'choices': $Array.map(typesList, function(el) {return {'$ref': el};}) |
419 } | 419 } |
420 }; | 420 }; |
421 }; | 421 }; |
422 | 422 |
423 // Validate conditions and actions against specific schemas of this | 423 // Validate conditions and actions against specific schemas of this |
424 // event object type. | 424 // event object type. |
425 // |rules| is an array of JSON objects that follow the Rule type of the | 425 // |rules| is an array of JSON objects that follow the Rule type of the |
426 // declarative extension APIs. |conditions| is an array of JSON type | 426 // declarative extension APIs. |conditions| is an array of JSON type |
427 // identifiers that are allowed to occur in the conditions attribute of each | 427 // identifiers that are allowed to occur in the conditions attribute of each |
428 // rule. Likewise, |actions| is an array of JSON type identifiers that are | 428 // rule. Likewise, |actions| is an array of JSON type identifiers that are |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 'removeRules', | 501 'removeRules', |
502 'getRules' | 502 'getRules' |
503 ] }); | 503 ] }); |
504 | 504 |
505 // NOTE: Event is (lazily) exposed as chrome.Event from dispatcher.cc. | 505 // NOTE: Event is (lazily) exposed as chrome.Event from dispatcher.cc. |
506 exports.$set('Event', Event); | 506 exports.$set('Event', Event); |
507 | 507 |
508 exports.$set('dispatchEvent', dispatchEvent); | 508 exports.$set('dispatchEvent', dispatchEvent); |
509 exports.$set('parseEventOptions', parseEventOptions); | 509 exports.$set('parseEventOptions', parseEventOptions); |
510 exports.$set('registerArgumentMassager', registerArgumentMassager); | 510 exports.$set('registerArgumentMassager', registerArgumentMassager); |
OLD | NEW |