| Index: chrome/common/extensions/docs/server2/manifest_data_source.py
|
| diff --git a/chrome/common/extensions/docs/server2/manifest_data_source.py b/chrome/common/extensions/docs/server2/manifest_data_source.py
|
| index b5f77175b808fd7724e51633397b9569b54469f2..3b94f52e3a409a62b1fdc68aacc7bb4a600fef94 100644
|
| --- a/chrome/common/extensions/docs/server2/manifest_data_source.py
|
| +++ b/chrome/common/extensions/docs/server2/manifest_data_source.py
|
| @@ -6,9 +6,10 @@ from copy import deepcopy
|
| import json
|
|
|
| from data_source import DataSource
|
| -from features_utility import Filtered
|
| from future import Future
|
| from manifest_features import ConvertDottedKeysToNested
|
| +from platform_util import GetPlatforms, PluralToSingular
|
| +
|
|
|
| def _ListifyAndSortDocs(features, app_name):
|
| '''Convert a |feautres| dictionary, and all 'children' dictionaries, into
|
| @@ -105,23 +106,26 @@ class ManifestDataSource(DataSource):
|
| '''Provides access to the properties in manifest features.
|
| '''
|
| def __init__(self, server_instance, _):
|
| - self._features_bundle = server_instance.features_bundle
|
| + self._platform_bundle = server_instance.platform_bundle
|
| self._object_store = server_instance.object_store_creator.Create(
|
| ManifestDataSource)
|
|
|
| - def _CreateManifestData(self):
|
| - future_manifest_features = self._features_bundle.GetManifestFeatures()
|
| + def _CreateManifestDataForPlatform(self, platform):
|
| + future_manifest_features = self._platform_bundle.GetFeaturesBundle(
|
| + platform).GetManifestFeatures()
|
| def resolve():
|
| manifest_features = future_manifest_features.Get()
|
| - def for_templates(manifest_features, platform):
|
| - return _AddLevelAnnotations(_ListifyAndSortDocs(
|
| - ConvertDottedKeysToNested(
|
| - deepcopy(Filtered(manifest_features, platform + 's'))),
|
| - app_name=platform.capitalize()))
|
| - return {
|
| - 'apps': for_templates(manifest_features, 'app'),
|
| - 'extensions': for_templates(manifest_features, 'extension')
|
| - }
|
| + return _AddLevelAnnotations(_ListifyAndSortDocs(
|
| + ConvertDottedKeysToNested(deepcopy(manifest_features)),
|
| + app_name=PluralToSingular(platform).capitalize()))
|
| + return Future(callback=resolve)
|
| +
|
| + def _CreateManifestData(self):
|
| + manifest_data_futures = dict((p, self._CreateManifestDataForPlatform(p))
|
| + for p in GetPlatforms())
|
| + def resolve():
|
| + return dict((platform, future.Get())
|
| + for platform, future in manifest_data_futures.iteritems())
|
| return Future(callback=resolve)
|
|
|
| def _GetCachedManifestData(self):
|
|
|