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

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

Issue 10875044: Basic framework for devtools-based scrolling tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: with the added files Created 8 years, 4 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/tab.py
diff --git a/tools/chrome_remote_control/chrome_remote_control/tab.py b/tools/chrome_remote_control/chrome_remote_control/tab.py
new file mode 100644
index 0000000000000000000000000000000000000000..e7863d8c6b323ea2a1c053a6a46000543d61afc7
--- /dev/null
+++ b/tools/chrome_remote_control/chrome_remote_control/tab.py
@@ -0,0 +1,52 @@
+# 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 json
+import time
+import websocket
+import socket
+
+import tab_runtime
+
+class Tab(object):
+ def __init__(self, inspector_backend):
+ self._inspector_backend = inspector_backend
+ self.runtime = tab_runtime.TabRuntime(self._inspector_backend)
+
+ def __del__(self):
+ self.Close()
+
+ def Close(self):
+ if self._inspector_backend:
+ self._inspector_backend.Close()
+ self._inspector_backend = None
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *args):
+ self.Close()
+
+ def BeginToLoadURL(self, url):
+ # In order to tell when the document has actually changed,
+ # we go to about:blank first and wait. When that has happened, we
+ # to go the new URL and detect the document being non-about:blank as
+ # indication that the new document is loading.
+ self.runtime.Evaluate("document.location = 'about:blank';")
+ while self.runtime.Evaluate("document.location.href") != "about:blank":
+ time.sleep(0.01)
+
+ self.runtime.Evaluate("document.location = '%s';" % url)
+ while self.runtime.Evaluate("document.location.href") == "about:blank":
+ time.sleep(0.01)
+
+ def WaitForDocumentReadyStateToBeComplete(self):
+ while self.runtime.Evaluate("document.readyState") != 'complete':
+ time.sleep(0.01)
+
+ def WaitForDocumentReadyStateToBeInteractiveOrBetter(self):
+ while True:
+ rs = self.runtime.Evaluate("document.readyState")
+ if rs == 'complete' or rs == 'interactive':
+ break
+ time.sleep(0.01)

Powered by Google App Engine
This is Rietveld 408576698