From c958452d098be0cedf39e96a1ea29b1b5f265067 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 29 Apr 2013 04:43:13 -0400
Subject: [PATCH] Catch possible "Permission denied" error on iframe elements in IE

---
 skins/classic/functions.js |    9 +++++++--
 skins/larry/ui.js          |    9 +++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/skins/classic/functions.js b/skins/classic/functions.js
index 499783b..0d2f223 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -664,8 +664,13 @@
 function iframe_events()
 {
   // this==iframe
-  var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null;
-  rcube_event.add_listener({ element: doc, object:rcmail_ui, method:'body_mouseup', event:'mouseup' });
+  try {
+    var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null;
+    rcube_event.add_listener({ element: doc, object:rcmail_ui, method:'body_mouseup', event:'mouseup' });
+  }
+  catch (e) {
+    // catch possible "Permission denied" error in IE
+  };
 };
 
 // Abbreviate mailbox names to fit width of the container
diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index 1c76f91..a461b64 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -251,8 +251,13 @@
 
     $('iframe').load(function(e){
       // this = iframe
-      var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null;
-      $(doc).mouseup(body_mouseup);
+      try {
+        var doc = this.contentDocument ? this.contentDocument : this.contentWindow ? this.contentWindow.document : null;
+        $(doc).mouseup(body_mouseup);
+      }
+      catch (e) {
+        // catch possible "Permission denied" error in IE
+      };
     })
     .contents().mouseup(body_mouseup);
 

--
Gitblit v1.9.1