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

Unified Diff: tools/telemetry/telemetry/page/actions/play.py

Issue 19482009: Telemetry media Seek action and metrics. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add base media action class and JS code. Created 7 years, 5 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/telemetry/telemetry/page/actions/play.py
diff --git a/tools/telemetry/telemetry/page/actions/play.py b/tools/telemetry/telemetry/page/actions/play.py
index 26b657f028c7c96a5bf8416dba56fdb31f9d3393..3f673711a4fae44fc9489f5930fbb2a024842605 100644
--- a/tools/telemetry/telemetry/page/actions/play.py
+++ b/tools/telemetry/telemetry/page/actions/play.py
@@ -1,4 +1,4 @@
-# Copyright 2013 The Chromium Authors. All rights reserved.
+# Copyright (c) 2013 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.
@@ -12,27 +12,24 @@ Other attributes to use are: wait_for_playing and wait_for_ended, which forces
the action to wait until playing and ended events get fired respectively.
"""
-import os
-
+from telemetry.page.actions.media_action import MediaAction
from telemetry.core import exceptions
-from telemetry.core import util
from telemetry.page.actions import page_action
-class PlayAction(page_action.PageAction):
+class PlayAction(MediaAction):
def __init__(self, attributes=None):
super(PlayAction, self).__init__(attributes)
def WillRunAction(self, page, tab):
"""Load the media metrics JS code prior to running the action."""
- with open(os.path.join(os.path.dirname(__file__), 'play.js')) as f:
- js = f.read()
- tab.ExecuteJavaScript(js)
+ super(PlayAction, self).WillRunAction(page, tab)
+ self.LoadJS(tab, 'play.js')
def RunAction(self, page, tab, previous_action):
try:
selector = self.selector if hasattr(self, 'selector') else ''
- tab.ExecuteJavaScript('window.__playMedia(\'%s\');' % selector)
+ tab.ExecuteJavaScript('window.__playMedia("%s");' % selector)
timeout = self.wait_timeout if hasattr(self, 'wait_timeout') else 60
# Check if we need to wait for 'playing' event to fire.
if hasattr(self, 'wait_for_playing') and self.wait_for_playing:
@@ -43,12 +40,3 @@ class PlayAction(page_action.PageAction):
except exceptions.EvaluateException:
raise page_action.PageActionFailed('Cannot play media element(s) with '
'selector = %s.' % selector)
-
- def WaitForEvent(self, tab, selector, event_name, timeout):
- """Halts play action until the selector's event is fired."""
- util.WaitFor(lambda: self.HasEventCompleted(tab, selector, event_name),
- timeout=timeout, poll_interval=0.5)
-
- def HasEventCompleted(self, tab, selector, event_name):
- return tab.EvaluateJavaScript(
- 'window.__hasEventCompleted(\'%s\', \'%s\');' % (selector, event_name))
« no previous file with comments | « tools/telemetry/telemetry/page/actions/play.js ('k') | tools/telemetry/telemetry/page/actions/play_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698