+2006-07-25 Justin Garcia <justin.garcia@apple.com>
+
+ Reviewed by darin
+
+ <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
+
+ * dom/Document.cpp:
+ (WebCore::Document::inDesignMode): Removed some spaces.
+ * page/Frame.cpp:
+ (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
+ (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
+ it eventually.
+
2006-07-25 David Kilzer <ddkilzer@kilzer.net>
Reviewed by Darin.
{
for (const Document* d = this; d; d = d->parentDocument()) {
if (d->m_designMode != inherit)
- return d->m_designMode;
+ return d->m_designMode;
}
return false;
}
}
}
-void Frame::applyEditingStyleToElement(Element *element) const
+void Frame::applyEditingStyleToElement(Element* element) const
{
- if (!element || !element->isHTMLElement())
+ if (!element)
return;
-
- static_cast<HTMLElement*>(element)->setContentEditable("true");
+
+ CSSStyleDeclaration* style = element->style();
+ ASSERT(style);
+
+ ExceptionCode ec = 0;
+ style->setProperty(CSS_PROP_WORD_WRAP, "break-word", false, ec);
+ ASSERT(ec == 0);
+ style->setProperty(CSS_PROP__WEBKIT_NBSP_MODE, "space", false, ec);
+ ASSERT(ec == 0);
+ style->setProperty(CSS_PROP__WEBKIT_LINE_BREAK, "after-white-space", false, ec);
+ ASSERT(ec == 0);
}
-void Frame::removeEditingStyleFromElement(Element *element) const
+void Frame::removeEditingStyleFromElement(Element*) const
{
- if (!element || !element->isHTMLElement())
- return;
-
- static_cast<HTMLElement*>(element)->setContentEditable("false");
}
-
bool Frame::isCharacterSmartReplaceExempt(const DeprecatedChar&, bool)
{
// no smart replace