VP-19: Hide native webkit videoPlayer controls and use our own

Metadata

Source
VP-19
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
N/A
Reporter
Alexey Novak
Created
2012-09-04T16:34:00.979-0400
Updated
2013-03-01T09:13:41.515-0500
Versions
N/A
Fixed Versions
N/A
Component
  1. controls

Description

In Safari the native controls are shown on top of our controls when we load the video player. We should be hiding built-in controls. This also happen in Chrome when the 'track element' flag is turned on.

Comments

  • Alexey Novak commented 2012-09-06T11:01:21.936-0400

    It looks like Safari should not show any videoPlayer controls when attribute "controls" is not present in the <video> tag. It should work just as Chrome does which does not show any controls.
    Although if you inspect <video> and then flip controls attribute of the video element from false to true and then back from true to false you will see that controls will disappear.

    The source for the proper interactions http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Introduction/Introduction.html

  • Alexey Novak commented 2012-09-17T10:47:01.384-0400

    At first I though it might be a Safari issue but creating a simple example from scratch showed me that it works as intended.

    I went through the history of commits and found that demo branch worked as intended on this commit
    2012-03-01 6:12 (db05e6d)

    and then default controls showed after the next following merge commit
    2012-03-02 10:21 (05deea2)

  • Alexey Novak commented 2012-09-17T11:03:13.951-0400

    Right between working and non-working versions there were 2 commits:

    cc955fe
    89b8020

  • Alexey Novak commented 2012-09-17T11:30:21.090-0400

    Commit is very big and consist of many changes which is unfortunate because it is much harder to find what was an exact issue.

    But moving file by file from 1 commit to another I narrowed down that modifications to the videoPlayer_html5Captionator introduced a regression.

  • Alexey Novak commented 2012-09-17T12:58:16.521-0400

    It seems that this exact change would be the cause of the regression. Not sure why exactly

    • if ($.inArray(key, fluid.get(that.model, elPaths.currentCaptions)) !== -1 && displayCaptions) {
      + if ($.inArray(key, that.readIndirect("elPaths.currentCaptions")) !== -1 && that.readIndirect("elPaths.displayCaption")) {

    In particular that.readIndirect("elPaths.displayCaption")

    as I noticed there is another regression in the videoPlayer that captions are shown in the video at start even though they should be off

  • Alexey Novak commented 2012-09-17T13:06:24.879-0400

    a typo in the code
    "elPaths.currentCaption" should be "elPaths.currentCaptions"

  • Michelle D'Souza commented 2012-10-26T13:33:44.131-0400

    Merged into project repo at e7bb2a12a474b5d4e7b86b9d61fcd74f1be70373