Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3758)

Unified Diff: chrome/common/extensions/docs/server2/api_list_data_source.py

Issue 375133002: Docserver: Display API features that are available to content scripts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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')

Powered by Google App Engine
This is Rietveld 408576698