detect whether browser supports iframe.sandbox and allow iframes accordingly; allow object and embed elements
This commit is contained in:
parent
55783ca45c
commit
4f7d69e185
|
@ -285,6 +285,7 @@ class RPC extends Handler_Protected {
|
|||
|
||||
function sanityCheck() {
|
||||
$_SESSION["hasAudio"] = $_REQUEST["hasAudio"] === "true";
|
||||
$_SESSION["hasSandbox"] = $_REQUEST["hasSandbox"] === "true";
|
||||
|
||||
$reply = array();
|
||||
|
||||
|
|
|
@ -2626,7 +2626,9 @@
|
|||
|
||||
$allowed_elements = array('p', 'br', 'div', 'table', 'tr', 'td', 'th',
|
||||
'ul', 'ol', 'li', 'blockquote', 'span', 'html', 'body', 'a', 'img',
|
||||
'iframe', 'video', 'audio', 'source');
|
||||
'video', 'audio', 'source', 'object', 'embed');
|
||||
|
||||
if ($_SESSION['hasSandbox']) array_push($allowed_elements, 'iframe');
|
||||
|
||||
$disallowed_attributes = array('id', 'style', 'class');
|
||||
|
||||
|
|
|
@ -244,9 +244,11 @@ function init() {
|
|||
loading_set_progress(20);
|
||||
|
||||
var hasAudio = !!((myAudioTag = document.createElement('audio')).canPlayType);
|
||||
var hasSandbox = "sandbox" in document.createElement("iframe");
|
||||
|
||||
new Ajax.Request("backend.php", {
|
||||
parameters: {op: "rpc", method: "sanityCheck", hasAudio: hasAudio},
|
||||
parameters: {op: "rpc", method: "sanityCheck", hasAudio: hasAudio,
|
||||
hasSandbox: hasSandbox},
|
||||
onComplete: function(transport) {
|
||||
backend_sanity_check_callback(transport);
|
||||
} });
|
||||
|
|
Loading…
Reference in New Issue