Index: chrome/common/extensions/docs/server2/platform_bundle.py |
diff --git a/chrome/common/extensions/docs/server2/platform_bundle.py b/chrome/common/extensions/docs/server2/platform_bundle.py |
index 77c726367ece0a2d11b0dc02821ed670e896f7bc..2c406087aabba737c4e230a559c22dcf637b80a3 100644 |
--- a/chrome/common/extensions/docs/server2/platform_bundle.py |
+++ b/chrome/common/extensions/docs/server2/platform_bundle.py |
@@ -5,10 +5,13 @@ |
from api_categorizer import APICategorizer |
from api_models import APIModels |
from availability_finder import AvailabilityFinder |
+from empty_dir_file_system import EmptyDirFileSystem |
+from environment import IsDevServer |
from features_bundle import FeaturesBundle |
from future import All |
from platform_util import GetPlatforms, PlatformToExtensionType |
from reference_resolver import ReferenceResolver |
+from samples_model import SamplesModel |
class _PlatformData(object): |
@@ -18,6 +21,7 @@ class _PlatformData(object): |
self.reference_resolver = None |
self.availability_finder = None |
self.api_categorizer = None |
+ self.samples_model = None |
class PlatformBundle(object): |
@@ -28,14 +32,38 @@ class PlatformBundle(object): |
compiled_fs_factory, |
host_fs_at_trunk, |
host_file_system_iterator, |
- object_store_creator): |
+ object_store_creator, |
+ base_path): |
self._branch_utility = branch_utility |
self._compiled_fs_factory = compiled_fs_factory |
self._host_fs_at_trunk = host_fs_at_trunk |
self._host_file_system_iterator = host_file_system_iterator |
self._object_store_creator = object_store_creator |
+ self._base_path = base_path |
self._platform_data = dict((p, _PlatformData()) for p in GetPlatforms()) |
+ def GetSamplesModel(self, platform): |
+ if self._platform_data[platform].samples_model is None: |
+ # Note: samples are super slow in the dev server because it doesn't |
+ # support async fetch, so disable them. |
+ if IsDevServer(): |
+ extension_samples_fs = EmptyDirFileSystem() |
+ app_samples_fs = EmptyDirFileSystem() |
+ else: |
+ extension_samples_fs = self._host_fs_at_trunk |
+ # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. |
+ app_samples_fs = EmptyDirFileSystem() |
+ #app_samples_fs = github_file_system_provider.Create( |
+ # 'GoogleChrome', 'chrome-app-samples') |
+ self._platform_data[platform].samples_model = SamplesModel( |
+ extension_samples_fs, |
+ app_samples_fs, |
+ self._compiled_fs_factory, |
+ self.GetReferenceResolver(platform), |
+ self._base_path, |
+ platform) |
+ return self._platform_data[platform].samples_model |
+ |
def GetFeaturesBundle(self, platform): |
if self._platform_data[platform].features_bundle is None: |
self._platform_data[platform].features_bundle = FeaturesBundle( |