WebCore:
[WebKit-https.git] / WebCore / ChangeLog-2005-08-23
index e6aa139..130fba5 100644 (file)
@@ -1,3 +1,183 @@
+2005-02-22  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3976872> Pasted plain text doesn't get the proper style if pasted into newlines
+
+        Reviewed by mjs.
+
+        * khtml/editing/htmlediting.cpp:
+        (khtml::ReplaceSelectionCommand::doApply): don't clear the typing style when matching style
+        (khtml::ReplaceSelectionCommand::completeHTMLReplacement): apply the typing style when matching style
+        * khtml/editing/jsediting.cpp:
+        * khtml/khtml_part.cpp:
+        (KHTMLPart::pasteAndMatchStyle): new
+        * khtml/khtml_part.h:
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::issuePasteAndMatchStyleCommand): new
+        * kwq/WebCoreBridge.h:
+        * layout-tests/editing/editing.js:
+
+2005-02-22  Darin Adler  <darin@apple.com>
+
+        Reviewed by Adele.
+
+        - fixed <rdar://problem/4006596> REGRESSION (183-184): crash in DOM::DocumentImpl::setFocusNode(DOM::NodeImpl*)
+
+        * khtml/xml/dom_docimpl.cpp:
+        (widgetForNode): Added helper.
+        (DocumentImpl::setFocusNode): Re-get the widget for the node after calling updateLayout.
+        The updateLayout can destroy the old widget, so we can't keep a stale widget pointer around.
+
+2005-02-22  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Hyatt
+
+        Fix for this bug:
+        
+        <rdar://problem/4003463> Mail.app HTML uses inline styling markup not understood by Entourage and Eudora
+
+        * khtml/editing/htmlediting.cpp:
+        (khtml::isEmptyFontTag): Helper for removing <font> tags.
+        (khtml::StyleChange::styleModeForParseMode): Helper to map a document parse mode to a use/don't use
+        legacy-html-styles value.
+        (khtml::StyleChange::checkForLegacyHTMLStyleChange): Add support for colors, font faces, and font sizes.
+        (khtml::ApplyStyleCommand::isHTMLStyleNode):
+        (khtml::ApplyStyleCommand::removeHTMLFontStyle):
+        (khtml::ApplyStyleCommand::applyTextDecorationStyle): Now call styleModeForParseMode to determine
+        whether to use legacy html styles or not.
+        (khtml::ApplyStyleCommand::removeInlineStyle): Now properly removes <font> styles.
+        (khtml::ApplyStyleCommand::addBlockStyleIfNeeded): Ditto.
+        (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): Ditto.
+        (khtml::createFontElement): Helper for applying <font> elements.
+        * khtml/editing/htmlediting.h: All the following support the new bits of data we need to store.
+        (khtml::StyleChange::applyFontColor)
+        (khtml::StyleChange::applyFontFace)
+        (khtml::StyleChange::applyFontSize)
+        (khtml::StyleChange::fontColor)
+        (khtml::StyleChange::fontFace)
+        (khtml::StyleChange::fontSize)
+
+        Test results updated now that we will write out <font> tags for quirks mode documents.        
+        
+        * layout-tests/editing/execCommand/modifyForeColorByCharacter-expected.txt
+        * layout-tests/editing/style/block-style-004-expected.txt
+        * layout-tests/editing/editing/pasteboard/paste-text-011-expected.txt
+        * layout-tests/editing/style/block-style-005-expected.txt
+        * layout-tests/editing/style/block-style-006-expected.txt
+        * layout-tests/editing/style/smoosh-styles-001-expected.txt
+        * layout-tests/editing/style/smoosh-styles-002-expected.txt
+
+2005-02-22  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Kevin.
+
+       <rdar://problem/4017066> crash in KJS::ValueImp::dispatchType() every time I load www.nytimes.com/pages/automobiles
+
+       When creating option elements, use lowercase "option" instead of
+       uppercase "OPTION" to create option elements, because only
+       lowercase works for XHTML.
+       
+        * khtml/ecma/kjs_html.cpp:
+        (KJS::HTMLSelectCollection::tryPut):
+        (OptionConstructorImp::construct):
+
+2005-02-22  Chris Blumenberg  <cblu@apple.com>
+
+       WebCore fix for: <rdar://problem/3918056> Mail not line breaking my <pre> formatted emails on replies
+       
+       Mail must 4018993 to fully address the problem.
+
+        Reviewed by kocienda.
+
+        * khtml/editing/markup.cpp:
+        (khtml::startMarkup): don't compute style for text in PRE tags
+        (khtml::createMarkup): include PRE if it is an ancestor of the nodes in the range
+
+2005-02-21  Richard Williamson   <rjw@apple.com>
+
+       Fixed <rdar://problem/4008338> REGRESSION (125-178): opacity style not working, breaks fading images on okcupid.com
+
+       There was a long standing bug in cssText().  Double value were always cast int!  So,
+       opacity values values were incorrectly converted to text, i.e. 0.75 became 0.
+       
+       The problem was newly triggered because we parse the css for opacity *TWICE*.  This is a result of 
+       incorrectly "invalidating" the style attribute (from fix for 3790449).  The second parse was from
+       the cssText() of the style.
+
+        Reviewed by Hyatt.
+
+        * khtml/css/css_valueimpl.cpp:
+        (DOM::CSSPrimitiveValueImpl::cssText):
+
+2005-02-21  David Hyatt  <hyatt@apple.com>
+
+       Fix for 4017204, apply the same fix to the base class nodeAtPoint that was already applied to RenderBlock.
+       Skip elements with layers and inline flows.  Demoted <form>s can end up causing trouble otherwise.
+       
+        Reviewed by Richard Williamson
+
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::nodeAtPoint):
+
+2005-02-21  David Hyatt  <hyatt@apple.com>
+
+       Fix for 4017033, CSS is being parsed twice.  Make sure to always validate the style attribute when it is
+       initially parsed.  Add code to clean up decls when the style attribute is completely removed.  Add a new
+       synchronizing boolean that avoids reparsing the style declaration when the attribute is simply
+       being synced up to the declaration.
+
+        Reviewed by John
+
+        * khtml/css/css_valueimpl.cpp:
+        (DOM::CSSMutableStyleDeclarationImpl::setChanged):
+        * khtml/html/html_elementimpl.cpp:
+        (HTMLElementImpl::invalidateStyleAttribute):
+        (HTMLElementImpl::updateStyleAttributeIfNeeded):
+        (HTMLElementImpl::HTMLElementImpl):
+        (HTMLElementImpl::~HTMLElementImpl):
+        (HTMLElementImpl::destroyInlineStyleDecl):
+        (HTMLElementImpl::mapToEntry):
+        (HTMLElementImpl::parseHTMLAttribute):
+        * khtml/html/html_elementimpl.h:
+        * khtml/xml/dom_elementimpl.cpp:
+        (ElementImpl::ElementImpl):
+        (ElementImpl::setAttribute):
+        * khtml/xml/dom_elementimpl.h:
+        (DOM::ElementImpl::updateStyleAttributeIfNeeded):
+
+=== Safari-188 ===
+
+2005-02-21  Darin Adler  <darin@apple.com>
+
+        - fixed Panther deployment build
+
+        * kwq/KWQTextEdit.mm: (QTextEdit::setScrollBarModes): Put more stuff inside #if.
+
+2005-02-21  David Harrison  <harrison@apple.com>
+
+        Reviewed by Darin.
+
+        <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
+
+        * khtml/rendering/render_text.cpp:
+        (InlineTextBox::paintMarker):
+        Make sure underline is placed within the text bounds.
+        
+        * kwq/KWQPainter.h:
+        * kwq/KWQPainter.mm:
+        (QPainter::misspellingLineThickness):
+        * kwq/WebCoreTextRenderer.h:
+        Add misspellingLineThickness for use by InlineTextBox::paintMarker.
+
+2005-02-21  Darin Adler  <darin@apple.com>
+
+        Reviewed by John.
+
+        - fixed <rdar://problem/4012978> -[DOMRange markupString] crashes when range contains only a text node with a single space
+
+        * khtml/editing/markup.cpp: (khtml::createMarkup): Added updateLayout calls, and added a missing
+        nil check.
+
 2005-02-21  Darin Adler  <darin@apple.com>
 
         Reviewed by John.
 2005-02-21  Darin Adler  <darin@apple.com>
 
         Reviewed by John.