Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(996)

Side by Side Diff: tools/telemetry/telemetry/browser.py

Issue 11882033: Telemetry support for extensions. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: rebase Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import os 4 import os
5 5
6 from telemetry import browser_credentials 6 from telemetry import browser_credentials
7 from telemetry import extension_dict
7 from telemetry import tab_list 8 from telemetry import tab_list
8 from telemetry import temporary_http_server 9 from telemetry import temporary_http_server
9 from telemetry import wpr_modes 10 from telemetry import wpr_modes
10 from telemetry import wpr_server 11 from telemetry import wpr_server
11 12
12 13
13 class Browser(object): 14 class Browser(object):
14 """A running browser instance that can be controlled in a limited way. 15 """A running browser instance that can be controlled in a limited way.
15 16
16 To create a browser instance, use browser_finder.FindBrowser. 17 To create a browser instance, use browser_finder.FindBrowser.
17 18
18 Be sure to clean up after yourself by calling Close() when you are done with 19 Be sure to clean up after yourself by calling Close() when you are done with
19 the browser. Or better yet: 20 the browser. Or better yet:
20 browser_to_create = FindBrowser(options) 21 browser_to_create = FindBrowser(options)
21 with browser_to_create.Create() as browser: 22 with browser_to_create.Create() as browser:
22 ... do all your operations on browser here 23 ... do all your operations on browser here
23 """ 24 """
24 def __init__(self, browser_backend, platform): 25 def __init__(self, browser_backend, platform):
25 self._browser_backend = browser_backend 26 self._browser_backend = browser_backend
26 self._http_server = None 27 self._http_server = None
27 self._wpr_server = None 28 self._wpr_server = None
28 self._platform = platform 29 self._platform = platform
29 self._tabs = tab_list.TabList(browser_backend.tab_list_backend) 30 self._tabs = tab_list.TabList(browser_backend.tab_list_backend)
31 self._extensions = None
32 if not browser_backend.is_content_shell:
nduca 2013/02/01 00:25:50 android isn't content shell.... treat these separa
achuithb 2013/02/06 00:23:03 Done.
33 self._extensions = extension_dict.ExtensionDict(
34 browser_backend.extension_dict_backend)
30 self.credentials = browser_credentials.BrowserCredentials() 35 self.credentials = browser_credentials.BrowserCredentials()
31 36
32 def __enter__(self): 37 def __enter__(self):
33 return self 38 return self
34 39
35 def __exit__(self, *args): 40 def __exit__(self, *args):
36 self.Close() 41 self.Close()
37 42
38 @property 43 @property
39 def platform(self): 44 def platform(self):
40 return self._platform 45 return self._platform
41 46
42 @property 47 @property
43 def browser_type(self): 48 def browser_type(self):
44 return self._browser_backend.browser_type 49 return self._browser_backend.browser_type
45 50
46 @property 51 @property
47 def is_content_shell(self): 52 def is_content_shell(self):
48 """Returns whether this browser is a content shell, only.""" 53 """Returns whether this browser is a content shell, only."""
49 return self._browser_backend.is_content_shell 54 return self._browser_backend.is_content_shell
50 55
51 @property 56 @property
52 def supports_tab_control(self): 57 def supports_tab_control(self):
53 return self._browser_backend.supports_tab_control 58 return self._browser_backend.supports_tab_control
54 59
55 @property 60 @property
56 def tabs(self): 61 def tabs(self):
57 return self._tabs 62 return self._tabs
58 63
59 @property 64 @property
nduca 2013/02/01 00:25:50 you dont have a supports_extensions property. you
achuithb 2013/02/06 00:23:03 Done.
65 def extensions(self):
nduca 2013/02/01 00:25:50 doc tring should say that this may not be there a
achuithb 2013/02/06 00:23:03 Done.
66 return self._extensions
67
68 @property
60 def supports_tracing(self): 69 def supports_tracing(self):
61 return self._browser_backend.supports_tracing 70 return self._browser_backend.supports_tracing
62 71
63 def StartTracing(self): 72 def StartTracing(self):
64 return self._browser_backend.StartTracing() 73 return self._browser_backend.StartTracing()
65 74
66 def StopTracing(self): 75 def StopTracing(self):
67 return self._browser_backend.StopTracing() 76 return self._browser_backend.StopTracing()
68 77
69 def GetTraceResultAndReset(self): 78 def GetTraceResultAndReset(self):
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 archive_path, 134 archive_path,
126 use_record_mode, 135 use_record_mode,
127 self._browser_backend.WEBPAGEREPLAY_HOST, 136 self._browser_backend.WEBPAGEREPLAY_HOST,
128 self._browser_backend.webpagereplay_local_http_port, 137 self._browser_backend.webpagereplay_local_http_port,
129 self._browser_backend.webpagereplay_local_https_port, 138 self._browser_backend.webpagereplay_local_https_port,
130 self._browser_backend.webpagereplay_remote_http_port, 139 self._browser_backend.webpagereplay_remote_http_port,
131 self._browser_backend.webpagereplay_remote_https_port) 140 self._browser_backend.webpagereplay_remote_https_port)
132 141
133 def GetStandardOutput(self): 142 def GetStandardOutput(self):
134 return self._browser_backend.GetStandardOutput() 143 return self._browser_backend.GetStandardOutput()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698