wrapperRequestFullscreen command

This commit is contained in:
shortcutme 2016-12-30 19:32:36 +01:00
parent 74a4a4b9da
commit 5103879471
3 changed files with 46 additions and 1 deletions

View file

@ -9,7 +9,7 @@ class Config(object):
def __init__(self, argv): def __init__(self, argv):
self.version = "0.5.1" self.version = "0.5.1"
self.rev = 1791 self.rev = 1795
self.argv = argv self.argv = argv
self.action = None self.action = None
self.config_file = "zeronet.conf" self.config_file = "zeronet.conf"

View file

@ -131,6 +131,8 @@ class Wrapper
@actionOpenWindow(message.params) @actionOpenWindow(message.params)
else if cmd == "wrapperPermissionAdd" else if cmd == "wrapperPermissionAdd"
@actionPermissionAdd(message) @actionPermissionAdd(message)
else if cmd == "wrapperRequestFullscreen"
@actionRequestFullscreen()
else # Send to websocket else # Send to websocket
if message.id < 1000000 if message.id < 1000000
@ws.send(message) # Pass message to websocket @ws.send(message) # Pass message to websocket
@ -168,6 +170,21 @@ class Wrapper
w.opener = null w.opener = null
w.location = params[0] w.location = params[0]
actionRequestFullscreen: ->
if "Fullscreen" in @site_info.settings.permissions
elem = document.getElementById("inner-iframe")
request_fullscreen = elem.requestFullScreen || elem.webkitRequestFullscreen || elem.mozRequestFullScreen || elem.msRequestFullScreen
request_fullscreen.call(elem)
setTimeout ( =>
if window.innerHeight != screen.height # Fullscreen failed, probably only allowed on click
@displayConfirm "This site requests permission:" + " <b>Fullscreen</b>", "Grant", =>
request_fullscreen.call(elem)
), 100
else
@displayConfirm "This site requests permission:" + " <b>Fullscreen</b>", "Grant", =>
@site_info.settings.permissions.push("Fullscreen")
@actionRequestFullscreen()
@ws.cmd "permissionAdd", "Fullscreen"
actionPermissionAdd: (message) -> actionPermissionAdd: (message) ->
permission = message.params permission = message.params

View file

@ -941,6 +941,8 @@ jQuery.extend( jQuery.easing,
return this.actionOpenWindow(message.params); return this.actionOpenWindow(message.params);
} else if (cmd === "wrapperPermissionAdd") { } else if (cmd === "wrapperPermissionAdd") {
return this.actionPermissionAdd(message); return this.actionPermissionAdd(message);
} else if (cmd === "wrapperRequestFullscreen") {
return this.actionRequestFullscreen();
} else { } else {
if (message.id < 1000000) { if (message.id < 1000000) {
return this.ws.send(message); return this.ws.send(message);
@ -992,6 +994,32 @@ jQuery.extend( jQuery.easing,
} }
}; };
Wrapper.prototype.actionRequestFullscreen = function() {
var elem, request_fullscreen;
if (__indexOf.call(this.site_info.settings.permissions, "Fullscreen") >= 0) {
elem = document.getElementById("inner-iframe");
request_fullscreen = elem.requestFullScreen || elem.webkitRequestFullscreen || elem.mozRequestFullScreen || elem.msRequestFullScreen;
request_fullscreen.call(elem);
return setTimeout(((function(_this) {
return function() {
if (window.innerHeight !== screen.height) {
return _this.displayConfirm("This site requests permission:" + " <b>Fullscreen</b>", "Grant", function() {
return request_fullscreen.call(elem);
});
}
};
})(this)), 100);
} else {
return this.displayConfirm("This site requests permission:" + " <b>Fullscreen</b>", "Grant", (function(_this) {
return function() {
_this.site_info.settings.permissions.push("Fullscreen");
_this.actionRequestFullscreen();
return _this.ws.cmd("permissionAdd", "Fullscreen");
};
})(this));
}
};
Wrapper.prototype.actionPermissionAdd = function(message) { Wrapper.prototype.actionPermissionAdd = function(message) {
var permission; var permission;
permission = message.params; permission = message.params;