| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from py_trace_event import trace_event |
| |
| |
| class NetworkController(object): |
| """Control network settings and servers to simulate the Web. |
| |
| Network changes include forwarding device ports to host platform ports. |
| Web Page Replay is used to record and replay HTTP/HTTPS responses. |
| """ |
| |
| __metaclass__ = trace_event.TracedMetaClass |
| |
| def __init__(self, network_controller_backend): |
| self._network_controller_backend = network_controller_backend |
| |
| def InitializeIfNeeded(self): |
| self._network_controller_backend.InitializeIfNeeded() |
| |
| def Open(self, wpr_mode, extra_wpr_args): |
| self._network_controller_backend.Open(wpr_mode, extra_wpr_args) |
| |
| @property |
| def is_open(self): |
| return self._network_controller_backend.is_open |
| |
| def Close(self): |
| self._network_controller_backend.Close() |
| |
| def StartReplay(self, archive_path, make_javascript_deterministic=False): |
| self._network_controller_backend.StartReplay( |
| archive_path, make_javascript_deterministic) |
| |
| def StopReplay(self): |
| self._network_controller_backend.StopReplay() |