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 import os | 4 import os |
5 import sys | 5 import sys |
6 | 6 |
7 from telemetry.core import util | 7 from telemetry.core import util |
8 | 8 |
9 # Get chrome/test/functional scripts into our path. | 9 # Get chrome/test/functional scripts into our path. |
10 # TODO(tonyg): Move webpagereplay.py to a common location. | 10 # TODO(tonyg): Move webpagereplay.py to a common location. |
11 sys.path.append( | 11 sys.path.append( |
12 os.path.abspath( | 12 os.path.abspath( |
13 os.path.join(os.path.dirname(__file__), | 13 os.path.join(os.path.dirname(__file__), |
14 '..', '..', '..', '..', 'chrome', 'test', 'functional'))) | 14 '..', '..', '..', '..', 'chrome', 'test', 'functional'))) |
15 import webpagereplay # pylint: disable=F0401 | 15 import webpagereplay # pylint: disable=F0401 |
16 | 16 |
17 def GetChromeFlags(replay_host, http_port, https_port): | 17 def GetChromeFlags(replay_host, http_port, https_port): |
18 return webpagereplay.GetChromeFlags(replay_host, http_port, https_port) | 18 return webpagereplay.GetChromeFlags(replay_host, http_port, https_port) |
19 | 19 |
20 class _WebPageReplayServer(webpagereplay.ReplayServer): # pylint: disable=W0232 | |
21 def _AddDefaultReplayOptions(self): | |
22 """Override.Because '--no-dns_forwarding' is added by default in parent | |
chrisgao (Use stgao instead)
2013/07/31 19:05:41
"Override.Because" -> "Override. Because"
chrisgao (Use stgao instead)
2013/08/01 00:36:44
Done in https://codereview.chromium.org/21406004/.
| |
23 while webdriver-based backends need dns forwarding.""" | |
24 self.replay_options += [ | |
25 '--port', str(self._http_port), | |
26 '--ssl_port', str(self._https_port), | |
27 '--use_closest_match', | |
28 '--log_level', 'warning' | |
29 ] | |
30 | |
20 class ReplayServer(object): | 31 class ReplayServer(object): |
21 def __init__(self, browser_backend, path, is_record_mode, is_append_mode, | 32 def __init__(self, browser_backend, path, is_record_mode, is_append_mode, |
22 make_javascript_deterministic, webpagereplay_host, | 33 make_javascript_deterministic, webpagereplay_host, |
23 webpagereplay_local_http_port, webpagereplay_local_https_port, | 34 webpagereplay_local_http_port, webpagereplay_local_https_port, |
24 webpagereplay_remote_http_port, webpagereplay_remote_https_port): | 35 webpagereplay_remote_http_port, webpagereplay_remote_https_port): |
25 self._browser_backend = browser_backend | 36 self._browser_backend = browser_backend |
26 self._forwarder = None | 37 self._forwarder = None |
27 self._web_page_replay = None | 38 self._web_page_replay = None |
28 self._is_record_mode = is_record_mode | 39 self._is_record_mode = is_record_mode |
29 self._is_append_mode = is_append_mode | 40 self._is_append_mode = is_append_mode |
(...skipping 10 matching lines...) Expand all Loading... | |
40 self._webpagereplay_remote_https_port)) | 51 self._webpagereplay_remote_https_port)) |
41 | 52 |
42 options = browser_backend.options.extra_wpr_args | 53 options = browser_backend.options.extra_wpr_args |
43 if self._is_record_mode: | 54 if self._is_record_mode: |
44 if self._is_append_mode: | 55 if self._is_append_mode: |
45 options.append('--append') | 56 options.append('--append') |
46 else: | 57 else: |
47 options.append('--record') | 58 options.append('--record') |
48 if not make_javascript_deterministic: | 59 if not make_javascript_deterministic: |
49 options.append('--inject_scripts=') | 60 options.append('--inject_scripts=') |
50 self._web_page_replay = webpagereplay.ReplayServer( | 61 browser_backend.CustomizeReplayServerWithOptions(options) |
62 self._web_page_replay = _WebPageReplayServer( | |
51 path, | 63 path, |
52 self._webpagereplay_host, | 64 self._webpagereplay_host, |
53 self._webpagereplay_local_http_port, | 65 self._webpagereplay_local_http_port, |
54 self._webpagereplay_local_https_port, | 66 self._webpagereplay_local_https_port, |
55 options) | 67 options) |
56 self._web_page_replay.StartServer() | 68 self._web_page_replay.StartServer() |
57 | 69 |
58 def __enter__(self): | 70 def __enter__(self): |
59 return self | 71 return self |
60 | 72 |
61 def __exit__(self, *args): | 73 def __exit__(self, *args): |
62 self.Close() | 74 self.Close() |
63 | 75 |
64 def Close(self): | 76 def Close(self): |
65 if self._forwarder: | 77 if self._forwarder: |
66 self._forwarder.Close() | 78 self._forwarder.Close() |
67 self._forwarder = None | 79 self._forwarder = None |
68 if self._web_page_replay: | 80 if self._web_page_replay: |
69 self._web_page_replay.StopServer() | 81 self._web_page_replay.StopServer() |
70 self._web_page_replay = None | 82 self._web_page_replay = None |
OLD | NEW |