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..bccdbf94e533bc7289f28bc722807fb5599c871f 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 MarkFirst, MarkLast |
class APIListDataSource(DataSource): |
""" This class creates a list of chrome.* APIs and chrome.experimental.* APIs |
@@ -31,6 +31,25 @@ 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 |
not at google - send to devlin
2014/07/21 17:51:19
nit: everywhere else I see the "in" and "if" of li
|
+ 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')) |
+ MarkFirst(restricted_nodes) |
+ MarkLast(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 +96,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['content_scripts'] = make_list_for_content_scripts() |
not at google - send to devlin
2014/07/21 17:51:19
actually can this be 'contentScripts'? Google JSON
|
+ return api_dict |
def _GetCachedAPIData(self): |
data_future = self._object_store.Get('api_data') |