| OLD | NEW |
| (Empty) |
| 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 | |
| 3 # found in the LICENSE file. | |
| 4 import os | |
| 5 import sys | |
| 6 | |
| 7 # Get chrome/test/functional scripts into our path. | |
| 8 # TODO(tonyg): Move webpagereplay.py to a common location. | |
| 9 sys.path.append( | |
| 10 os.path.abspath( | |
| 11 os.path.join(os.path.dirname(__file__), | |
| 12 '../../../chrome/test/functional'))) | |
| 13 import webpagereplay # pylint: disable=F0401 | |
| 14 | |
| 15 CHROME_FLAGS = webpagereplay.CHROME_FLAGS | |
| 16 | |
| 17 class ReplayServer(object): | |
| 18 def __init__(self, browser_backend, path, is_record_mode): | |
| 19 self._browser_backend = browser_backend | |
| 20 self._forwarder = None | |
| 21 self._web_page_replay = None | |
| 22 self._is_record_mode = is_record_mode | |
| 23 | |
| 24 self._forwarder = browser_backend.CreateForwarder( | |
| 25 webpagereplay.HTTP_PORT, webpagereplay.HTTPS_PORT) | |
| 26 | |
| 27 options = [] | |
| 28 if self._is_record_mode: | |
| 29 options.append('--record') | |
| 30 if not browser_backend.options.wpr_make_javascript_deterministic: | |
| 31 options.append('--inject_scripts=') | |
| 32 self._web_page_replay = webpagereplay.ReplayServer(path, options) | |
| 33 self._web_page_replay.StartServer() | |
| 34 | |
| 35 def __enter__(self): | |
| 36 return self | |
| 37 | |
| 38 def __exit__(self, *args): | |
| 39 self.Close() | |
| 40 | |
| 41 def Close(self): | |
| 42 if self._forwarder: | |
| 43 self._forwarder.Close() | |
| 44 self._forwarder = None | |
| 45 if self._web_page_replay: | |
| 46 self._web_page_replay.StopServer() | |
| 47 self._web_page_replay = None | |
| OLD | NEW |