| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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)) |
| OLD | NEW |