From f7ac4b70d7531463c84213fe606a1155c1483685 Mon Sep 17 00:00:00 2001 From: Evan Morikawa Date: Tue, 1 Sep 2015 14:57:36 -0700 Subject: [PATCH] fix(iframe): give each message a proper doctype --- internal_packages/message-list/lib/email-frame.cjsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal_packages/message-list/lib/email-frame.cjsx b/internal_packages/message-list/lib/email-frame.cjsx index 54c9c41a5..f473a8e3b 100644 --- a/internal_packages/message-list/lib/email-frame.cjsx +++ b/internal_packages/message-list/lib/email-frame.cjsx @@ -36,6 +36,13 @@ class EmailFrame extends React.Component doc = React.findDOMNode(@).contentDocument doc.open() + # NOTE: The iframe must have a modern DOCTYPE. The lack of this line + # will cause some bizzare non-standards compliant rendering with the + # message bodies. This is particularly felt with elements use + # the `border-collapse: collapse` css property while setting a + # `padding`. + doc.write("") + EmailFixingStyles = document.querySelector('[source-path*="email-frame.less"]')?.innerText EmailFixingStyles = EmailFixingStyles.replace(/.ignore-in-parent-frame/g, '') if (EmailFixingStyles)