| Index: extensions/renderer/resources/binding.js
|
| diff --git a/extensions/renderer/resources/binding.js b/extensions/renderer/resources/binding.js
|
| index b0c6afa4fa43a8fe01aabdad02a32a4ce1519771..1ceb2defbfd1d5a70dd682a48fda4f30ede6ae00 100644
|
| --- a/extensions/renderer/resources/binding.js
|
| +++ b/extensions/renderer/resources/binding.js
|
| @@ -419,10 +419,22 @@ Binding.prototype = {
|
|
|
| addProperties(mod, schema);
|
|
|
| - var availability = GetAvailability(schema.namespace);
|
| - if (!availability.is_available && $Object.keys(mod).length == 0) {
|
| + // This generate() call is considered successful if any functions,
|
| + // properties, or events were created.
|
| + var success = ($Object.keys(mod).length > 0);
|
| +
|
| + // The special case is runtime.lastError which is only occasionally set, so
|
| + // specifically check its availability.
|
| + if (schema.namespace == 'runtime' &&
|
| + GetAvailability('runtime.lastError').is_available) {
|
| + success = true;
|
| + }
|
| +
|
| + if (!success) {
|
| + // If an API was available it should have been successfully generated.
|
| + logging.DCHECK(!GetAvailability(schema.namespace).is_available);
|
| console.error('chrome.' + schema.namespace + ' is not available: ' +
|
| - availability.message);
|
| + availability.message);
|
| return;
|
| }
|
|
|
|
|