Skip to content

Commit a6f3097

Browse files
authored
rewrite <object> with image/svg+xml to <img> tag (#143)
bump to 3.7.5
1 parent 0869a95 commit a6f3097

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webrecorder/wombat",
3-
"version": "3.7.4",
3+
"version": "3.7.5",
44
"main": "index.js",
55
"license": "AGPL-3.0-or-later",
66
"author": "Ilya Kreymer, Webrecorder Software",

src/wombat.js

+15-5
Original file line numberDiff line numberDiff line change
@@ -2014,7 +2014,7 @@ Wombat.prototype.rewriteAttr = function(elem, name, absUrlOnly) {
20142014
return changed;
20152015
}
20162016

2017-
var value = this.wb_getAttribute.call(elem, name);
2017+
var value = this.wb_getAttribute.call(this.proxyToObj(elem), name);
20182018

20192019
if (!value || this.startsWith(value, 'javascript:')) return changed;
20202020

@@ -2237,18 +2237,26 @@ Wombat.prototype.rewriteElem = function(elem) {
22372237
}
22382238
break;
22392239
case 'OBJECT':
2240-
if (this.wb_info.isSW && elem.parentElement && elem.getAttribute('type') === 'application/pdf') {
2241-
var iframe = this.$wbwindow.document.createElement('IFRAME');
2240+
if (this.wb_info.isSW && elem.parentElement) {
2241+
var altElemName;
2242+
2243+
if (elem.getAttribute('type') === 'application/pdf') {
2244+
altElemName = 'IFRAME';
2245+
} else if (elem.getAttribute('type') === 'image/svg+xml') {
2246+
altElemName = 'IMG';
2247+
}
2248+
2249+
var newElem = this.$wbwindow.document.createElement(altElemName);
22422250
for (var i = 0; i < elem.attributes.length; i++) {
22432251
var attr = elem.attributes[i];
22442252
var name = attr.name;
22452253
if (name === 'data') {
22462254
name = 'src';
22472255
}
2248-
this.wb_setAttribute.call(iframe, name, attr.value);
2256+
this.wb_setAttribute.call(newElem, name, attr.value);
22492257
}
22502258

2251-
elem.parentElement.replaceChild(iframe, elem);
2259+
elem.parentElement.replaceChild(newElem, elem);
22522260
changed = true;
22532261
break;
22542262
}
@@ -4527,6 +4535,8 @@ Wombat.prototype.initHTTPOverrides = function() {
45274535
this.__WB_xhr_headers = new Headers();
45284536
};
45294537

4538+
this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting = function() {};
4539+
45304540
this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader = function(name, value) {
45314541
this.__WB_xhr_headers.set(name, value);
45324542
};

0 commit comments

Comments
 (0)