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

Side by Side Diff: chrome/common/extensions/docs/server2/server_instance.py

Issue 216943006: Remove ReferenceResolver dependency in APIDataSource. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 9 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from api_categorizer import APICategorizer 5 from api_categorizer import APICategorizer
6 from api_data_source import APIDataSource 6 from api_data_source import APIDataSource
7 from api_list_data_source import APIListDataSource 7 from api_list_data_source import APIListDataSource
8 from api_models import APIModels 8 from api_models import APIModels
9 from availability_finder import AvailabilityFinder 9 from availability_finder import AvailabilityFinder
10 from compiled_file_system import CompiledFileSystem 10 from compiled_file_system import CompiledFileSystem
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 compiled_fs_factory) 94 compiled_fs_factory)
95 95
96 self.api_data_source_factory = APIDataSource.Factory( 96 self.api_data_source_factory = APIDataSource.Factory(
97 self.compiled_fs_factory, 97 self.compiled_fs_factory,
98 host_fs_at_trunk, 98 host_fs_at_trunk,
99 self.availability_finder, 99 self.availability_finder,
100 self.api_models, 100 self.api_models,
101 self.features_bundle, 101 self.features_bundle,
102 self.object_store_creator) 102 self.object_store_creator)
103 103
104 self.ref_resolver_factory = ReferenceResolver.Factory( 104 self.ref_resolver = ReferenceResolver(
105 self.api_data_source_factory, 105 self.api_data_source_factory.Create(None),
106 self.api_models, 106 self.api_models,
107 object_store_creator) 107 self.object_store_creator.Create(ReferenceResolver))
108
109 self.api_data_source_factory.SetReferenceResolverFactory(
110 self.ref_resolver_factory)
111 108
112 # Note: samples are super slow in the dev server because it doesn't support 109 # Note: samples are super slow in the dev server because it doesn't support
113 # async fetch, so disable them. 110 # async fetch, so disable them.
114 if IsDevServer(): 111 if IsDevServer():
115 extension_samples_fs = EmptyDirFileSystem() 112 extension_samples_fs = EmptyDirFileSystem()
116 app_samples_fs = EmptyDirFileSystem() 113 app_samples_fs = EmptyDirFileSystem()
117 else: 114 else:
118 extension_samples_fs = host_fs_at_trunk 115 extension_samples_fs = host_fs_at_trunk
119 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. 116 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097.
120 app_samples_fs = EmptyDirFileSystem() 117 app_samples_fs = EmptyDirFileSystem()
121 #app_samples_fs = github_file_system_provider.Create( 118 #app_samples_fs = github_file_system_provider.Create(
122 # 'GoogleChrome', 'chrome-app-samples') 119 # 'GoogleChrome', 'chrome-app-samples')
123 self.samples_data_source_factory = SamplesDataSource.Factory( 120 self.samples_data_source_factory = SamplesDataSource.Factory(
124 extension_samples_fs, 121 extension_samples_fs,
125 app_samples_fs, 122 app_samples_fs,
126 CompiledFileSystem.Factory(object_store_creator), 123 CompiledFileSystem.Factory(object_store_creator),
127 self.ref_resolver_factory, 124 self.ref_resolver,
128 base_path) 125 base_path)
129 126
130 self.api_data_source_factory.SetSamplesDataSourceFactory( 127 self.api_data_source_factory.SetSamplesDataSourceFactory(
131 self.samples_data_source_factory) 128 self.samples_data_source_factory)
132 129
133 self.content_providers = ContentProviders( 130 self.content_providers = ContentProviders(
134 object_store_creator, 131 object_store_creator,
135 self.compiled_fs_factory, 132 self.compiled_fs_factory,
136 host_fs_at_trunk, 133 host_fs_at_trunk,
137 self.github_file_system_provider, 134 self.github_file_system_provider,
138 self.gcs_file_system_provider) 135 self.gcs_file_system_provider)
139 136
140 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry, 137 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry,
141 # then factor out the DataSource creation into a factory method, so that 138 # then factor out the DataSource creation into a factory method, so that
142 # the entire ServerInstance doesn't need to be passed in here. 139 # the entire ServerInstance doesn't need to be passed in here.
143 self.template_renderer = TemplateRenderer(self) 140 self.template_renderer = TemplateRenderer(self)
144 141
145 # TODO(kalman): It may be better for |document_renderer| to construct a 142 # TODO(kalman): It may be better for |document_renderer| to construct a
146 # TemplateDataSource itself rather than depending on template_renderer, but 143 # TemplateDataSource itself rather than depending on template_renderer, but
147 # for that the above todo should be addressed. 144 # for that the above todo should be addressed.
148 self.document_renderer = DocumentRenderer( 145 self.document_renderer = DocumentRenderer(
149 TableOfContentsRenderer(host_fs_at_trunk, 146 TableOfContentsRenderer(host_fs_at_trunk,
150 compiled_fs_factory, 147 compiled_fs_factory,
151 self.template_renderer), 148 self.template_renderer),
152 self.ref_resolver_factory.Create()) 149 self.ref_resolver)
153 150
154 @staticmethod 151 @staticmethod
155 def ForTest(file_system=None, file_system_provider=None, base_path='/'): 152 def ForTest(file_system=None, file_system_provider=None, base_path='/'):
156 object_store_creator = ObjectStoreCreator.ForTest() 153 object_store_creator = ObjectStoreCreator.ForTest()
157 if file_system is None and file_system_provider is None: 154 if file_system is None and file_system_provider is None:
158 raise ValueError('Either |file_system| or |file_system_provider| ' 155 raise ValueError('Either |file_system| or |file_system_provider| '
159 'must be specified') 156 'must be specified')
160 if file_system and file_system_provider: 157 if file_system and file_system_provider:
161 raise ValueError('Only one of |file_system| and |file_system_provider| ' 158 raise ValueError('Only one of |file_system| and |file_system_provider| '
162 'can be specified') 159 'can be specified')
(...skipping 15 matching lines...) Expand all
178 store_type=TestObjectStore) 175 store_type=TestObjectStore)
179 host_file_system_provider = HostFileSystemProvider.ForLocal( 176 host_file_system_provider = HostFileSystemProvider.ForLocal(
180 object_store_creator) 177 object_store_creator)
181 return ServerInstance( 178 return ServerInstance(
182 object_store_creator, 179 object_store_creator,
183 CompiledFileSystem.Factory(object_store_creator), 180 CompiledFileSystem.Factory(object_store_creator),
184 TestBranchUtility.CreateWithCannedData(), 181 TestBranchUtility.CreateWithCannedData(),
185 host_file_system_provider, 182 host_file_system_provider,
186 GithubFileSystemProvider.ForEmpty(), 183 GithubFileSystemProvider.ForEmpty(),
187 CloudStorageFileSystemProvider(object_store_creator)) 184 CloudStorageFileSystemProvider(object_store_creator))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698