xref: /aosp_15_r20/external/autotest/client/cros/video/vimeo_player.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li# Copyright 2015 The Chromium OS Authors. All rights reserved.
2*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
3*9c5db199SXin Li# found in the LICENSE file.
4*9c5db199SXin Li
5*9c5db199SXin Li
6*9c5db199SXin Lifrom autotest_lib.client.cros.video import video_player
7*9c5db199SXin Li
8*9c5db199SXin Li
9*9c5db199SXin Liclass VimeoPlayer(video_player.VideoPlayer):
10*9c5db199SXin Li    """
11*9c5db199SXin Li    Provides an interface to interact with vimeo player on a chrome device.
12*9c5db199SXin Li
13*9c5db199SXin Li    """
14*9c5db199SXin Li
15*9c5db199SXin Li
16*9c5db199SXin Li    def is_video_ready(self):
17*9c5db199SXin Li        """
18*9c5db199SXin Li        Determines if a vimeo video is ready by using javascript.
19*9c5db199SXin Li
20*9c5db199SXin Li        returns: bool, True if video is ready, else False.
21*9c5db199SXin Li
22*9c5db199SXin Li        """
23*9c5db199SXin Li        return self.tab.EvaluateJavaScript('%s.isready' % self.video_id)
24*9c5db199SXin Li
25*9c5db199SXin Li
26*9c5db199SXin Li    def play(self):
27*9c5db199SXin Li        """
28*9c5db199SXin Li        Plays the vimeo video
29*9c5db199SXin Li
30*9c5db199SXin Li        """
31*9c5db199SXin Li        self.tab.ExecuteJavaScript('%s.play()' % self.video_id)
32*9c5db199SXin Li
33*9c5db199SXin Li
34*9c5db199SXin Li    def seek_to(self, t):
35*9c5db199SXin Li        """
36*9c5db199SXin Li        Seeks a vimeo video to a time stamp.
37*9c5db199SXin Li
38*9c5db199SXin Li        @param t: timedelta, time value to seek to.
39*9c5db199SXin Li
40*9c5db199SXin Li        """
41*9c5db199SXin Li        self.tab.EvaluateJavaScript('%s.seekTo(%d)' % (self.video_id,
42*9c5db199SXin Li                                                       int(t.total_seconds())))
43*9c5db199SXin Li
44*9c5db199SXin Li    def has_video_finished_seeking(self):
45*9c5db199SXin Li        """
46*9c5db199SXin Li        Determines if a vimeo video has finished seeking.
47*9c5db199SXin Li
48*9c5db199SXin Li        """
49*9c5db199SXin Li        return self.tab.EvaluateJavaScript('%s.seeked' % self.video_id)