Index: tools/telemetry/telemetry/browser.py |
=================================================================== |
--- tools/telemetry/telemetry/browser.py (revision 182312) |
+++ tools/telemetry/telemetry/browser.py (working copy) |
@@ -3,13 +3,14 @@ |
# found in the LICENSE file. |
import os |
+from telemetry import browser_backend |
from telemetry import browser_credentials |
+from telemetry import extension_dict |
from telemetry import tab_list |
from telemetry import temporary_http_server |
from telemetry import wpr_modes |
from telemetry import wpr_server |
- |
class Browser(object): |
"""A running browser instance that can be controlled in a limited way. |
@@ -21,12 +22,16 @@ |
with browser_to_create.Create() as browser: |
... do all your operations on browser here |
""" |
- def __init__(self, browser_backend, platform): |
- self._browser_backend = browser_backend |
+ def __init__(self, backend, platform): |
+ self._browser_backend = backend |
self._http_server = None |
self._wpr_server = None |
self._platform = platform |
- self._tabs = tab_list.TabList(browser_backend.tab_list_backend) |
+ self._tabs = tab_list.TabList(backend.tab_list_backend) |
+ self._extensions = None |
+ if backend.supports_extensions: |
+ self._extensions = extension_dict.ExtensionDict( |
+ backend.extension_dict_backend) |
self.credentials = browser_credentials.BrowserCredentials() |
def __enter__(self): |
@@ -49,6 +54,10 @@ |
return self._browser_backend.is_content_shell |
@property |
+ def supports_extensions(self): |
+ return self._browser_backend.supports_extensions |
+ |
+ @property |
def supports_tab_control(self): |
return self._browser_backend.supports_tab_control |
@@ -57,6 +66,14 @@ |
return self._tabs |
@property |
+ def extensions(self): |
+ """Returns the extension dictionary if it exists.""" |
+ if not self.supports_extensions: |
+ raise browser_backend.ExtensionsNotSupportedException( |
+ 'Extensions not supported') |
+ return self._extensions |
+ |
+ @property |
def supports_tracing(self): |
return self._browser_backend.supports_tracing |