Index: tools/telemetry/telemetry/browser_backend.py |
diff --git a/tools/telemetry/telemetry/browser_backend.py b/tools/telemetry/telemetry/browser_backend.py |
index b45919dd237c2d5c92e5d358f6f05432512e7a6e..3454ef5bde813d3a0e73e83b6e24f6453e138e0b 100644 |
--- a/tools/telemetry/telemetry/browser_backend.py |
+++ b/tools/telemetry/telemetry/browser_backend.py |
@@ -65,6 +65,14 @@ class BrowserBackend(object): |
def _debugger_url(self): |
return 'http://localhost:%i/json' % self._port |
+ def _ListExtensionPages(self, extension_id, timeout=None): |
+ req = urllib2.urlopen(self._debugger_url, timeout=timeout) |
+ data = req.read() |
+ all_contexts = json.loads(data) |
+ pages = [ctx for ctx in all_contexts |
+ if ctx['url'].startswith('chrome-extension://%s' % extension_id)] |
+ return pages |
+ |
def _ListTabs(self, timeout=None): |
req = urllib2.urlopen(self._debugger_url, timeout=timeout) |
data = req.read() |
@@ -102,6 +110,11 @@ class BrowserBackend(object): |
def GetNthTabUrl(self, index): |
return self._ListTabs()[index]['url'] |
+ def ConnectToExtensionPage(self, browser, extension_id): |
+ ib = inspector_backend.InspectorBackend(self, |
+ self._ListExtensionPages(extension_id)[0]) |
+ return tab.Tab(browser, ib) |
nduca
2012/11/29 05:09:27
raise exception if nothing found
nduca
2012/11/29 05:09:27
this change looks totally landable. we'll want a u
zel
2012/12/04 03:12:48
I don't see browser_backend_unittest.py - what am
|
+ |
def ConnectToNthTab(self, browser, index): |
ib = inspector_backend.InspectorBackend(self, self._ListTabs()[index]) |
return tab.Tab(browser, ib) |