summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-28 17:06:52 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-28 17:06:52 +0000
commit208aacf4f94ff25d961a770b55fa76aa47eb1644 (patch)
tree8660d16a12c59feb39415b934fd47baaee3631d3 /chrome
parent35e5dc1df39fb6ab74cccec5a25625e3b2b9af89 (diff)
downloadchromium_src-208aacf4f94ff25d961a770b55fa76aa47eb1644.zip
chromium_src-208aacf4f94ff25d961a770b55fa76aa47eb1644.tar.gz
chromium_src-208aacf4f94ff25d961a770b55fa76aa47eb1644.tar.bz2
Fix broken array.items reference in generate doc script.
Review URL: http://codereview.chromium.org/160238 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21852 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rwxr-xr-xchrome/common/extensions/docs/js/api_page_generator.js16
1 files changed, 10 insertions, 6 deletions
diff --git a/chrome/common/extensions/docs/js/api_page_generator.js b/chrome/common/extensions/docs/js/api_page_generator.js
index 6567378..f4bf330 100755
--- a/chrome/common/extensions/docs/js/api_page_generator.js
+++ b/chrome/common/extensions/docs/js/api_page_generator.js
@@ -26,6 +26,9 @@ var SCHEMA = "../../api/extension_api.json";
var OVERVIEW_EXTENSION = "_overview.html";
var REQUEST_TIMEOUT = 2000;
+// Global Schema Types (Referenced via $ref).
+var types = {};
+
Array.prototype.each = function(f) {
for (var i = 0; i < this.length; i++) {
f(this[i], i);
@@ -118,7 +121,7 @@ function renderTemplate(schemaContent) {
apiDefinition = module;
});
- types = {};
+ // Setup Schema Types
apiDefinition.types.each(function(t) {
types[t.id] = t;
});
@@ -221,9 +224,8 @@ function linkTypeReferences(parameters, types) {
}
function linkTypeReference(schema, types) {
- if (schema.$ref) {
+ if (schema.$ref)
extend(schema, types[schema.$ref]);
- }
}
/**
@@ -239,6 +241,9 @@ function assignTypeNames(parameters) {
* Generates a short text summary of the |schema| type
*/
function typeName(schema) {
+ if (schema.$ref)
+ schema = types[schema.$ref];
+
if (schema.choice) {
var typeNames = [];
schema.choice.each(function(c) {
@@ -248,9 +253,8 @@ function typeName(schema) {
return typeNames.join(" or ");
}
- if (schema.type == "array") {
- return "array of " + typeName(schema.item);
- }
+ if (schema.type == "array")
+ return "array of " + typeName(schema.items);
return schema.type;
}