Index: chrome/common/extensions/docs/server2/api_list_data_source.py |
diff --git a/chrome/common/extensions/docs/server2/api_list_data_source.py b/chrome/common/extensions/docs/server2/api_list_data_source.py |
index 0a2c620721f0ce4248d6943880a6623b74c193bd..e3f8697014c57ce68f381ed08da5f7d3e40d316e 100644 |
--- a/chrome/common/extensions/docs/server2/api_list_data_source.py |
+++ b/chrome/common/extensions/docs/server2/api_list_data_source.py |
@@ -7,7 +7,7 @@ from future import Future |
from operator import itemgetter |
from platform_util import GetPlatforms |
-from docs_server_utils import MarkLast |
+from docs_server_utils import MarkFirstAndLast, MarkLast |
class APIListDataSource(DataSource): |
""" This class creates a list of chrome.* APIs and chrome.experimental.* APIs |
@@ -31,6 +31,24 @@ class APIListDataSource(DataSource): |
APIListDataSource, category=self._platform_bundle.GetIdentity()) |
def _GenerateAPIDict(self): |
+ def make_list_for_content_scripts(): |
+ content_script_apis = self._platform_bundle.GetAPIModels( |
+ 'extensions').GetContentScriptAPIs().Get() |
+ content_script_apis_list = [csa.__dict__ for api_name, csa |
+ in content_script_apis.iteritems() |
+ if self._platform_bundle.GetAPICategorizer( |
+ 'extensions').IsDocumented(api_name)] |
+ |
+ content_script_apis_list.sort(key=itemgetter('name')) |
+ for csa in content_script_apis_list: |
+ restricted_nodes = csa['restrictedTo'] |
+ if restricted_nodes: |
+ restricted_nodes.sort(key=itemgetter('node')) |
+ MarkFirstAndLast(restricted_nodes) |
+ else: |
+ del csa['restrictedTo'] |
+ return content_script_apis_list |
+ |
def make_dict_for_platform(platform): |
platform_dict = { |
'chrome': {'stable': [], 'beta': [], 'dev': [], 'trunk': []}, |
@@ -77,8 +95,10 @@ class APIListDataSource(DataSource): |
platform_dict[key] = apis |
return platform_dict |
- return dict((platform, make_dict_for_platform(platform)) |
- for platform in GetPlatforms()) |
+ api_dict = dict((platform, make_dict_for_platform(platform)) |
+ for platform in GetPlatforms()) |
+ api_dict['contentScripts'] = make_list_for_content_scripts() |
+ return api_dict |
def _GetCachedAPIData(self): |
data_future = self._object_store.Get('api_data') |