OLD | NEW |
---|---|
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 | 4 |
5 import urllib2 | |
6 import httplib | 5 import httplib |
7 import socket | 6 import logging |
8 import json | 7 import json |
9 import re | 8 import re |
9 import socket | |
10 import sys | 10 import sys |
11 import urllib2 | |
11 | 12 |
12 from telemetry.core import util | 13 from telemetry.core import util |
13 from telemetry.core import exceptions | 14 from telemetry.core import exceptions |
14 from telemetry.core import user_agent | 15 from telemetry.core import user_agent |
15 from telemetry.core import wpr_modes | 16 from telemetry.core import wpr_modes |
16 from telemetry.core import wpr_server | 17 from telemetry.core import wpr_server |
17 from telemetry.core.chrome import extension_dict_backend | 18 from telemetry.core.chrome import extension_dict_backend |
18 from telemetry.core.chrome import tab_list_backend | 19 from telemetry.core.chrome import tab_list_backend |
19 from telemetry.core.chrome import tracing_backend | 20 from telemetry.core.chrome import tracing_backend |
20 from telemetry.core.chrome import misc_web_contents_backend | 21 from telemetry.core.chrome import misc_web_contents_backend |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
221 if ':sandboxed_process' in cmd_line: | 222 if ':sandboxed_process' in cmd_line: |
222 return 'renderer' | 223 return 'renderer' |
223 m = re.match(r'.* --type=([^\s]*) .*', cmd_line) | 224 m = re.match(r'.* --type=([^\s]*) .*', cmd_line) |
224 if not m: | 225 if not m: |
225 return 'browser' | 226 return 'browser' |
226 return m.group(1) | 227 return m.group(1) |
227 | 228 |
228 def GetRemotePort(self, _): | 229 def GetRemotePort(self, _): |
229 return util.GetAvailableLocalPort() | 230 return util.GetAvailableLocalPort() |
230 | 231 |
232 def CloseConnections(self): | |
233 tab = self._tab_list_backend[0] | |
234 try: | |
235 tab.ExecuteJavaScript("""window.chrome && chrome.benchmarking && | |
236 chrome.benchmarking.closeConnections();""") | |
237 except Exception: | |
238 pass | |
239 | |
240 def ClearCache(self): | |
241 tab = self._tab_list_backend[0] | |
242 try: | |
243 tab.ExecuteJavaScript("""chrome.benchmarking.clearCache(); | |
244 chrome.benchmarking.clearHostResolverCache(); | |
245 chrome.benchmarking.clearPredictorCache(); | |
246 chrome.benchmarking.closeConnections();""") | |
247 except exceptions.EvaluateException: | |
nduca
2013/06/06 22:49:04
this seems pretty funky, how do you know that this
tonyg
2013/06/20 02:42:29
This is gone now.
| |
248 logging.error('Failed to clear cache. Is --enable-net-benchmarking set?') | |
249 raise | |
250 | |
231 def Close(self): | 251 def Close(self): |
232 if self._tracing_backend: | 252 if self._tracing_backend: |
233 self._tracing_backend.Close() | 253 self._tracing_backend.Close() |
234 self._tracing_backend = None | 254 self._tracing_backend = None |
235 | 255 |
236 def CreateForwarder(self, *port_pairs): | 256 def CreateForwarder(self, *port_pairs): |
237 raise NotImplementedError() | 257 raise NotImplementedError() |
238 | 258 |
239 def IsBrowserRunning(self): | 259 def IsBrowserRunning(self): |
240 raise NotImplementedError() | 260 raise NotImplementedError() |
241 | 261 |
242 def GetStandardOutput(self): | 262 def GetStandardOutput(self): |
243 raise NotImplementedError() | 263 raise NotImplementedError() |
244 | 264 |
245 class DoNothingForwarder(object): | 265 class DoNothingForwarder(object): |
246 def __init__(self, *port_pairs): | 266 def __init__(self, *port_pairs): |
247 self._host_port = port_pairs[0].local_port | 267 self._host_port = port_pairs[0].local_port |
248 | 268 |
249 @property | 269 @property |
250 def url(self): | 270 def url(self): |
251 assert self._host_port | 271 assert self._host_port |
252 return 'http://127.0.0.1:%i' % self._host_port | 272 return 'http://127.0.0.1:%i' % self._host_port |
253 | 273 |
254 def Close(self): | 274 def Close(self): |
255 self._host_port = None | 275 self._host_port = None |
OLD | NEW |