aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-05 19:18:28 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2013-12-05 19:18:28 +0100
commit25fa654529390dfc989898beb522d63cae4aed7d (patch)
tree88aeed1cf13a6a1486b08ae91054897a8af7f0c4
parentab14fcd190e47bd0fcb97165ef2954cc836a8052 (diff)
Resource-priorities
Prépare http://www.w3.org/TR/resource-priorities/ https://github.com/marienfressinaud/FreshRSS/issues/316 https://github.com/marienfressinaud/FreshRSS/issues/313 Continue https://github.com/marienfressinaud/FreshRSS/issues/188 https://github.com/marienfressinaud/FreshRSS/commit/e45357a91b9aa47d5b7ead14c174dc7c98ab9926
-rw-r--r--app/models/Feed.php6
-rw-r--r--lib/SimplePie/SimplePie.php17
2 files changed, 23 insertions, 0 deletions
diff --git a/app/models/Feed.php b/app/models/Feed.php
index 88833c706..1454f44d5 100644
--- a/app/models/Feed.php
+++ b/app/models/Feed.php
@@ -213,6 +213,12 @@ class Feed extends Model {
'autoplay', 'onload', 'onunload', 'onclick', 'ondblclick', 'onmousedown', 'onmouseup',
'onmouseover', 'onmousemove', 'onmouseout', 'onfocus', 'onblur',
'onkeypress', 'onkeydown', 'onkeyup', 'onselect', 'onchange', 'seamless')));
+ $feed->add_attributes(array(
+ 'img' => array('lazyload' => ''), //http://www.w3.org/TR/resource-priorities/
+ 'audio' => array('preload' => 'none'),
+ 'iframe' => array('postpone' => '', 'sandbox' => 'allow-scripts allow-same-origin'),
+ 'video' => array('postpone' => '', 'preload' => 'none'),
+ ));
$feed->set_url_replacements(array(
'a' => 'href',
'area' => 'href',
diff --git a/lib/SimplePie/SimplePie.php b/lib/SimplePie/SimplePie.php
index 9e532023a..d20ab5430 100644
--- a/lib/SimplePie/SimplePie.php
+++ b/lib/SimplePie/SimplePie.php
@@ -602,6 +602,13 @@ class SimplePie
public $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
/**
+ * @var array Stores the default attributes to add to differet tags by add_attributes().
+ * @see SimplePie::add_attributes()
+ * @access private
+ */
+ public $add_attributes = array('audio' => array('preload' => 'none'), 'iframe' => array('sandbox' => 'allow-scripts allow-same-origin'), 'video' => array('preload' => 'none')); //FreshRSS
+
+ /**
* @var array Stores the default tags to be stripped by strip_htmltags().
* @see SimplePie::strip_htmltags()
* @access private
@@ -1073,6 +1080,7 @@ class SimplePie
$this->strip_comments(false);
$this->strip_htmltags(false);
$this->strip_attributes(false);
+ $this->add_attributes(false);
$this->set_image_handler(false);
}
}
@@ -1119,6 +1127,15 @@ class SimplePie
$this->sanitize->strip_attributes($attribs);
}
+ public function add_attributes($attribs = '')
+ {
+ if ($attribs === '')
+ {
+ $attribs = $this->add_attributes;
+ }
+ $this->sanitize->add_attributes($attribs);
+ }
+
/**
* Set the output encoding
*