Index: tools/telemetry/telemetry/core/timeline/model.py |
diff --git a/tools/telemetry/telemetry/core/timeline/model.py b/tools/telemetry/telemetry/core/timeline/model.py |
index 5efddd3aca113ede2a740c372079c67dca183d48..61ab315f968555387683dce9881d21b961c48604 100644 |
--- a/tools/telemetry/telemetry/core/timeline/model.py |
+++ b/tools/telemetry/telemetry/core/timeline/model.py |
@@ -10,6 +10,8 @@ https://code.google.com/p/trace-viewer/ |
from operator import attrgetter |
import telemetry.core.timeline.process as tracing_process |
+from telemetry.core import web_contents |
+from telemetry.core import browser |
# Register importers for data |
from telemetry.core.timeline import inspector_importer |
@@ -41,6 +43,7 @@ class TimelineModel(object): |
self._frozen = False |
self.import_errors = [] |
self.metadata = [] |
+ self._core_object_to_timeline_container_map = {} |
if event_data is not None: |
self.ImportTraces([event_data], shift_world_to_zero=shift_world_to_zero) |
@@ -168,6 +171,18 @@ class TimelineModel(object): |
return events |
+ def GetRendererProcessFromTab(self, tab): |
+ return self._core_object_to_timeline_container_map[tab] |
+ |
+ def AddCoreObjectToContainerMapping(self, core_object, container): |
+ """ Add a mapping from a core object to a timeline container. |
+ |
+ Used for example to map a Tab to its renderer process in the timeline model. |
+ """ |
+ assert(isinstance(core_object, web_contents.WebContents) or |
+ isinstance(core_object, browser.Browser)) |
+ self._core_object_to_timeline_container_map[core_object] = container |
+ |
def _CreateImporter(self, event_data): |
for importer_class in _IMPORTERS: |
if importer_class.CanImport(event_data): |