From fb2f066370d1ef30ff6d68ab3f20c17f861a5286 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 29 Apr 2013 04:43:48 -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 c59ea9b..23c6980 100644
--- a/skins/classic/functions.js
+++ b/skins/classic/functions.js
@@ -634,8 +634,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 76485c1..4485a21 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -244,8 +244,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