Index: chrome/common/extensions/docs/server2/document_renderer.py |
diff --git a/chrome/common/extensions/docs/server2/document_renderer.py b/chrome/common/extensions/docs/server2/document_renderer.py |
index 7c2cd37616acc1fd8715f86a76c46005a365c3c1..6a033752a925fea7dac64505ead54444f7776001 100644 |
--- a/chrome/common/extensions/docs/server2/document_renderer.py |
+++ b/chrome/common/extensions/docs/server2/document_renderer.py |
@@ -5,6 +5,7 @@ |
import logging |
import os |
from document_parser import ParseDocument |
+from platform_util import ExtractPlatformFromURL |
from third_party.json_schema_compiler.model import UnixName |
@@ -21,9 +22,9 @@ class DocumentRenderer(object): |
the concept. Currently title and table_of_contents are supported. |
''' |
- def __init__(self, table_of_contents_renderer, ref_resolver): |
+ def __init__(self, table_of_contents_renderer, platform_bundle): |
self._table_of_contents_renderer = table_of_contents_renderer |
- self._ref_resolver = ref_resolver |
+ self._platform_bundle = platform_bundle |
def _RenderLinks(self, document, path): |
''' Replaces all $(ref:...) references in |document| with html links. |
@@ -67,9 +68,15 @@ class DocumentRenderer(object): |
api_name = os.path.splitext(os.path.basename(path))[0].replace('_', '.') |
title = ref_parts[0] if len(ref_parts) == 1 else ref_parts[1] |
- ref_dict = self._ref_resolver.SafeGetLink(ref_parts[0], |
- namespace=api_name, |
- title=title) |
+ platform = ExtractPlatformFromURL(path) |
+ if platform is None: |
+ logging.error('Cannot resolve reference without a platform.') |
+ continue |
+ ref_dict = self._platform_bundle.GetReferenceResolver( |
+ platform).SafeGetLink(ref_parts[0], |
+ namespace=api_name, |
+ title=title, |
+ path=path) |
new_document.append(document[cursor_index:start_ref_index]) |
new_document.append('<a href=%s>%s</a>' % (ref_dict['href'], |