Index: chrome/common/extensions/docs/server2/api_data_source.py |
diff --git a/chrome/common/extensions/docs/server2/api_data_source.py b/chrome/common/extensions/docs/server2/api_data_source.py |
index c57ecc54815266723657b01c57c01ea5c664003d..edee42053897eff3b2b10d46a5869eb67566e314 100644 |
--- a/chrome/common/extensions/docs/server2/api_data_source.py |
+++ b/chrome/common/extensions/docs/server2/api_data_source.py |
@@ -9,6 +9,7 @@ from file_system import FileNotFoundError |
from future import Future, All |
from jsc_view import JSCView, GetEventByNameFromEvents |
from platform_util import GetPlatforms |
+from samples_data_source import CreateSamplesView |
class _LazySamplesGetter(object): |
@@ -16,12 +17,12 @@ class _LazySamplesGetter(object): |
the apps samples page and vice versa. |
''' |
- def __init__(self, api_name, samples): |
+ def __init__(self, api_name, samples_getter): |
self._api_name = api_name |
- self._samples = samples |
+ self._samples_getter = samples_getter |
- def get(self, key): |
- return self._samples.FilterSamples(key, self._api_name) |
+ def get(self, platform): |
+ return self._samples_getter(platform, self._api_name) |
class APIDataSource(DataSource): |
@@ -43,7 +44,9 @@ class APIDataSource(DataSource): |
# This caches the result of _LoadEventByName. |
self._event_byname_futures = {} |
- self._samples = server_instance.samples_data_source_factory.Create(request) |
+ self._samples_getter = lambda platform, api_name: CreateSamplesView( |
+ self._platform_bundle.GetSamplesModel(platform).FilterSamples(api_name), |
+ request) |
def _LoadEventByName(self, platform): |
'''All events have some members in common. We source their description |
@@ -86,7 +89,7 @@ class APIDataSource(DataSource): |
if not IsPreviewServer(): |
jsc_view['samples'] = _LazySamplesGetter( |
not at google - send to devlin
2014/08/05 16:04:25
do we still need this _LazySamplesGetter? that was
|
jsc_view['name'], |
- self._samples) |
+ self._samples_getter) |
return jsc_view |
return Future(callback=resolve) |