Index: chrome/renderer/resources/extensions/schema_utils.js |
diff --git a/chrome/renderer/resources/extensions/schema_utils.js b/chrome/renderer/resources/extensions/schema_utils.js |
index 31531f90061d7b2cc60595f76ecb86ba4414781d..15b81cbfc9ab790747711ccc70520cb4410ad4e8 100644 |
--- a/chrome/renderer/resources/extensions/schema_utils.js |
+++ b/chrome/renderer/resources/extensions/schema_utils.js |
@@ -6,6 +6,7 @@ |
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); |
var chrome = requireNative('chrome').GetChrome(); |
+var loadRefType = require('utils').loadRefType; |
// TODO(benwells): unit test this file. |
// JSONSchemaValidator is not loaded in unit tests. |
@@ -50,10 +51,17 @@ if (chromeHidden.JSONSchemaValidator) { |
function getSignatures(parameterSchemas) { |
if (parameterSchemas.length === 0) |
return [[]]; |
+ for (var i = 0; i < parameterSchemas.length; i++) { |
+ if ('$ref' in parameterSchemas[i]) { |
+ var type = loadRefType(parameterSchemas[i]['$ref']); |
+ type.name = parameterSchemas[i].name; |
+ parameterSchemas[i] = type; |
+ } |
+ } |
not at google - send to devlin
2013/03/21 00:01:13
is this necessary, the schema validator knows how
cduvall
2013/03/21 00:59:51
Hmm, it seemed necessary when I did it, but now I
|
var signatures = []; |
var remaining = getSignatures(parameterSchemas.slice(1)); |
for (var i = 0; i < remaining.length; i++) |
- signatures.push([parameterSchemas[0]].concat(remaining[i])) |
+ signatures.push([parameterSchemas[0]].concat(remaining[i])); |
if (parameterSchemas[0].optional) |
return signatures.concat(remaining); |
return signatures; |