Fix for 3478435, <hr> tags should be centered by default. Ditched the 1px margin...
[WebKit-https.git] / WebCore / ChangeLog-2005-08-23
index a73c03b..f74397f 100644 (file)
@@ -1,3 +1,422 @@
+2003-11-10  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3478435, <hr> tags should be centered by default.  Ditched the 1px margin as well.
+
+       Fix for 3479441, <h1>-<h6> tags should *not* be centered by default.  They should also use bold instead of
+       bolder.
+       
+        Reviewed by darin
+
+        * khtml/css/html4.css:
+        * khtml/html/html_blockimpl.cpp:
+        (HTMLHRElementImpl::parseAttribute):
+        * layout-tests/apple-only/base/bugzilla.mozilla.org/index-expected.txt:
+        * layout-tests/apple-only/base/home.netscape.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.altavista.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.cnn.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.digitalcity.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.ebay.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.excite.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.mapquest.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.microsoft.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.msnbc.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.nytimes.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.nytimes.com_Table/index-expected.txt:
+        * layout-tests/apple-only/base/www.quicken.com/index-expected.txt:
+        * layout-tests/apple-only/base/www.w3.org_DOML2Core/index-expected.txt:
+        * layout-tests/css1/basic/class_as_selector-expected.txt:
+        * layout-tests/css1/basic/comments-expected.txt:
+        * layout-tests/css1/basic/containment-expected.txt:
+        * layout-tests/css1/basic/contextual_selectors-expected.txt:
+        * layout-tests/css1/basic/grouping-expected.txt:
+        * layout-tests/css1/basic/id_as_selector-expected.txt:
+        * layout-tests/css1/basic/inheritance-expected.txt:
+        * layout-tests/css1/box_properties/border-expected.txt:
+        * layout-tests/css1/box_properties/border_bottom-expected.txt:
+        * layout-tests/css1/box_properties/border_bottom_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_bottom_width-expected.txt:
+        * layout-tests/css1/box_properties/border_bottom_width_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_color-expected.txt:
+        * layout-tests/css1/box_properties/border_color_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_left-expected.txt:
+        * layout-tests/css1/box_properties/border_left_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_left_width-expected.txt:
+        * layout-tests/css1/box_properties/border_left_width_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_right-expected.txt:
+        * layout-tests/css1/box_properties/border_right_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_right_width-expected.txt:
+        * layout-tests/css1/box_properties/border_right_width_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_style-expected.txt:
+        * layout-tests/css1/box_properties/border_style_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_top-expected.txt:
+        * layout-tests/css1/box_properties/border_top_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_top_width-expected.txt:
+        * layout-tests/css1/box_properties/border_top_width_inline-expected.txt:
+        * layout-tests/css1/box_properties/border_width-expected.txt:
+        * layout-tests/css1/box_properties/border_width_inline-expected.txt:
+        * layout-tests/css1/box_properties/clear-expected.txt:
+        * layout-tests/css1/box_properties/clear_float-expected.txt:
+        * layout-tests/css1/box_properties/float-expected.txt:
+        * layout-tests/css1/box_properties/float_elements_in_series-expected.txt:
+        * layout-tests/css1/box_properties/float_margin-expected.txt:
+        * layout-tests/css1/box_properties/float_on_text_elements-expected.txt:
+        * layout-tests/css1/box_properties/height-expected.txt:
+        * layout-tests/css1/box_properties/margin-expected.txt:
+        * layout-tests/css1/box_properties/margin_bottom-expected.txt:
+        * layout-tests/css1/box_properties/margin_bottom_inline-expected.txt:
+        * layout-tests/css1/box_properties/margin_inline-expected.txt:
+        * layout-tests/css1/box_properties/margin_left-expected.txt:
+        * layout-tests/css1/box_properties/margin_left_inline-expected.txt:
+        * layout-tests/css1/box_properties/margin_right-expected.txt:
+        * layout-tests/css1/box_properties/margin_right_inline-expected.txt:
+        * layout-tests/css1/box_properties/margin_top-expected.txt:
+        * layout-tests/css1/box_properties/margin_top_inline-expected.txt:
+        * layout-tests/css1/box_properties/padding-expected.txt:
+        * layout-tests/css1/box_properties/padding_bottom-expected.txt:
+        * layout-tests/css1/box_properties/padding_bottom_inline-expected.txt:
+        * layout-tests/css1/box_properties/padding_inline-expected.txt:
+        * layout-tests/css1/box_properties/padding_left-expected.txt:
+        * layout-tests/css1/box_properties/padding_left_inline-expected.txt:
+        * layout-tests/css1/box_properties/padding_right-expected.txt:
+        * layout-tests/css1/box_properties/padding_right_inline-expected.txt:
+        * layout-tests/css1/box_properties/padding_top-expected.txt:
+        * layout-tests/css1/box_properties/padding_top_inline-expected.txt:
+        * layout-tests/css1/box_properties/width-expected.txt:
+        * layout-tests/css1/cascade/cascade_order-expected.txt:
+        * layout-tests/css1/cascade/important-expected.txt:
+        * layout-tests/css1/classification/display-expected.txt:
+        * layout-tests/css1/classification/list_style-expected.txt:
+        * layout-tests/css1/classification/list_style_image-expected.txt:
+        * layout-tests/css1/classification/list_style_position-expected.txt:
+        * layout-tests/css1/classification/list_style_type-expected.txt:
+        * layout-tests/css1/classification/white_space-expected.txt:
+        * layout-tests/css1/color_and_background/background-expected.txt:
+        * layout-tests/css1/color_and_background/background_attachment-expected.txt:
+        * layout-tests/css1/color_and_background/background_color-expected.txt:
+        * layout-tests/css1/color_and_background/background_image-expected.txt:
+        * layout-tests/css1/color_and_background/background_position-expected.txt:
+        * layout-tests/css1/color_and_background/background_repeat-expected.txt:
+        * layout-tests/css1/color_and_background/color-expected.txt:
+        * layout-tests/css1/conformance/forward_compatible_parsing-expected.txt:
+        * layout-tests/css1/font_properties/font-expected.txt:
+        * layout-tests/css1/font_properties/font_family-expected.txt:
+        * layout-tests/css1/font_properties/font_size-expected.txt:
+        * layout-tests/css1/font_properties/font_style-expected.txt:
+        * layout-tests/css1/font_properties/font_variant-expected.txt:
+        * layout-tests/css1/font_properties/font_weight-expected.txt:
+        * layout-tests/css1/formatting_model/canvas-expected.txt:
+        * layout-tests/css1/formatting_model/floating_elements-expected.txt:
+        * layout-tests/css1/formatting_model/height_of_lines-expected.txt:
+        * layout-tests/css1/formatting_model/inline_elements-expected.txt:
+        * layout-tests/css1/formatting_model/replaced_elements-expected.txt:
+        * layout-tests/css1/formatting_model/vertical_formatting-expected.txt:
+        * layout-tests/css1/pseudo/anchor-expected.txt:
+        * layout-tests/css1/pseudo/firstletter-expected.txt:
+        * layout-tests/css1/pseudo/firstline-expected.txt:
+        * layout-tests/css1/pseudo/multiple_pseudo_elements-expected.txt:
+        * layout-tests/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
+        * layout-tests/css1/text_properties/letter_spacing-expected.txt:
+        * layout-tests/css1/text_properties/line_height-expected.txt:
+        * layout-tests/css1/text_properties/text-transform-expected.txt:
+        * layout-tests/css1/text_properties/text_align-expected.txt:
+        * layout-tests/css1/text_properties/text_decoration-expected.txt:
+        * layout-tests/css1/text_properties/text_indent-expected.txt:
+        * layout-tests/css1/text_properties/text_transform-expected.txt:
+        * layout-tests/css1/text_properties/vertical_align-expected.txt:
+        * layout-tests/css1/text_properties/word_spacing-expected.txt:
+        * layout-tests/css1/units/color_units-expected.txt:
+        * layout-tests/css1/units/length_units-expected.txt:
+        * layout-tests/css1/units/percentage_units-expected.txt:
+        * layout-tests/css1/units/urls-expected.txt:
+        * layout-tests/fast/encoding/utf-16-big-endian-expected.txt:
+        * layout-tests/fast/encoding/utf-16-little-endian-expected.txt:
+
+2003-11-10  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3479266>: selected images don't obey CSS3 selection background-color attribute
+       
+        Reviewed by dave.
+
+        * khtml/rendering/render_image.cpp:
+        (RenderImage::selectionTintColor): new, takes style into account
+        (RenderImage::paintObject): use selectionTintColor
+        * khtml/rendering/render_image.h:
+        * kwq/KWQPainter.h: removed selectedImageTintColor
+        * kwq/KWQPainter.mm:
+
+2003-11-10  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3479287, macro-ize the handling of the CSS 'inherit' value.  This patch is preparation for
+       adding support for the 'initial' value, which will be used to fix the CSS parser's shorthand parsing
+       bugs.
+       
+        Reviewed by kocienda
+
+        * khtml/css/cssparser.cpp:
+        (CSSParser::parseValue):
+        * khtml/css/cssproperties.c:
+        (hash_prop):
+        (findProp):
+        * khtml/css/cssproperties.h:
+        * khtml/css/cssproperties.in:
+        * khtml/css/cssstyleselector.cpp:
+        (khtml::CSSStyleSelector::applyRule):
+        * khtml/khtmlview.cpp:
+        (KHTMLView::layout):
+
+2003-11-10  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed:
+       <rdar://problem/3478883>: REGRESSION (113-114u): drag image for selected text includes unselected images
+       <rdar://problem/3479204>: selected images don't look selected
+
+        Reviewed by dave.
+
+        * khtml/rendering/render_image.cpp:
+        (RenderImage::RenderImage): init m_selectionState
+        (RenderImage::paintObject): draw a tint over the image if selected, don't draw anything if not selected and the action is PaintActionSelection
+        * khtml/rendering/render_image.h:
+        (khtml::RenderImage::selectionState): new
+        (khtml::RenderImage::setSelectionState): new
+        * kwq/KWQPainter.h:
+        * kwq/KWQPainter.mm:
+        (QPainter::selectedImageTintColor): new
+
+2003-11-10  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Hyatt
+
+       Fix for this bug:
+
+       <rdar://problem/3477795>: REGRESSION: can't submit form without 
+       submit button by hitting return (cocoadev.com)
+
+       When I changed submitting forms using the return key in a text field
+       to go through a search for the correct submit or image input 
+       element to use when submitting, I neglected to cover the case of
+       forms which have neither a submit or image input element. When
+       I encounter a form such as this now, I submit it anyway after
+       performing the submit or image input element and failing to find one.
+
+        * khtml/html/html_formimpl.cpp:
+        (HTMLFormElementImpl::performSubmitClick)
+
+2003-11-10  Richard Williamson   <rjw@apple.com>
+
+       Fixed 3478765.  Use ICU to access unicode properties.
+       Fixed 3478831.  Unicode property/conversion functions should be 32 bit savvy.
+
+        Reviewed by Darin.
+
+        * WebCore-combined.exp:
+        * WebCore.exp:
+        * kwq/KWQChar.mm:
+        (QChar::lower):
+        (QChar::upper):
+        (QChar::mirroredChar):
+        * kwq/KWQString.h:
+        (QChar::direction):
+        * kwq/WebCoreUnicode.cpp:
+        * kwq/WebCoreUnicode.h:
+
+2003-11-10  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3478781>: drag image of selected text and images doesn't include images
+
+        Reviewed by rjw.
+
+        * khtml/rendering/render_image.cpp:
+        (RenderImage::paintObject): paint when the paint action is PaintActionSelection
+        * khtml/rendering/render_replaced.cpp:
+        (RenderReplaced::paint): ditto
+
+2003-11-10  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by John
+
+       Fix for this bug:
+
+       <rdar://problem/3477624>: REGRESSION (113): Using input method to 
+       enter non-ascii text submits the form
+
+       This regression has been in the tree for a couple of versions now, 
+       since we improved the way key events are processed. The solution
+       is to ask the text input manager if it has any marked text when
+       the return key (or enter key) is pressed, because if it does, the key
+       needs to work in the "accept" role for the input manager. Fixing
+       in this way has the pleasant effect of making return/enter key
+       behavior "do the right thing" based on context.
+
+        * khtml/html/html_formimpl.cpp:
+        (HTMLInputElementImpl::defaultEventHandler): Add check to see
+       if text input manager has marked text before submitting text
+       and password fields. Broke out key handling for checkboxes and
+       radios, since the old code for these widgets worked fine.
+        * kwq/KWQLineEdit.h: Added hasMarkedText function.
+        * kwq/KWQLineEdit.mm:
+        (QLineEdit::hasMarkedText): Returns whether the current input
+       manager has marked text or not.
+
+2003-11-09  Darin Adler  <darin@apple.com>
+
+        Reviewed by Dave.
+
+        - fixed 3478173 -- REGRESSION (112-113): getElementById is failing for many types of elements
+
+        The problem was that ElementImpl::attach was being skipped for many objects with classes
+        derived from ElementImpl. By changing them all to call up to their base classes instead of
+        skipping levels, the bug went away. This was possible (and easy to do) because of the
+        rendererIsNeeded() change I made a while back.
+
+        * khtml/html/html_baseimpl.cpp:
+        (HTMLFrameElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
+        and then calling NodeBaseImpl::attach(). This was a remnant of the old way of changing the logic
+        about when to create the renderer, not needed now that we have rendererIsNeeded().
+        (HTMLFrameSetElementImpl::attach): Ditto.
+        (HTMLIFrameElementImpl::attach): Ditto.
+
+        * khtml/html/html_formimpl.h: Removed many unused attach() overrides.
+        * khtml/html/html_formimpl.cpp:
+        (HTMLGenericFormElementImpl::attach): Ditto.
+        (HTMLButtonElementImpl::attach): Removed, because now the base class's attach does the right thing.
+        (HTMLFieldSetElementImpl::attach): Ditto.
+        (HTMLInputElementImpl::attach): Removed explicit createRendererIfNeeded call, not needed now that
+        HTMLGenericFormElementImpl calls through to its base class.
+        (HTMLLegendElementImpl::attach): Removed, because now the base class's attach does the right thing.
+        (HTMLSelectElementImpl::attach): Ditto.
+        (HTMLTextAreaElementImpl::attach): Ditto.
+
+        * khtml/html/html_imageimpl.cpp:
+        (HTMLImageElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
+        and then calling NodeBaseImpl::attach().
+        (HTMLImageElementImpl::detach): Call base class's detach() instead of NodeBaseImpl::detach(). No
+        need to skip the ElementImpl::detach() function, and important not to for the new "id" optimization.
+
+        * khtml/html/html_inlineimpl.h: Removed HTMLBRElementImpl::attach override.
+        * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach): Call base class's attach() instead
+        of creating renderer explicitly and then calling NodeBaseImpl::attach().
+
+        * khtml/html/html_objectimpl.h: Removed HTMLAppletElementImpl::attach override.
+        * khtml/html/html_objectimpl.cpp:
+        (HTMLAppletElementImpl::attach): Removed, because the base class's attach does the right thing.
+        (HTMLEmbedElementImpl::attach): Call base class's attach() instead of creating renderer explicitly
+        and then calling NodeBaseImpl::attach().
+        (HTMLObjectElementImpl::attach): Ditto.
+
+2003-11-09  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3478317, letter/word-spacing don't inherit properly through italic/bold elements.
+       
+        Reviewed by darin
+
+        * khtml/rendering/font.h:
+        (khtml::Font::Font):
+        * khtml/rendering/render_style.h:
+        (khtml::RenderStyle::setFontDef):
+
+2003-11-09  David Hyatt  <hyatt@apple.com>
+
+       Fix for 3478309, make sure backgrounds paint in the border box and not just in the padding box.
+       
+        Reviewed by darin
+
+       Also making sure that <frame>s aren't transparent, since other browsers seem to only make <iframe>s/<object>s
+       be transparent.
+       
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::paintRootBoxDecorations):
+        (RenderBox::paintBackgroundExtended):
+
+2003-11-08  Darin Adler  <darin@apple.com>
+
+        Reviewed by John.
+
+        - fixed 3478025 -- links with non-Latin-1 characters in the hostname are not getting IDN-encoded
+
+        * kwq/KWQKURL.mm:
+        (KURL::parse): Changed existing code to take advantage of the fact that a NUL character
+        is classified as a path segment end character.
+        (KURL::findHostnameInHierarchicalURL): Don't treat NUL characters as terminating characters
+        for hostnames, because QChar::latin1() turns all non-Latin-1 characters into NUL characters.
+
+2003-11-08  Darin Adler  <darin@apple.com>
+
+        Reviewed by John.
+
+        - fixed 3477509 -- REGRESSION (112-113): crash in KHTMLPart::processObjectRequest at espn.com, chosun.com
+
+        * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest): Use a dynamic_cast to check the type of the
+        part rather than assuming it's always a KHTMLPart. The crash was caused by casting a KWQPluginPart to
+        KHTMLPart.
+
+2003-11-08  Darin Adler  <darin@apple.com>
+
+        Reviewed by Richard.
+
+        - event cleanup motivated by questions on khtml-devel
+
+        * khtml/dom/dom2_events.h: Removed eventModuleName.
+        * khtml/dom/dom2_events.cpp: Removed eventModuleName.
+
+        * khtml/xml/dom2_eventsimpl.h: Removed eventModuleName, made many trivially simple
+        functions inline, made virtual functions no longer inline. Also made some functions const.
+        (DOM::EventImpl::propagationStopped): Made this non-virtual; there was no reason for
+        it to be virtual I could see.
+        (DOM::EventImpl::defaultPrevented): Ditto.
+        (DOM::EventImpl::setDefaultHandled): Ditto.
+        (DOM::UIEventImpl::view): Made this inline.
+        (DOM::UIEventImpl::detail): Ditto.
+        (DOM::MouseEventImpl::screenX): Ditto.
+        (DOM::MouseEventImpl::screenY): Ditto.
+        (DOM::MouseEventImpl::clientX): Ditto.
+        (DOM::MouseEventImpl::clientY): Ditto.
+        (DOM::MouseEventImpl::layerX): Ditto.
+        (DOM::MouseEventImpl::layerY): Ditto.
+        (DOM::MouseEventImpl::ctrlKey): Ditto.
+        (DOM::MouseEventImpl::shiftKey): Ditto.
+        (DOM::MouseEventImpl::altKey): Ditto.
+        (DOM::MouseEventImpl::metaKey): Ditto.
+        (DOM::MouseEventImpl::button): Ditto.
+        (DOM::MouseEventImpl::relatedTarget): Ditto.
+        (DOM::MutationEventImpl::relatedNode): Ditto.
+        (DOM::MutationEventImpl::prevValue): Ditto.
+        (DOM::MutationEventImpl::newValue): Ditto.
+        (DOM::MutationEventImpl::attrName): Ditto.
+        (DOM::MutationEventImpl::attrChange): Ditto.
+
+        * khtml/ecma/kjs_events.cpp: (KJS::getDOMEvent): Changed implementation to no longer
+        require eventModuleName(), and removed some unneeded casts.
+
+        * khtml/xml/dom2_eventsimpl.cpp: Made lots of functions inline.
+        (EventImpl::isUIEvent): Since this is virtual, make it no longer inline.
+        (EventImpl::isMouseEvent): Ditto.
+        (EventImpl::isMutationEvent): Ditto.
+        (EventImpl::isKeyboardEvent): Ditto.
+        (UIEventImpl::isUIEvent): Ditto.
+        (MouseEventImpl::isMouseEvent): Ditto.
+        (KeyboardEventImpl::isKeyboardEvent): Ditto.
+        (MutationEventImpl::isMutationEvent): Ditto.
+
+2003-11-07  Chris Blumenberg  <cblu@apple.com>
+
+       Fixed: <rdar://problem/3020196>: links with href="" don't show hand cursor when you mouse over them
+
+        Reviewed by darin.
+
+        * khtml/khtmlview.cpp:
+        (KHTMLView::viewportMouseMoveEvent): check if the URL on the event is non-NULL, not if it is non-empty
+
+2003-11-07  Richard Williamson   <rjw@apple.com>
+
+       Fixed 3477067.  Use our case unicode conversion routines.
+
+        Reviewed by Ken.
+
+        * kwq/KWQChar.mm:
+        (QChar::lower):
+        (QChar::upper):
+
 2003-11-06  David Hyatt  <hyatt@apple.com>
 
        Fixes for 3476717, inline blocks should expand to encompass floats; 3476718, inline blocks should not