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

Side by Side Diff: tools/chrome_remote_control/chrome_remote_control/page_runner.py

Issue 10965027: Add web page replay to chrome_remote_control. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 replay_server
4 import os 5 import os
5 import time 6 import time
6 import urlparse 7 import urlparse
7 8
8 class PageRunner(object): 9 class PageRunner(object):
9 def __init__(self, page_set): 10 def __init__(self, page_set, options):
nduca 2012/09/21 06:35:50 I'm hoping once we allow the page runner to contro
tonyg 2012/09/25 17:29:29 Thinking about this more, record.py vs --record ju
10 self.page_set = page_set 11 self.page_set = page_set
11 self._server = None 12 self._server = None
13 self._replay_server = replay_server.ReplayServer(page_set.archive_path,
14 options.record)
12 15
13 def __del__(self): 16 def __del__(self):
14 self.Close() 17 self.Close()
15 18
16 def Close(self): 19 def Close(self):
17 if self._server: 20 if self._server:
18 self._server.Close() 21 self._server.Close()
19 self._server = None 22 self._server = None
23 if self._replay_server:
24 self._replay_server.Close()
25 self._replay_server = None
20 26
21 def PreparePage(self, page, tab): 27 def PreparePage(self, page, tab):
22 parsed_url = urlparse.urlparse(page.url) 28 parsed_url = urlparse.urlparse(page.url)
23 if parsed_url[0] == 'file': 29 if parsed_url[0] == 'file':
24 path = os.path.join(self.page_set.file_path, parsed_url[2]) 30 path = os.path.join(self.page_set.file_path, parsed_url[2])
25 dirname, filename = os.path.split(path) 31 dirname, filename = os.path.split(path)
26 if self._server and self._server.path != dirname: 32 if self._server and self._server.path != dirname:
27 self._server.Close() 33 self._server.Close()
28 self._server = None 34 self._server = None
29 if not self._server: 35 if not self._server:
30 self._server = tab.browser.CreateTemporaryHTTPServer(dirname) 36 self._server = tab.browser.CreateTemporaryHTTPServer(dirname)
31 page.url = self._server.UrlOf(filename) 37 page.url = self._server.UrlOf(filename)
32 38
33 tab.page.Navigate(page.url) 39 tab.page.Navigate(page.url)
34 # TODO(dtu): Detect HTTP redirects. 40 # TODO(dtu): Detect HTTP redirects.
35 if page.wait_time_after_navigate: 41 if page.wait_time_after_navigate:
36 # Wait for unpredictable redirects. 42 # Wait for unpredictable redirects.
37 time.sleep(page.wait_time_after_navigate) 43 time.sleep(page.wait_time_after_navigate)
38 tab.WaitForDocumentReadyStateToBeInteractiveOrBetter() 44 tab.WaitForDocumentReadyStateToBeInteractiveOrBetter()
39 45
40 def CleanUpPage(self): 46 def CleanUpPage(self):
41 pass 47 pass
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698