client: Ensure non-image remote resources are also loaded when permitted
Update `PageState.loadRemoteResources` to process any child of the BODY element that has a `src` or `srcset` element.
This commit is contained in:
parent
bf2aa12978
commit
fd002c0156
1 changed files with 26 additions and 7 deletions
|
|
@ -73,13 +73,32 @@ PageState.prototype = {
|
|||
this._contentLoaded();
|
||||
},
|
||||
loadRemoteResources: function() {
|
||||
window._gearyAllowRemoteResourceLoads = true;
|
||||
let images = document.getElementsByTagName("IMG");
|
||||
for (let i = 0; i < images.length; i++) {
|
||||
let img = images.item(i);
|
||||
let src = img.src;
|
||||
img.src = "";
|
||||
img.src = src;
|
||||
if (window._gearyAllowRemoteResourceLoads == false) {
|
||||
window._gearyAllowRemoteResourceLoads = true;
|
||||
const TYPES = "*[src], *[srcset]";
|
||||
for (const element of document.body.querySelectorAll(TYPES)) {
|
||||
let src = "";
|
||||
try {
|
||||
src = element.src;
|
||||
} catch (e) {
|
||||
// fine
|
||||
}
|
||||
if (src != "") {
|
||||
element.src = "";
|
||||
element.src = src;
|
||||
}
|
||||
|
||||
let srcset = "";
|
||||
try {
|
||||
srcset = element.srcset;
|
||||
} catch (e) {
|
||||
// fine
|
||||
}
|
||||
if (srcset != "") {
|
||||
element.srcset = "";
|
||||
element.srcset = srcset;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
setEditable: function(enabled) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue