Commit cc275a93 by cahrens

Check iframe src for the specific value TinyMCE uses.

STUD-1470
parent b7dc8d18
...@@ -12,6 +12,15 @@ function ($, _, IframeBinding) { ...@@ -12,6 +12,15 @@ function ($, _, IframeBinding) {
iframe_html += '<embed type="application/x-shockwave-flash" src="http://www.youtube.com/embed/NHd27UvY-lw" height="315" width="560">'; iframe_html += '<embed type="application/x-shockwave-flash" src="http://www.youtube.com/embed/NHd27UvY-lw" height="315" width="560">';
doc.body.innerHTML = iframe_html; doc.body.innerHTML = iframe_html;
var verify_no_modification = function (src) {
iframe_html = '<iframe width="618" height="350" src="' + src + '" frameborder="0" allowfullscreen></iframe>';
doc.body.innerHTML = iframe_html;
IframeBinding.iframeBinding(doc);
expect($(doc).find("iframe")[0].src).toEqual(src);
};
it("modifies src url of DOM iframe and embed elements when iframeBinding function is executed", function () { it("modifies src url of DOM iframe and embed elements when iframeBinding function is executed", function () {
expect($(doc).find("iframe")[0].src).toEqual("http://www.youtube.com/embed/NHd27UvY-lw"); expect($(doc).find("iframe")[0].src).toEqual("http://www.youtube.com/embed/NHd27UvY-lw");
expect($(doc).find("iframe")[1].src).toEqual("http://www.youtube.com/embed/NHd27UvY-lw?allowFullScreen=false"); expect($(doc).find("iframe")[1].src).toEqual("http://www.youtube.com/embed/NHd27UvY-lw?allowFullScreen=false");
...@@ -35,12 +44,11 @@ function ($, _, IframeBinding) { ...@@ -35,12 +44,11 @@ function ($, _, IframeBinding) {
}); });
it("does not modify src url of DOM iframe if it is empty", function () { it("does not modify src url of DOM iframe if it is empty", function () {
iframe_html = '<iframe width="618" height="350" src="" frameborder="0" allowfullscreen></iframe>'; verify_no_modification("");
doc.body.innerHTML = iframe_html; });
IframeBinding.iframeBinding(doc);
expect($(doc).find("iframe")[0].src).toEqual(""); it("does nothing on tinymce iframe", function () {
verify_no_modification("javascript:");
}); });
}); });
}); });
...@@ -29,7 +29,10 @@ define(["jquery"], function($) { ...@@ -29,7 +29,10 @@ define(["jquery"], function($) {
$(this).attr('src', newString + '?' + wmode + '&' + oldString); $(this).attr('src', newString + '?' + wmode + '&' + oldString);
} }
} }
else { // The TinyMCE editor is hosted in an iframe, and before the iframe is
// removed we execute this code. To avoid throwing an error when setting the
// attr, check that the source doesn't start with the value specified by TinyMCE ('javascript:""').
else if (ifr_source.lastIndexOf("javascript:", 0) !== 0) {
$(this).attr('src', ifr_source + '?' + wmode); $(this).attr('src', ifr_source + '?' + wmode);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment