aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2020-04-01 20:42:30 +0300
committerRblSb <msrblsb@gmail.com>2020-04-01 20:42:30 +0300
commit62c9be74228549ff888b684a62f77fb056571470 (patch)
tree7f2c94f7eff7e22d1c4b3e3077e9b69e6e023bec
parentfd495d14af55b5196bdb3adc4ef092ab2952d94f (diff)
Dodge FF video controls bug
-rw-r--r--res/client.js20
-rw-r--r--src/client/Main.hx1
-rw-r--r--src/client/players/Raw.hx15
3 files changed, 19 insertions, 17 deletions
diff --git a/res/client.js b/res/client.js
index d3043fd..0611166 100644
--- a/res/client.js
+++ b/res/client.js
@@ -1069,7 +1069,7 @@ client_Main.prototype = {
var data = JSON.parse(e.data);
var t = data.type;
var t1 = t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null);
- haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 300, className : "client.Main", methodName : "onMessage", customParams : [data[t1]]});
+ haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 299, className : "client.Main", methodName : "onMessage", customParams : [data[t1]]});
switch(data.type) {
case "AddVideo":
this.player.addVideoItem(data.addVideo.item,data.addVideo.atEnd);
@@ -2026,17 +2026,19 @@ client_players_Raw.prototype = {
this.video.src = url;
this.video.controls = true;
var isTouch = 'ontouchstart' in window;
+ if(client_players_Raw.controlsHider != null) {
+ client_players_Raw.controlsHider.stop();
+ }
if(!isTouch) {
- haxe_Timer.delay(function() {
- _gthis.video.controls = false;
- _gthis.video.onmouseover = function(e) {
- _gthis.video.controls = true;
- _gthis.video.onmouseover = null;
- return _gthis.video.onmousemove = null;
- };
- return _gthis.video.onmousemove = _gthis.video.onmouseover;
+ client_players_Raw.controlsHider = haxe_Timer.delay(function() {
+ return _gthis.video.controls = false;
},3000);
}
+ this.video.onmousemove = function(e) {
+ client_players_Raw.controlsHider.stop();
+ _gthis.video.controls = true;
+ return _gthis.video.onmousemove = null;
+ };
this.video.oncanplaythrough = ($_=this.player,$bind($_,$_.onCanBePlayed));
this.video.onseeking = ($_=this.player,$bind($_,$_.onSetTime));
this.video.onplay = function(e1) {
diff --git a/src/client/Main.hx b/src/client/Main.hx
index 664495e..f65640a 100644
--- a/src/client/Main.hx
+++ b/src/client/Main.hx
@@ -8,7 +8,6 @@ import js.html.KeyboardEvent;
import js.html.Event;
import js.html.Element;
import js.html.InputElement;
-import js.html.VideoElement;
import js.html.WebSocket;
import js.Browser;
import js.Browser.document;
diff --git a/src/client/players/Raw.hx b/src/client/players/Raw.hx
index 5637b1c..c7fa980 100644
--- a/src/client/players/Raw.hx
+++ b/src/client/players/Raw.hx
@@ -10,6 +10,7 @@ import Types.VideoItem;
class Raw implements IPlayer {
+ static var controlsHider:Timer;
final main:Main;
final player:Player;
final playerEl:Element = ge("#ytapiplayer");
@@ -50,15 +51,15 @@ class Raw implements IPlayer {
video.src = url;
video.controls = true;
final isTouch = untyped __js__("'ontouchstart' in window");
- if (!isTouch) Timer.delay(() -> {
+ if (controlsHider != null) controlsHider.stop();
+ if (!isTouch) controlsHider = Timer.delay(() -> {
video.controls = false;
- video.onmouseover = e -> {
- video.controls = true;
- video.onmouseover = null;
- video.onmousemove = null;
- }
- video.onmousemove = video.onmouseover;
}, 3000);
+ video.onmousemove = e -> {
+ controlsHider.stop();
+ video.controls = true;
+ video.onmousemove = null;
+ }
video.oncanplaythrough = player.onCanBePlayed;
video.onseeking = player.onSetTime;
video.onplay = e -> {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage