diff options
| author | Felix Hammerl <fhammerl@thoughtworks.com> | 2016-04-01 14:51:27 +0200 | 
|---|---|---|
| committer | Felix Hammerl <fhammerl@thoughtworks.com> | 2016-04-01 14:51:27 +0200 | 
| commit | f41cea02299dc41dcc1f934d57430b564cf708ef (patch) | |
| tree | e2b2b5ab8ebf896a88f55829aad63af6ae7a097c /web-ui/app/js | |
| parent | d75a8878d20117bc595f80a2ea2a68f84f48f508 (diff) | |
Run event test async with source passed to iframe via Blob URI
Diffstat (limited to 'web-ui/app/js')
| -rw-r--r-- | web-ui/app/js/mixins/with_mail_sandbox.js | 58 | 
1 files changed, 30 insertions, 28 deletions
diff --git a/web-ui/app/js/mixins/with_mail_sandbox.js b/web-ui/app/js/mixins/with_mail_sandbox.js index c292cb70..1a51840d 100644 --- a/web-ui/app/js/mixins/with_mail_sandbox.js +++ b/web-ui/app/js/mixins/with_mail_sandbox.js @@ -34,41 +34,43 @@ define(          });          iframe.onload = function() { -          // use iframe-resizer to dynamically adapt iframe size to its content -          var config = { -            resizedCallback: scaleToFit, -            checkOrigin: false -          }; -          $iframe.iFrameResize(config); +          if ($iframe.iFrameResize) { +            // use iframe-resizer to dynamically adapt iframe size to its content +            var config = { +              resizedCallback: scaleToFit, +              checkOrigin: false +            }; +            $iframe.iFrameResize(config); +          } + +          iframe.contentWindow.postMessage({ +            html: content +          }, '*');            // transform scale iframe to fit container width            // necessary if iframe is wider than container            function scaleToFit() { -              var parentWidth = $iframe.parent().width(); -              var w = $iframe.width(); -              var scale = 'none'; +            var parentWidth = $iframe.parent().width(); +            var w = $iframe.width(); +            var scale = 'none'; -              // only scale html mails -              if (mail && mail.htmlBody && (w > parentWidth)) { -                  scale = parentWidth / w; -                  scale = 'scale(' + scale + ',' + scale + ')'; -              } +            // only scale html mails +            if (mail && mail.htmlBody && (w > parentWidth)) { +                scale = parentWidth / w; +                scale = 'scale(' + scale + ',' + scale + ')'; +            } -              $iframe.css({ -                  '-webkit-transform-origin': '0 0', -                  '-moz-transform-origin': '0 0', -                  '-ms-transform-origin': '0 0', -                  'transform-origin': '0 0', -                  '-webkit-transform': scale, -                  '-moz-transform': scale, -                  '-ms-transform': scale, -                  'transform': scale -              }); +            $iframe.css({ +                '-webkit-transform-origin': '0 0', +                '-moz-transform-origin': '0 0', +                '-ms-transform-origin': '0 0', +                'transform-origin': '0 0', +                '-webkit-transform': scale, +                '-moz-transform': scale, +                '-ms-transform': scale, +                'transform': scale +            });            } - -          iframe.contentWindow.postMessage({ -            html: content -          }, '*');          };        };      }  | 
