[MERGE] forward port branch 9.0 up to 5e38bef5a5
This commit is contained in:
@@ -355,8 +355,8 @@ var RTE = Widget.extend({
|
||||
var $el = $(this);
|
||||
|
||||
$el.find('[class]').filter(function () {
|
||||
if (!this.className.match(/\S/)) {
|
||||
this.removeAttribute("class");
|
||||
if (!this.getAttribute('class').match(/\S/)) {
|
||||
this.removeAttribute('class');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -124,15 +124,35 @@ animation.registry.media_video = animation.Class.extend({
|
||||
start: function () {
|
||||
// TODO: this code should be refactored to make more sense and be better
|
||||
// integrated with Odoo (this refactoring should be done in master).
|
||||
this.$target.find('iframe').remove();
|
||||
|
||||
if (!this.$target.has('.media_iframe_video_size').length) {
|
||||
var editor = '<div class="css_editable_mode_display"> </div>';
|
||||
var size = '<div class="media_iframe_video_size"> </div>';
|
||||
this.$target.html(editor+size);
|
||||
var def = this._super.apply(this, arguments);
|
||||
if (this.$target.children('iframe').length) {
|
||||
// There already is an <iframe/>, do nothing
|
||||
return def;
|
||||
}
|
||||
// rebuilding the iframe, from https://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/
|
||||
this.$target.html(this.$target.html()+'<iframe sandbox="allow-scripts allow-same-origin" src="'+_.escape(this.$target.data("oe-expression"))+'" frameborder="0" allowfullscreen="allowfullscreen"></iframe>');
|
||||
|
||||
// Bug fix / compatibility: empty the <div/> element as all information
|
||||
// to rebuild the iframe should have been saved on the <div/> element
|
||||
this.$target.empty();
|
||||
|
||||
// Add extra content for size / edition
|
||||
this.$target.append(
|
||||
'<div class="css_editable_mode_display"> </div>' +
|
||||
'<div class="media_iframe_video_size"> </div>'
|
||||
);
|
||||
|
||||
// Rebuild the iframe. Depending on version / compatibility / instance,
|
||||
// the src is saved in the 'data-src' attribute or the
|
||||
// 'data-oe-expression' one (the latter is used as a workaround in 10.0
|
||||
// system but should obviously be reviewed in master).
|
||||
this.$target.append($('<iframe/>', {
|
||||
src: _.escape(this.$target.data('oe-expression') || this.$target.data('src')),
|
||||
frameborder: '0',
|
||||
allowfullscreen: 'allowfullscreen',
|
||||
sandbox: 'allow-scripts allow-same-origin', // https://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/
|
||||
}));
|
||||
|
||||
return def;
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user