| Index: chrome/common/extensions/docs/server2/api_models.py
|
| diff --git a/chrome/common/extensions/docs/server2/api_models.py b/chrome/common/extensions/docs/server2/api_models.py
|
| index 69220ce15097be99c4c08a224ba656912a881d55..64f9943523764628739436cff6d30e2f5ab9329f 100644
|
| --- a/chrome/common/extensions/docs/server2/api_models.py
|
| +++ b/chrome/common/extensions/docs/server2/api_models.py
|
| @@ -12,7 +12,7 @@ from future import All, Future, Race
|
| from operator import itemgetter
|
| from path_util import Join
|
| from platform_util import PlatformToExtensionType
|
| -from schema_util import ProcessSchema
|
| +from process_schema import ProcessSchema, ProcessSchemaFactory
|
| from third_party.json_schema_compiler.json_schema import DeleteNodes
|
| from third_party.json_schema_compiler.model import Namespace, UnixName
|
|
|
| @@ -57,12 +57,15 @@ class APIModels(object):
|
| compiled_fs_factory,
|
| file_system,
|
| object_store_creator,
|
| - platform):
|
| + platform,
|
| + process_schema_factory):
|
| self._features_bundle = features_bundle
|
| self._platform = PlatformToExtensionType(platform)
|
| self._model_cache = compiled_fs_factory.Create(
|
| file_system, self._CreateAPIModel, APIModels, category=self._platform)
|
| self._object_store = object_store_creator.Create(APIModels)
|
| + self._process_schema = Future(callback=lambda:
|
| + process_schema_factory.Create(False))
|
|
|
| @Cache
|
| @SingleFile
|
| @@ -73,11 +76,11 @@ class APIModels(object):
|
| node['extension_types'] != 'all' and
|
| self._platform not in node['extension_types'])
|
|
|
| - schema = ProcessSchema(path, data)[0]
|
| + schema = self._process_schema.Get().Process(path, data)[0]
|
| if not schema:
|
| raise ValueError('No schema for %s' % path)
|
| return Namespace(DeleteNodes(
|
| - schema, matcher=does_not_include_platform), schema['namespace'])
|
| + schema, matcher=does_not_include_platform), path)
|
|
|
| def GetNames(self):
|
| # API names appear alongside some of their methods/events/etc in the
|
|
|