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

Unified Diff: tools/chrome_remote_control/chrome_remote_control/replay_server.py

Issue 10965027: Add web page replay to chrome_remote_control. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Replace CreateForwarder with CreateReplayServer Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: tools/chrome_remote_control/chrome_remote_control/replay_server.py
diff --git a/tools/chrome_remote_control/chrome_remote_control/replay_server.py b/tools/chrome_remote_control/chrome_remote_control/replay_server.py
new file mode 100644
index 0000000000000000000000000000000000000000..c078335ff7a6c5e8abf37ae912228c7b758c3c1f
--- /dev/null
+++ b/tools/chrome_remote_control/chrome_remote_control/replay_server.py
@@ -0,0 +1,63 @@
+# Copyright (c) 2012 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.
+import os
+import sys
+
+# Get chrome/test/functional scripts into our path.
+# TODO(tonyg): Move webpagereplay.py to a common location.
+sys.path.append(
+ os.path.abspath(
+ os.path.join(os.path.dirname(__file__),
+ '../../../chrome/test/functional')))
+import webpagereplay
+
+CHROME_FLAGS = webpagereplay.CHROME_FLAGS
+
+class ReplayServer(object):
+ def __init__(self, browser_backend, path, is_record_mode):
+ self._browser_backend = browser_backend
+ self._http_forwarder = None
+ self._https_forwarder = None
+ self._web_page_replay = None
+ self._is_record_mode = is_record_mode
+
+ self._http_forwarder = browser_backend.CreateForwarder(
+ webpagereplay.HTTP_PORT)
+ self._https_forwarder = browser_backend.CreateForwarder(
+ webpagereplay.HTTPS_PORT)
+
+ options = []
+ if self._is_record_mode:
+ options.append('--record')
+ self._web_page_replay = webpagereplay.ReplayServer(path, options)
+ self._web_page_replay.StartServer()
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *args):
+ self.Close()
+
+ def Close(self):
+ if self._browser_backend:
+ self._browser_backend.Close()
+ if self._http_forwarder:
+ self._http_forwarder.Close()
+ self._http_forwarder = None
+ if self._https_forwarder:
+ self._https_forwarder.Close()
+ self._https_forwarder = None
+ if self._web_page_replay:
+ self._web_page_replay.StopServer()
+ self._web_page_replay = None
+
+class DoNothingReplayServer(object):
+ def __init__(self, browser_backend, path, is_record_mode):
+ pass
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *args):
+ pass
« no previous file with comments | « tools/chrome_remote_control/chrome_remote_control/possible_browser.py ('k') | tools/gpu/page_sets/2012Q3.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698