Index: chrome/common/extensions/docs/js/api_page_generator.js |
diff --git a/chrome/common/extensions/docs/js/api_page_generator.js b/chrome/common/extensions/docs/js/api_page_generator.js |
index 97d44d78761f6f9888c7e0c4666e78b3a2e99a40..8db69f8ddc1acbf9b4e313c6629d3abd38bc5373 100644 |
--- a/chrome/common/extensions/docs/js/api_page_generator.js |
+++ b/chrome/common/extensions/docs/js/api_page_generator.js |
@@ -503,19 +503,29 @@ function filterDocumented(things) { |
}); |
} |
-function stableAPIs() { |
- return schema.filter(function(module) { |
- return !disableDocs(module) && |
- module.namespace.indexOf('experimental') < 0; |
- }).map(function(module) { |
- return module.namespace; |
- }).sort(); |
-} |
+function listChromeAPIs(packageType, includeExperimental) { |
+ // Super ghetto to use a synchronous XHR here, but this only runs during |
+ // generation of docs, so I guess it's ok. |
+ var req = new XMLHttpRequest(); |
+ req.open('GET', '../../api/_permission_features.json', false); |
+ req.send(null); |
+ |
+ var permissionFeatures = JSON.parse(JSON.minify(req.responseText)); |
-function experimentalAPIs() { |
return schema.filter(function(module) { |
- return !disableDocs(module) && |
- module.namespace.indexOf('experimental') == 0; |
+ if (disableDocs(module)) |
+ return false; |
+ |
+ if ((module.namespace.indexOf('experimental') > -1) != |
+ includeExperimental) { |
+ return false; |
+ } |
+ |
+ var feature = permissionFeatures[module.namespace]; |
+ if (feature && feature.extension_types.indexOf(packageType) == -1) |
+ return false; |
+ |
+ return true; |
}).map(function(module) { |
return module.namespace; |
}).sort(); |