[evolution] e-web-view.js: Check iframe property validity in Evo.initialize()



commit 7efeb63b6394d16d65310bd5f2983cf4676789c6
Author: Milan Crha <mcrha redhat com>
Date:   Thu Jul 30 09:44:46 2020 +0200

    e-web-view.js: Check iframe property validity in Evo.initialize()
    
    This is to workaround runtime warning:
    
    (evolution:769567): evolution-util-WARNING **: 12:21:17.882: Failed to
    call 'Evo.EnsureMainDocumentInitialized();' function: WebKitJavascriptError:699:
    resource:///e-web-view.js:587:32: TypeError: null is not an object
    (evaluating 'elems[ii].contentDocument.body')
    
    Mentioned in https://gitlab.gnome.org/GNOME/evolution/-/issues/1041

 data/webkit/e-web-view.js | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/data/webkit/e-web-view.js b/data/webkit/e-web-view.js
index 30bf364f5d..4cc0f90c31 100644
--- a/data/webkit/e-web-view.js
+++ b/data/webkit/e-web-view.js
@@ -622,10 +622,12 @@ Evo.initialize = function(elem)
        elems = doc.getElementsByTagName("iframe");
 
        for (ii = 0; ii < elems.length; ii++) {
-               elems[ii].onload = function() { Evo.initializeAndPostContentLoaded(this); };
+               var iframe = elems[ii];
 
-               if (elems[ii].contentDocument.body && elems[ii].contentDocument.body.childElementCount > 0)
-                       Evo.initializeAndPostContentLoaded(elems[ii]);
+               iframe.onload = function() { Evo.initializeAndPostContentLoaded(this); };
+
+               if (iframe.contentDocument && iframe.contentDocument.body && 
iframe.contentDocument.body.childElementCount > 0)
+                       Evo.initializeAndPostContentLoaded(iframe);
        }
 
        if (doc.defaultView && !doc.defaultView.frameElement && !doc.body.hasAttribute("class"))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]