1. 03 Oct, 2008 1 commit
  2. 02 Oct, 2008 1 commit
  3. 28 Sep, 2008 1 commit
    • darin@apple.com's avatar
      2008-09-28 Darin Adler <darin@apple.com> · 80c76ce7
      darin@apple.com authored
              Reviewed by Sam Weinig (except for a few comment and header tweaks).
      
              - https://bugs.webkit.org/show_bug.cgi?id=21158
                reduce use of virtual functions in Node for speed
      
              Speeds up Dromaeo a bit less than 1%.
      
              * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
              Node.h now that some inlines are in there.
      
              * dom/Attr.h: Override both the virtual and non-virtual name functions.
      
              * dom/ChildNodeList.cpp:
              (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
              * dom/ChildNodeList.h: Ditto.
              * dom/ClassNodeList.cpp:
              (WebCore::ClassNodeList::nodeMatches): Ditto.
              * dom/ClassNodeList.h: Ditto.
      
              * dom/Document.h: Put the Node::isDocumentNode() function's inline
              definition here where it can see the Document class definition.
      
              * dom/DynamicNodeList.cpp:
              (WebCore::DynamicNodeList::length): Changed to pass an Element.
              (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
              (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
              (WebCore::DynamicNodeList::itemWithName): Ditto.
              * dom/DynamicNodeList.h: Ditto.
      
              * dom/Element.cpp: Removed virtualHasTagName.
              * dom/Element.h: Made localName, prefix, namespaceURI, and
              styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
              virtualNamespaceURI, and removed virtualHasTagName. Put the
              Node::hasTagName, Node::hasAttributes, and Node::attributes
              functions' inline definitions here where they can see the Element
              class definition.
      
              * dom/NameNodeList.cpp:
              (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
              * dom/NameNodeList.h: Ditto.
      
              * dom/Node.cpp:
              (WebCore::Node::virtualPrefix): Renamed from prefix.
              (WebCore::Node::virtualLocalName): Renamed from localName.
              (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
              (WebCore::Node::styleForRenderer): Handle the Element case here.
      
              * dom/Node.h: Removed definition of hasTagName that calls virtual,
              since we now have a non-virtual version. Made hasAttributes,
              attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
              and styleForRenderer non-virtual. Added virtualPrefix,
              virtualLocalName, and virtualNamespaceURI. Removed isMalformed
              and setMalformed, which are used only on HTMLFormElement objects.
      
              * dom/TagNodeList.cpp:
              (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
              * dom/TagNodeList.h: Ditto.
      
              * html/HTMLAnchorElement.cpp: Added a comment.
              * html/HTMLFormControlElement.cpp: Ditto.
      
              * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
              function. Marked tabIndex function virtual explicitly for clarity.
      
              * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
              function. Marked isFocusable function virtual explicitly for clarity.
      
              * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
              clarity.
              * html/HTMLFormControlElement.h: Ditto.
      
              * html/HTMLFormElement.h: Made isMalformed non-virtual.
      
              * html/HTMLParser.cpp:
              (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
              pointer to call localName since that one does not need to call a virtual
              function.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
              calling isMalformed. We already did a tag name check so we know it's
              an HTMLFormELement.
      
              * xml/XPathUtil.cpp:
              (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
              to nodeType(), since it's a virtual function.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80c76ce7
  4. 25 Sep, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-09-25 David Hyatt <hyatt@apple.com> · c01fb23a
      hyatt@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=21129
      
              Refactor contents size and scroll offset to be cross-platform.  Reduce further the number
              of platform-specific methods required of ScrollView implementations.
      
              Reviewed by Tim Hatcher
      
              * dom/MouseRelatedEvent.cpp:
              (WebCore::contentsX):
              (WebCore::contentsY):
              * html/HTMLBodyElement.cpp:
              (WebCore::HTMLBodyElement::scrollLeft):
              (WebCore::HTMLBodyElement::setScrollLeft):
              (WebCore::HTMLBodyElement::scrollTop):
              (WebCore::HTMLBodyElement::setScrollTop):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::scrollX):
              (WebCore::DOMWindow::scrollY):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::hitTestResultAtPoint):
              * page/FrameView.cpp:
              (WebCore::FrameView::scrollTo):
              (WebCore::FrameView::windowClipRect):
              * platform/ScrollView.cpp:
              (WebCore::ScrollView::visibleContentRect):
              (WebCore::ScrollView::contentsSize):
              (WebCore::ScrollView::platformContentsSize):
              * platform/ScrollView.h:
              (WebCore::ScrollView::scrollPosition):
              (WebCore::ScrollView::scrollOffset):
              (WebCore::ScrollView::scrollX):
              (WebCore::ScrollView::scrollY):
              (WebCore::ScrollView::contentsWidth):
              (WebCore::ScrollView::contentsHeight):
              * platform/gtk/ScrollViewGtk.cpp:
              (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
              (WebCore::ScrollView::setGtkAdjustments):
              (WebCore::ScrollView::resizeContents):
              (WebCore::ScrollView::contentsWidth):
              (WebCore::ScrollView::contentsHeight):
              (WebCore::ScrollView::scrollOffset):
              (WebCore::ScrollView::maximumScroll):
              (WebCore::ScrollView::scrollBy):
              (WebCore::ScrollView::suppressScrollbars):
              (WebCore::ScrollView::setHScrollbarMode):
              (WebCore::ScrollView::setVScrollbarMode):
              (WebCore::ScrollView::setScrollbarsMode):
              (WebCore::ScrollView::setFrameGeometry):
              (WebCore::ScrollView::updateScrollbars):
              * platform/mac/ScrollViewMac.mm:
              (WebCore::ScrollView::platformContentsSize):
              (WebCore::ScrollView::scrollBy):
              * platform/mac/WidgetMac.mm:
              (WebCore::Widget::convertFromContainingWindow):
              (WebCore::Widget::convertToContainingWindow):
              * platform/qt/ScrollViewQt.cpp:
              (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
              (WebCore::ScrollView::resizeContents):
              (WebCore::ScrollView::setFrameGeometry):
              (WebCore::ScrollView::scrollOffset):
              (WebCore::ScrollView::maximumScroll):
              (WebCore::ScrollView::scrollBy):
              (WebCore::ScrollView::setHScrollbarMode):
              (WebCore::ScrollView::setVScrollbarMode):
              (WebCore::ScrollView::setScrollbarsMode):
              (WebCore::ScrollView::updateScrollbars):
              * platform/win/ScrollViewWin.cpp:
              (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
              (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
              (WebCore::ScrollView::resizeContents):
              (WebCore::ScrollView::setFrameGeometry):
              (WebCore::ScrollView::scrollOffset):
              (WebCore::ScrollView::maximumScroll):
              (WebCore::ScrollView::scrollBy):
              (WebCore::ScrollView::setHScrollbarMode):
              (WebCore::ScrollView::setVScrollbarMode):
              (WebCore::ScrollView::setScrollbarsMode):
              (WebCore::ScrollView::updateScrollbars):
              * platform/wx/ScrollViewWx.cpp:
              (WebCore::ScrollView::platformVisibleContentRect):
              (WebCore::ScrollView::platformContentsSize):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::nodeAtPoint):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::scrollRectToVisible):
              (WebCore::RenderLayer::calculateClipRects):
              (WebCore::RenderLayer::calculateRects):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::absolutePosition):
              (WebCore::RenderView::computeAbsoluteRepaintRect):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36925 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c01fb23a
  5. 16 Sep, 2008 2 commits
    • mitz@apple.com's avatar
      WebCore: · d9462a52
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=15129
                <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
      
              Covered by fast/repaint/4776765.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
              did not have layout in the beginning.
              (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
              layout in the beginning, repaint it in its new position, to compensate
              for the above (regardless of whether it "moved").
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
              about generalizing this fix in the future.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - updated results for https://bugs.webkit.org/show_bug.cgi?id=15129
                <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
      
              * platform/mac/fast/repaint/4776765-expected.checksum:
              * platform/mac/fast/repaint/4776765-expected.png:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9462a52
    • mitz@apple.com's avatar
      WebCore: · 6d92520b
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=15384
                Div does not notice when grandparent changes height
      
              Test: fast/block/basic/quirk-percent-height-grandchild.html
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=20714
                Resizing Gmail inbox vertically results in whitespace at the bottom of the window
      
              Test: fast/replaced/percent-height-in-anonymous-block.html
      
              Added a two-way mapping between boxes with percentage heights and
              their non-parent ancestors up to the one the height is computed relative
              to. In quirks mode (the first bug), this can be any number of containing
              block with auto height. In strict mode (the second bug) this can be
              the containing block of an anonymous block containing a replaced
              element.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
              mapping to/from this block to percentage-height descendants.
              (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
              percentage-height descendants (and their containing block ancestry chain
              up to this block) for layout. This ensures that those descendants whose
              height depends on the height of this block (or an ancestor) are updated.
              (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
              a two-way mapping between this block and the given box.
              (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
              all the mapping to/from this box.
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::setStyle): Added calls to
              removePercentHeightDescendant() when style changes and the box
              previously had a percentage height. An exception is when the style
              change does not require layout, in which case the box still has
              a percentage height and the mappings are valid. In all other cases,
              any required mappings will be (re-)established during layout.
              (WebCore::RenderBox::destroy): Added a call to
              removePercentHeightDescendant.
              (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
              mode, if a higher-than-parent containing block is affecting the box's
              height, creates a mapping between the box and that block.
              (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
              anonymous containing blocks, if any, and when that happens, use
              addPercentHeightDescendant() to ensure that the non-anonymous block
              is aware of the dependent percent-height box.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=15384
                Div does not notice when grandparent changes height
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=20714
                Resizing Gmail inbox vertically results in whitespace at the bottom of the window
      
              * fast/block/basic/quirk-percent-height-grandchild.html: Added.
              * fast/replaced/percent-height-in-anonymous-block.html: Added.
              * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.checksum: Added.
              * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.png: Added.
              * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.txt: Added.
              * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.checksum: Added.
              * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.png: Added.
              * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36513 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d92520b
  6. 14 Sep, 2008 1 commit
    • weinig@apple.com's avatar
      JavaScriptCore: · 064861af
      weinig@apple.com authored
      2008-09-14  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Mark Rowe.
      
              Remove extraneous semicolons.
      
              * kjs/nodes.cpp:
              (JSC::PrefixResolveNode::emitCode):
              * wtf/FastMalloc.cpp:
              (WTF::TCMalloc_PageHeap::GrowHeap):
      
      WebCore:
      
      2008-09-14  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Mark Rowe.
      
              Remove extraneous semicolons.
      
              * bindings/scripts/CodeGeneratorObjC.pm:
              * html/HTMLLinkElement.cpp:
              (WebCore::HTMLLinkElement::tokenizeRelAttribute):
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::charsetAttributeValue):
              (WebCore::HTMLScriptElement::typeAttributeValue):
              * platform/graphics/qt/GradientQt.cpp:
              (WebCore::Gradient::platformGradient):
              * platform/qt/ScrollViewQt.cpp:
              (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
              * platform/win/ScrollViewWin.cpp:
              (WebCore::ScrollView::updateScrollbars):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintEllipsisBoxes):
              * svg/SVGPathSegList.cpp:
              (WebCore::SVGPathSegList::toPathData):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      064861af
  7. 04 Sep, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 89557c51
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=19717
                <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
              positioned movement only case, call
              tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
              layout if that fails.
              (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
              * rendering/RenderBox.h:
              (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
              layoutDoingPositionedMovementOnly to this, and made this function
              check if the width changed. If it did, return, leaving the object
              dirty. The caller can then call layout(). The width can change even
              in the "positioned movement only" case if the object is shrink-to-fit
              and the available width constraint is met. (This was the case in the
              bug).
              * rendering/RenderObject.h:
              (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
              Renamed layoutDoingPositionedMovementOnly() to this.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=19717
                <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
      
              * fast/block/positioning/move-with-auto-width.html: Added.
              * platform/mac/fast/block/positioning/move-with-auto-width-expected.checksum: Added.
              * platform/mac/fast/block/positioning/move-with-auto-width-expected.png: Added.
              * platform/mac/fast/block/positioning/move-with-auto-width-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      89557c51
  8. 03 Sep, 2008 1 commit
    • hyatt@apple.com's avatar
      WebCore: · 4b38ed82
      hyatt@apple.com authored
      2008-09-03  David Hyatt  <hyatt@apple.com>
      
              Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
      
              Reviewed by Darin (ages ago)
      
              Added fast/block/float/clamped-right-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::positionNewFloats):
      
      LayoutTests:
      
      2008-09-03  David Hyatt  <hyatt@apple.com>
      
              Fix for bug 18203.
      
              Reviewed by Darin (ages ago).
      
              * fast/block/float/clamped-right-float.html: Added.
              * platform/mac/fast/block/float/clamped-right-float-expected.checksum: Added.
              * platform/mac/fast/block/float/clamped-right-float-expected.png: Added.
              * platform/mac/fast/block/float/clamped-right-float-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b38ed82
  9. 07 Aug, 2008 1 commit
    • simon.fraser@apple.com's avatar
      2008-08-07 Simon Fraser <simon.fraser@apple.com> · 6a1316d3
      simon.fraser@apple.com authored
              Reviewed by Sam Weinig
      
              Rename Marquee to RenderMarquee and move to its own file.
              https://bugs.webkit.org/show_bug.cgi?id=20319
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * html/HTMLMarqueeElement.cpp:
              * rendering/RenderBlock.cpp:
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::styleChanged):
              * rendering/RenderLayer.h:
              * rendering/RenderMarquee.cpp: Added.
              (WebCore::RenderMarquee::RenderMarquee):
              (WebCore::RenderMarquee::marqueeSpeed):
              (WebCore::RenderMarquee::direction):
              (WebCore::RenderMarquee::isHorizontal):
              (WebCore::RenderMarquee::computePosition):
              (WebCore::RenderMarquee::start):
              (WebCore::RenderMarquee::suspend):
              (WebCore::RenderMarquee::stop):
              (WebCore::RenderMarquee::updateMarqueePosition):
              (WebCore::RenderMarquee::updateMarqueeStyle):
              (WebCore::RenderMarquee::timerFired):
              * rendering/RenderMarquee.h: Added.
              (WebCore::RenderMarquee::speed):
              (WebCore::RenderMarquee::reverseDirection):
              (WebCore::RenderMarquee::setEnd):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a1316d3
  10. 01 Aug, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-07-30 David Hyatt <hyatt@apple.com> · 90949397
      hyatt@apple.com authored
              Improvements to selection drawing.
      
              Clip out floating and positioned objects when drawing selection so
              that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
              object and the positioned/floating object itself.  Improves most Web pages.
      
              Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
              position).  Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.
      
              Reviewed by Dan
      
              Covered by existing selection pixel tests.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::isSelectionRoot):
              (WebCore::RenderBlock::paintSelection):
              (WebCore::clipOutPositionedObjects):
              (WebCore::RenderBlock::fillSelectionGaps):
              (WebCore::RenderBlock::fillLeftSelectionGap):
              (WebCore::RenderBlock::fillRightSelectionGap):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90949397
  11. 29 Jul, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 3fce1b33
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
      
              Test: fast/overflow/float-in-relpositioned.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
              to floats' and positioned objects' lowest position.
              (WebCore::RenderBlock::rightmostPosition): Ditto.
              (WebCore::RenderBlock::leftmostPosition): Ditto.
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::lowestPosition): Removed redundant test.
              (WebCore::RenderBox::rightmostPosition): Ditto.
              (WebCore::RenderBox::leftmostPosition): Ditto.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test, updated test and results for <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
      
              * fast/overflow/float-in-relpositioned.html: Added.
              * fast/repaint/containing-block-position-change.html: Changed to avoid
              a full repaint due to a scroll bar appearing.
              * platform/mac/fast/clip/015-expected.txt:
              * platform/mac/fast/overflow/float-in-relpositioned-expected.checksum: Added.
              * platform/mac/fast/overflow/float-in-relpositioned-expected.png: Added.
              * platform/mac/fast/overflow/float-in-relpositioned-expected.txt: Added.
              * platform/mac/fast/repaint/clipped-relative-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fce1b33
  12. 12 Jul, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · dfd8dd58
      mitz@apple.com authored
              Reviewed by Oliver Hunt.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=18088
                <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
      
              Test: fast/block/basic/min-pref-width-nowrap-floats.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::calcInlinePrefWidths): Fixed a case where a
              float's width was added to the minimum preferred widths instead of just
              acting as a lower bound on the minimum preferred width (since the float
              can always be pushed down to be the only thing on the line).
      
      LayoutTests:
      
              Reviewed by Oliver Hunt.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=18088
                <rdar://problem/6036232> white-space:nowrap; float:left; causing the misalignment issue
      
              * fast/block/basic/min-pref-width-nowrap-floats.html: Added.
              * platform/mac/fast/block/basic/min-pref-width-nowrap-floats-expected.checksum: Added.
              * platform/mac/fast/block/basic/min-pref-width-nowrap-floats-expected.png: Added.
              * platform/mac/fast/block/basic/min-pref-width-nowrap-floats-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@35152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dfd8dd58
  13. 20 Jun, 2008 2 commits
    • timothy@apple.com's avatar
      Fixes: Bug 19679: iframes with a height of 32,768px or greater do not layout correctly · c59ad194
      timothy@apple.com authored
      WebCore:
      
      2008-06-19  Timothy Hatcher  <timothy@apple.com>
      
              Changed all lineHeight, baselinePosition and verticalPositionHint
              calls to return int instead of short. The short was overflowing
              when a value greater than 32,767 was encountered.
      
              Fixes: iframes with a height of 32,768px or greater do not layout correctly
              https://bugs.webkit.org/show_bug.cgi?id=19679
      
              Reviewed by Dave Hyatt.
      
              Test: fast/css/line-height-overflow.html
      
              * rendering/RenderBR.cpp:
              (WebCore::RenderBR::baselinePosition):
              * rendering/RenderBR.h:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::lineHeight):
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.cpp:
              * rendering/RenderFlow.h:
              * rendering/RenderListBox.cpp:
              * rendering/RenderListBox.h:
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::lineHeight):
              * rendering/RenderListMarker.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::verticalPositionHint):
              * rendering/RenderObject.h:
              (WebCore::):
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::lineHeight):
              * rendering/RenderPath.h:
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::lineHeight):
              * rendering/RenderReplaced.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::lineHeight):
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGHiddenContainer.cpp:
              (WebCore::RenderSVGHiddenContainer::lineHeight):
              * rendering/RenderSVGHiddenContainer.h:
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::lineHeight):
              * rendering/RenderSVGRoot.h:
              * rendering/RenderSlider.cpp:
              * rendering/RenderSlider.h:
              * rendering/RenderTableCell.cpp:
              * rendering/RenderTableCell.h:
              * rendering/RenderTableCol.h:
              * rendering/RenderTableRow.h:
              * rendering/RenderTableSection.h:
              * rendering/RenderText.cpp:
              * rendering/RenderText.h:
              * rendering/RenderTextControl.cpp:
              * rendering/RenderTextControl.h:
              * rendering/RenderTheme.cpp:
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.h:
              * rendering/RenderThemeMac.mm:
              * rendering/RenderThemeSafari.cpp:
              * rendering/RenderThemeSafari.h:
      
      LayoutTests:
      
      2008-06-19  Timothy Hatcher  <timothy@apple.com>
      
              Test for: iframes with a height of 32,768px or greater do not layout correctly
              https://bugs.webkit.org/show_bug.cgi?id=19679
      
              Reviewed by Dave Hyatt.
      
              * fast/css/line-height-overflow.html: Added.
              * platform/mac/fast/css/line-height-overflow-expected.txt: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c59ad194
    • mitz@apple.com's avatar
      WebCore: · 9f7cc0e3
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=19519
                <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
      
              Test: fast/table/prepend-in-anonymous-table.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addChildToFlow): Added code to handle the case
              of inserting before a child that has been wrapped by an anonymous table,
              in which case if the new child is the type that needs to be in a table,
              it is inserted into the table, and otherwise it is inserted before the
              table.
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::addChild): Added table-column-group alongside
              table-caption as content that can exist inside an anonymous table
              without being wrapped in a table section.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=19519
                <rdar://problem/6007345> DOM modification causes stack exhaustion (BUTTON OBJECT COLGROUP)
      
              * fast/table/prepend-in-anonymous-table.html: Added.
              * platform/mac/fast/table/prepend-in-anonymous-table-expected.checksum: Added.
              * platform/mac/fast/table/prepend-in-anonymous-table-expected.png: Added.
              * platform/mac/fast/table/prepend-in-anonymous-table-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9f7cc0e3
  14. 16 Jun, 2008 1 commit
    • darin@apple.com's avatar
      WebCore: · 60d3e9f9
      darin@apple.com authored
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - give Frame object functions shorter names: scriptProxy() -> script(),
                selectionController() -> selection(), animationController() -> animation()
      
              * WebCore.base.exp:
              * bindings/js/JSCustomSQLStatementCallback.cpp:
              (WebCore::JSCustomSQLStatementCallback::handleEvent):
              * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
              (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionCallback.cpp:
              (WebCore::JSCustomSQLTransactionCallback::handleEvent):
              * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
              (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
              * bindings/js/JSCustomVoidCallback.cpp:
              (WebCore::JSCustomVoidCallback::handleEvent):
              * bindings/js/JSCustomXPathNSResolver.cpp:
              (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
              * bindings/js/JSDOMWindowBase.cpp:
              (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
              (WebCore::allowPopUp):
              (WebCore::createWindow):
              (WebCore::windowProtoFuncOpen):
              (WebCore::toJS):
              (WebCore::toJSDOMWindow):
              * bindings/js/JSDOMWindowCustom.cpp:
              (WebCore::JSDOMWindow::setLocation):
              * bindings/js/JSDOMWindowShell.cpp:
              (WebCore::toJS):
              (WebCore::toJSDOMWindowShell):
              * bindings/js/JSDocumentCustom.cpp:
              (WebCore::JSDocument::setLocation):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::navigateIfAllowed):
              (WebCore::JSLocation::reload):
              * bindings/js/JSNodeFilterCondition.cpp:
              (WebCore::JSNodeFilterCondition::acceptNode):
              * bindings/js/ScheduledAction.cpp:
              (WebCore::ScheduledAction::execute):
              * bindings/js/kjs_events.cpp:
              (WebCore::JSAbstractEventListener::handleEvent):
              (WebCore::JSLazyEventListener::parseCode):
              * bindings/js/kjs_html.cpp:
              (WebCore::runtimeObjectImplementsCall):
              * bindings/objc/DOMInternal.mm:
              (-[WebScriptObject _initializeScriptDOMNodeImp]):
              * bridge/jni/jni_jsobject.mm:
              (createRootObject):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              * dom/Document.cpp:
              (WebCore::Document::nodeWillBeRemoved):
              (WebCore::Document::createHTMLEventListener):
              * dom/Element.cpp:
              (WebCore::Element::updateFocusAppearance):
              * dom/EventTarget.cpp:
              (WebCore::EventTarget::dispatchGenericEvent):
              * dom/XMLTokenizer.cpp:
              (WebCore::XMLTokenizer::startElementNs):
              * editing/DeleteButtonController.cpp:
              (WebCore::DeleteButtonController::respondToChangedSelection):
              (WebCore::DeleteButtonController::enable):
              (WebCore::DeleteButtonController::deleteTarget):
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::EditCommand):
              * editing/Editor.cpp:
              (WebCore::Editor::selectionForCommand):
              (WebCore::Editor::canEdit):
              (WebCore::Editor::canEditRichly):
              (WebCore::Editor::canDHTMLCut):
              (WebCore::Editor::canDHTMLCopy):
              (WebCore::Editor::canCopy):
              (WebCore::Editor::canDelete):
              (WebCore::Editor::deleteWithDirection):
              (WebCore::Editor::deleteSelectionWithSmartDelete):
              (WebCore::Editor::replaceSelectionWithFragment):
              (WebCore::Editor::selectedRange):
              (WebCore::Editor::tryDHTMLCopy):
              (WebCore::Editor::tryDHTMLCut):
              (WebCore::Editor::fontForSelection):
              (WebCore::Editor::selectionUnorderedListState):
              (WebCore::Editor::selectionOrderedListState):
              (WebCore::Editor::increaseSelectionListLevel):
              (WebCore::Editor::increaseSelectionListLevelOrdered):
              (WebCore::Editor::increaseSelectionListLevelUnordered):
              (WebCore::Editor::decreaseSelectionListLevel):
              (WebCore::Editor::dispatchCPPEvent):
              (WebCore::Editor::applyStyle):
              (WebCore::Editor::applyParagraphStyle):
              (WebCore::Editor::applyStyleToSelection):
              (WebCore::Editor::applyParagraphStyleToSelection):
              (WebCore::Editor::selectionHasStyle):
              (WebCore::Editor::appliedEditing):
              (WebCore::Editor::unappliedEditing):
              (WebCore::Editor::reappliedEditing):
              (WebCore::Editor::insertLineBreak):
              (WebCore::Editor::insertParagraphSeparator):
              (WebCore::Editor::paste):
              (WebCore::Editor::selectComposition):
              (WebCore::Editor::confirmComposition):
              (WebCore::Editor::setComposition):
              (WebCore::Editor::advanceToNextMisspelling):
              (WebCore::Editor::isSelectionUngrammatical):
              (WebCore::Editor::guessesForUngrammaticalSelection):
              (WebCore::Editor::getCompositionSelection):
              (WebCore::Editor::transpose):
              * editing/EditorCommand.cpp:
              (WebCore::expandSelectionToGranularity):
              (WebCore::executeDeleteToMark):
              (WebCore::executeMoveBackward):
              (WebCore::executeMoveBackwardAndModifySelection):
              (WebCore::executeMoveDown):
              (WebCore::executeMoveDownAndModifySelection):
              (WebCore::executeMoveForward):
              (WebCore::executeMoveForwardAndModifySelection):
              (WebCore::executeMoveLeft):
              (WebCore::executeMoveLeftAndModifySelection):
              (WebCore::executeMovePageDown):
              (WebCore::executeMovePageDownAndModifySelection):
              (WebCore::executeMovePageUp):
              (WebCore::executeMovePageUpAndModifySelection):
              (WebCore::executeMoveRight):
              (WebCore::executeMoveRightAndModifySelection):
              (WebCore::executeMoveToBeginningOfDocument):
              (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
              (WebCore::executeMoveToBeginningOfLine):
              (WebCore::executeMoveToBeginningOfLineAndModifySelection):
              (WebCore::executeMoveToBeginningOfParagraph):
              (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
              (WebCore::executeMoveToBeginningOfSentence):
              (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
              (WebCore::executeMoveToEndOfDocument):
              (WebCore::executeMoveToEndOfDocumentAndModifySelection):
              (WebCore::executeMoveToEndOfSentence):
              (WebCore::executeMoveToEndOfSentenceAndModifySelection):
              (WebCore::executeMoveToEndOfLine):
              (WebCore::executeMoveToEndOfLineAndModifySelection):
              (WebCore::executeMoveToEndOfParagraph):
              (WebCore::executeMoveToEndOfParagraphAndModifySelection):
              (WebCore::executeMoveParagraphBackwardAndModifySelection):
              (WebCore::executeMoveParagraphForwardAndModifySelection):
              (WebCore::executeMoveUp):
              (WebCore::executeMoveUpAndModifySelection):
              (WebCore::executeMoveWordBackward):
              (WebCore::executeMoveWordBackwardAndModifySelection):
              (WebCore::executeMoveWordForward):
              (WebCore::executeMoveWordForwardAndModifySelection):
              (WebCore::executeMoveWordLeft):
              (WebCore::executeMoveWordLeftAndModifySelection):
              (WebCore::executeMoveWordRight):
              (WebCore::executeMoveWordRightAndModifySelection):
              (WebCore::executeSelectAll):
              (WebCore::executeSelectToMark):
              (WebCore::executeSetMark):
              (WebCore::executeSwapWithMark):
              (WebCore::executeUnselect):
              (WebCore::enabledAnySelection):
              (WebCore::enabledAnySelectionAndMark):
              (WebCore::enabledInRichlyEditableText):
              (WebCore::enabledRangeInEditableText):
              (WebCore::enabledRangeInRichlyEditableText):
              * editing/ModifySelectionListLevel.cpp:
              (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
              (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
              * editing/RemoveFormatCommand.cpp:
              (WebCore::RemoveFormatCommand::doApply):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::setSelection):
              (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::deleteSelection):
              (WebCore::TypingCommand::insertText):
              (WebCore::TypingCommand::deleteKeyPressed):
              (WebCore::TypingCommand::forwardDeleteKeyPressed):
              * history/CachedPage.cpp:
              (WebCore::CachedPage::CachedPage):
              (WebCore::CachedPage::restore):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::defaultEventHandler):
              (WebCore::HTMLAnchorElement::setActive):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler):
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::createNPObject):
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::evaluateScript):
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::parseTag):
              (WebCore::HTMLTokenizer::processToken):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::executeScript):
              (WebCore::FrameLoader::clear):
              (WebCore::FrameLoader::userGestureHint):
              (WebCore::FrameLoader::open):
              (WebCore::FrameLoader::dispatchWindowObjectAvailable):
              (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
              * loader/archive/cf/LegacyWebArchive.cpp:
              (WebCore::LegacyWebArchive::createFromSelection):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::selection):
              (WebCore::AccessibilityRenderObject::setSelectedTextRange):
              (WebCore::AccessibilityRenderObject::isFocused):
              (WebCore::AccessibilityRenderObject::doAXTextMarkerRangeForLine):
              (WebCore::AccessibilityRenderObject::doSetAXSelectedTextMarkerRange):
              (WebCore::AccessibilityRenderObject::doAXRangeForLine):
              (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
              * page/ContextMenuController.cpp:
              (WebCore::ContextMenuController::contextMenuItemSelected):
              * page/DOMSelection.cpp:
              (WebCore::DOMSelection::anchorNode):
              (WebCore::DOMSelection::baseNode):
              (WebCore::DOMSelection::anchorOffset):
              (WebCore::DOMSelection::baseOffset):
              (WebCore::DOMSelection::focusNode):
              (WebCore::DOMSelection::extentNode):
              (WebCore::DOMSelection::focusOffset):
              (WebCore::DOMSelection::extentOffset):
              (WebCore::DOMSelection::isCollapsed):
              (WebCore::DOMSelection::type):
              (WebCore::DOMSelection::rangeCount):
              (WebCore::DOMSelection::collapse):
              (WebCore::DOMSelection::collapseToEnd):
              (WebCore::DOMSelection::collapseToStart):
              (WebCore::DOMSelection::empty):
              (WebCore::DOMSelection::setBaseAndExtent):
              (WebCore::DOMSelection::setPosition):
              (WebCore::DOMSelection::modify):
              (WebCore::DOMSelection::extend):
              (WebCore::DOMSelection::getRangeAt):
              (WebCore::DOMSelection::removeAllRanges):
              (WebCore::DOMSelection::addRange):
              (WebCore::DOMSelection::deleteFromDocument):
              (WebCore::DOMSelection::containsNode):
              (WebCore::DOMSelection::toString):
              * page/DragController.cpp:
              (WebCore::DragController::dragIsMove):
              (WebCore::DragController::tryDocumentDrag):
              (WebCore::setSelectionToDragCaret):
              (WebCore::DragController::concludeDrag):
              (WebCore::prepareClipboardForImageDrag):
              (WebCore::DragController::startDrag):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::selectClosestWordFromMouseEvent):
              (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
              (WebCore::EventHandler::handleMousePressEventDoubleClick):
              (WebCore::EventHandler::handleMousePressEventTripleClick):
              (WebCore::EventHandler::handleMousePressEventSingleClick):
              (WebCore::EventHandler::handleMousePressEvent):
              (WebCore::EventHandler::updateSelectionForMouseDrag):
              (WebCore::EventHandler::handleMouseReleaseEvent):
              (WebCore::nodeIsNotBeingEdited):
              (WebCore::EventHandler::selectCursor):
              (WebCore::EventHandler::dispatchMouseEvent):
              (WebCore::EventHandler::sendContextMenuEvent):
              (WebCore::EventHandler::handleKeyboardSelectionMovement):
              (WebCore::EventHandler::handleDrag):
              * page/FocusController.cpp:
              (WebCore::FocusController::setFocusedFrame):
              (WebCore::clearSelectionIfNeeded):
              (WebCore::FocusController::setActive):
              * page/Frame.cpp:
              (WebCore::Frame::~Frame):
              (WebCore::Frame::script):
              (WebCore::Frame::setDocument):
              (WebCore::Frame::selectedText):
              (WebCore::Frame::selection):
              (WebCore::Frame::animation):
              (WebCore::Frame::notifyRendererOfSelectionChange):
              (WebCore::Frame::invalidateSelection):
              (WebCore::Frame::clearCaretRectIfNeeded):
              (WebCore::Frame::setFocusedNodeIfNeeded):
              (WebCore::Frame::selectionLayoutChanged):
              (WebCore::Frame::caretBlinkTimerFired):
              (WebCore::Frame::paintCaret):
              (WebCore::Frame::shouldChangeSelection):
              (WebCore::Frame::updateSecureKeyboardEntryIfActive):
              (WebCore::Frame::computeAndSetTypingStyle):
              (WebCore::Frame::selectionComputedStyle):
              (WebCore::Frame::bindingRootObject):
              (WebCore::Frame::windowScriptNPObject):
              (WebCore::Frame::clearScriptController):
              (WebCore::Frame::selectionTextRects):
              (WebCore::Frame::currentForm):
              (WebCore::Frame::revealSelection):
              (WebCore::Frame::revealCaret):
              (WebCore::Frame::clearTimers):
              (WebCore::Frame::styleForSelectionStart):
              (WebCore::Frame::setSelectionFromNone):
              (WebCore::Frame::findString):
              (WebCore::Frame::pageDestroyed):
              (WebCore::Frame::respondToChangedSelection):
              (WebCore::FramePrivate::FramePrivate):
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/InspectorController.cpp:
              (WebCore::canPassNodeToJavaScript):
              (WebCore::InspectorController::windowScriptObjectAvailable):
              * page/JavaScriptDebugServer.cpp:
              (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
              * page/Page.cpp:
              (WebCore::Page::findString):
              (WebCore::Page::selection):
              (WebCore::Page::setDebugger):
              * page/mac/FrameMac.mm:
              (WebCore::Frame::baseWritingDirectionForSelectionStart):
              (WebCore::Frame::dragImageForSelection):
              (WebCore::Frame::createScriptInstanceForWidget):
              (WebCore::Frame::windowScriptObject):
              * page/win/FrameWin.cpp:
              (WebCore::Frame::dragImageForSelection):
              * platform/ContextMenu.cpp:
              (WebCore::selectionContainsPossibleWord):
              (WebCore::ContextMenu::populate):
              (WebCore::ContextMenu::checkOrEnableIfNeeded):
              * plugins/PluginView.cpp:
              (WebCore::PluginView::performRequest):
              (WebCore::PluginView::bindingInstance):
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::isSelected):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintCaret):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::paintItemForeground):
              (WebCore::RenderListBox::paintItemBackground):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::selectionBackgroundColor):
              (WebCore::RenderObject::selectionForegroundColor):
              (WebCore::RenderObject::setAnimatableStyle):
              (WebCore::RenderObject::destroy):
              (WebCore::RenderObject::animation):
              * rendering/RenderObject.h:
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::selectionStart):
              (WebCore::RenderTextControl::selectionEnd):
              (WebCore::RenderTextControl::setSelectionRange):
              (WebCore::RenderTextControl::selectionChanged):
              (WebCore::RenderTextControl::capsLockStateMayHaveChanged):
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::isFocused):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::writeSelection):
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::destroy):
              * svg/SVGDocumentExtensions.cpp:
              (WebCore::SVGDocumentExtensions::createSVGEventListener):
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::deselectAll):
              * svg/SVGTextContentElement.cpp:
              (WebCore::SVGTextContentElement::selectSubString):
      
      WebKit/gtk:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - give Frame object functions shorter names: scriptProxy() -> script(),
                selectionController() -> selection(), animationController() -> animation()
      
              * WebCoreSupport/EditorClientGtk.cpp:
              (WebKit::EditorClient::handleKeyboardEvent):
              * WebCoreSupport/FrameLoaderClientGtk.cpp:
              (WebKit::FrameLoaderClient::windowObjectCleared):
              * webkit/webkitwebframe.cpp:
              * webkit/webkitwebview.cpp:
      
      WebKit/mac:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - give Frame object functions shorter names: scriptProxy() -> script(),
                selectionController() -> selection(), animationController() -> animation()
      
              * Plugins/WebPluginController.mm:
              (-[WebPluginController webPlugInContainerSelectionColor]):
              * WebView/WebFrame.mm:
              (-[WebFrame _attachScriptDebugger]):
              (-[WebFrame _hasSelection]):
              (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
              (-[WebFrame _convertToNSRange:]):
              (-[WebFrame _convertToDOMRange:]):
              (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
              (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
              (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
              (-[WebFrame _selectedNSRange]):
              (-[WebFrame _selectNSRange:]):
              (-[WebFrame globalContext]):
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView _selectedRange]):
              (-[WebHTMLView _hasSelection]):
              (-[WebHTMLView _hasSelectionOrInsertionPoint]):
              (-[WebHTMLView _hasInsertionPoint]):
              (-[WebHTMLView _isEditable]):
              (-[WebHTMLView _updateFocusedAndActiveState]):
              (-[WebHTMLView readSelectionFromPasteboard:]):
              (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
              (-[WebHTMLView maintainsInactiveSelection]):
              (-[WebHTMLView paste:]):
              (isTextInput):
              (-[WebHTMLView inputContext]):
              (-[WebTextCompleteController doCompletion]):
              (-[WebHTMLView selectAll]):
              (-[WebHTMLView deselectAll]):
              (-[WebHTMLView selectedAttributedString]):
              * WebView/WebView.mm:
              (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
              (-[WebView setSelectedDOMRange:affinity:]):
              (-[WebView selectedDOMRange]):
              (-[WebView selectionAffinity]):
      
      WebKit/qt:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - give Frame object functions shorter names: scriptProxy() -> script(),
                selectionController() -> selection(), animationController() -> animation()
      
              * Api/qwebframe.cpp:
              (QWebFrame::evaluateJavaScript):
              * Api/qwebpage.cpp:
              (QWebPagePrivate::focusInEvent):
              (QWebPagePrivate::focusOutEvent):
              (QWebPage::inputMethodQuery):
              * WebCoreSupport/EditorClientQt.cpp:
              (WebCore::EditorClientQt::handleKeyboardEvent):
      
      WebKit/win:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - give Frame object functions shorter names: scriptProxy() -> script(),
                selectionController() -> selection(), animationController() -> animation()
      
              * WebFrame.cpp:
              (WebFrame::globalContext):
              (WebFrame::windowObjectCleared):
              * WebView.cpp:
              (WebView::handleContextMenuEvent):
              (WebViewWndProc):
              (WebView::updateFocusedAndActiveState):
              (WebView::hasSelectedRange):
              (WebView::replaceSelectionWithText):
              (WebView::clearSelection):
              (WebView::prepareCandidateWindow):
              (WebView::onIMERequestCharPosition):
              (WebView::onIMERequestReconvertString):
      
      WebKit/wx:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              - give Frame object functions shorter names: scriptProxy() -> script(),
                selectionController() -> selection(), animationController() -> animation()
      
              * WebKitSupport/EditorClientWx.cpp:
              (WebCore::EditorClientWx::handleKeyboardEvent):
              * WebView.cpp:
              (wxWebView::RunScript):
              (wxWebView::OnSetFocus):
              (wxWebView::OnKillFocus):
      
      WebKitTools:
      
      2008-06-15  Darin Adler  <darin@apple.com>
      
              * Scripts/do-webcore-rename: Updated for the latest round of renaming.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34589 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60d3e9f9
  15. 08 Jun, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · ce2c3011
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix <rdar://problem/5961977> Crash in RenderBlock::layoutColumns()
      
              Test: fast/multicol/content-height-zero-crash.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutColumns): Changed to not keep creating
              overflow columns that have zero height, because they do not help with
              fitting content in.
      
      LayoutTests:
      
              - test for <rdar://problem/5961977> Crash in RenderBlock::layoutColumns()
      
              Reviewed by Darin Adler.
      
              * fast/multicol/content-height-zero-crash-expected.txt: Added.
              * fast/multicol/content-height-zero-crash.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ce2c3011
  16. 30 May, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 88c7b054
      mitz@apple.com authored
              Reviewed by Darin Adler and Dave Hyatt.
      
              - eliminate excessive repainting when an object's final position
                after layout is unchanged
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlockChildren): Removed the full repaint
              for the case that the final position is unchanged but the position at
              which an intermediate layout occurred was different. Any repainting
              done during the intermediate layout would have happened at the object's
              initial (and also final) coordinates, since layoutDelta is factored
              into repaint rect calculations.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - updated pixel results for "eliminate excessive repainting when an
                object's final position after layout is unchanged"
      
              * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.checksum:
              * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png:
              * platform/mac/fast/repaint/intermediate-layout-position-expected.checksum:
              * platform/mac/fast/repaint/intermediate-layout-position-expected.png:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      88c7b054
  17. 08 May, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · c2266d1a
      mitz@apple.com authored
              Reviewed by Mark Rowe.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=18818
                <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
      
              Test: fast/css/first-letter-float-after-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter): Changed to add the first
              letter container right before the rest of the text it is taken from,
              instead of at the beginning of the block.
      
      LayoutTests:
      
              Reviewed by Mark Rowe.
      
              - test and updated results for https://bugs.webkit.org/show_bug.cgi?id=18818
                <rdar://problem/5901544> REGRESSION (3.1.1-TOT): Character order (float:left ordered after the first letter)
      
              * ChangeLog:
              * fast/css/first-letter-float-after-float.html: Added.
              * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.checksum:
              * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.png:
              * platform/mac/fast/css/first-letter-float-after-float-expected.checksum: Added.
              * platform/mac/fast/css/first-letter-float-after-float-expected.png: Added.
              * platform/mac/fast/css/first-letter-float-after-float-expected.txt: Added.
              * platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32992 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2266d1a
  18. 07 May, 2008 2 commits
    • mitz@apple.com's avatar
      WebCore: · a801ef1d
      mitz@apple.com authored
              Reviewed by John Sullivan.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=18909
                <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
      
              Test: fast/dynamic/positioned-movement-with-positioned-children.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutOnlyPositionedObjects): Cover the case of
              a positioned object that has only moved and has only positioned children
              that have changed.
              * rendering/RenderObject.h:
              (WebCore::RenderObject::needsPositionedMovementLayout): Added this
              accessor.
      
      LayoutTests:
      
              Reviewed by John Sullivan.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=18909
                <rdar://problem/5914165> REGRESSION (r31872-r31878): Viewed photos not closing completely at indycar.com
      
              * fast/dynamic/positioned-movement-with-positioned-children.html: Added.
              * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.checksum: Added.
              * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.png: Added.
              * platform/mac/fast/dynamic/positioned-movement-with-positioned-children-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a801ef1d
    • mitz@apple.com's avatar
      WebCore: · 0676eebf
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix <rdar://problem/5914544> Crash in layoutInlineChildren()
      
              Test: fast/block/float/float-on-zero-height-line.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::markLinesDirtyInVerticalRange):
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for <rdar://problem/5914544> Crash in layoutInlineChildren()
      
              * fast/block/float/float-on-zero-height-line.html: Added.
              * platform/mac/fast/block/float/float-on-zero-height-line-expected.checksum: Added.
              * platform/mac/fast/block/float/float-on-zero-height-line-expected.png: Added.
              * platform/mac/fast/block/float/float-on-zero-height-line-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0676eebf
  19. 05 May, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · cd6deb7d
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=18809
                Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
      
              Test: fast/block/basic/adding-near-anonymous-block.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addChildToFlow): When adding a floating or
              positioned object, if it follows an anonymous block, put it
              inside the anonymous block. When adding an inline, check if it comes
              after an anonymous block and put it in the anonymous block.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test, updated test and updated results for https://bugs.webkit.org/show_bug.cgi?id=18809
                Forms with block level generated content and absolutely positioned labels break inline layout (fixed on reflow)
      
              * fast/block/basic/adding-near-anonymous-block.html: Added.
              * media/video-controls-rendering.html: Changed to work around
              https://bugs.webkit.org/show_bug.cgi?id=18857 which now affects this
              test in its original form.
              * platform/mac/css1/box_properties/clear-expected.txt:
              * platform/mac/fast/block/basic/adding-near-anonymous-block-expected.checksum: Added.
              * platform/mac/fast/block/basic/adding-near-anonymous-block-expected.png: Added.
              * platform/mac/fast/block/basic/adding-near-anonymous-block-expected.txt: Added.
              * platform/mac/fast/forms/input-align-image-expected.txt:
              * platform/mac/media/audio-controls-rendering-expected.txt:
              * platform/mac/media/video-controls-rendering-expected.txt:
              * platform/mac/tables/mozilla/bugs/bug51140-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd6deb7d
  20. 29 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      WebCore: · 7eb14abd
      hyatt@apple.com authored
      2008-04-29  David Hyatt  <hyatt@apple.com>
      
              Implement the new box-reflect property in CSS.  This property enables real-time reflections on
              objects (yes you can reflect <video>!).
      
              Reviewed by Dan Bernstein
      
              Test cases added in fast/reflections/
      
              * GNUmakefile.am:
              * WebCore.pro:
              * WebCore.xcodeproj/project.pbxproj:
              * WebCoreSources.bkl:
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::):
              (WebCore::valueForReflection):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseValue):
              (WebCore::CSSParser::parseReflect):
              (WebCore::BorderImageParseContext::commitBorderImage):
              (WebCore::CSSParser::parseBorderImage):
              (WebCore::parseGradientColorStop):
              (WebCore::CSSParser::parseTransform):
              * css/CSSParser.h:
              * css/CSSPropertyNames.in:
              * css/CSSReflectValue.cpp: Added.
              (WebCore::CSSReflectValue::cssText):
              * css/CSSReflectValue.h: Added.
              (WebCore::):
              (WebCore::CSSReflectValue::CSSReflectValue):
              (WebCore::CSSReflectValue::direction):
              (WebCore::CSSReflectValue::offset):
              (WebCore::CSSReflectValue::mask):
              (WebCore::CSSReflectValue::setDirection):
              (WebCore::CSSReflectValue::setOffset):
              (WebCore::CSSReflectValue::setMask):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::adjustRenderStyle):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapNinePieceImage):
              * css/CSSStyleSelector.h:
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesVertically):
              (WebCore::InlineFlowBox::paintMask):
              * rendering/Length.h:
              (WebCore::Length::calcFloatValue):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::overflowHeight):
              (WebCore::RenderBlock::overflowWidth):
              (WebCore::RenderBlock::overflowLeft):
              (WebCore::RenderBlock::overflowTop):
              (WebCore::RenderBlock::overflowRect):
              (WebCore::RenderBlock::layoutBlock):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::setStyle):
              (WebCore::RenderBox::paintMask):
              (WebCore::RenderBox::imageChanged):
              (WebCore::RenderBox::computeAbsoluteRepaintRect):
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::RenderFlexibleBox::layoutBlock):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::RenderLayer):
              (WebCore::RenderLayer::~RenderLayer):
              (WebCore::RenderLayer::updateLayerPositions):
              (WebCore::RenderLayer::enclosingPositionedAncestor):
              (WebCore::RenderLayer::enclosingTransformedAncestor):
              (WebCore::RenderLayer::isTransparent):
              (WebCore::transparencyClipBox):
              (WebCore::RenderLayer::operator delete):
              (WebCore::RenderLayer::destroy):
              (WebCore::RenderLayer::removeOnlyThisLayer):
              (WebCore::RenderLayer::insertOnlyThisLayer):
              (WebCore::RenderLayer::paintLayer):
              (WebCore::RenderLayer::updateZOrderLists):
              (WebCore::RenderLayer::updateOverflowList):
              (WebCore::RenderLayer::collectLayers):
              (WebCore::RenderLayer::shouldBeOverflowOnly):
              (WebCore::RenderLayer::styleChanged):
              (WebCore::RenderLayer::reflectionLayer):
              (WebCore::RenderLayer::createReflection):
              (WebCore::RenderLayer::updateReflectionStyle):
              * rendering/RenderLayer.h:
              (WebCore::RenderLayer::hasReflection):
              (WebCore::RenderLayer::reflection):
              (WebCore::RenderLayer::paintingInsideReflection):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::RenderObject):
              (WebCore::RenderObject::requiresLayer):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::updateImage):
              (WebCore::RenderObject::reflectionBox):
              (WebCore::RenderObject::reflectionOffset):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::hasTransform):
              (WebCore::RenderObject::setHasReflection):
              (WebCore::RenderObject::hasReflection):
              * rendering/RenderReplica.cpp: Added.
              (WebCore::RenderReplica::RenderReplica):
              (WebCore::RenderReplica::~RenderReplica):
              (WebCore::RenderReplica::layout):
              (WebCore::RenderReplica::calcPrefWidths):
              (WebCore::RenderReplica::paint):
              * rendering/RenderReplica.h: Added.
              (WebCore::RenderReplica::renderName):
              (WebCore::RenderReplica::requiresLayer):
              * rendering/RenderStyle.cpp:
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              (WebCore::StyleRareNonInheritedData::operator==):
              (WebCore::StyleRareNonInheritedData::reflectionDataEquivalent):
              (WebCore::RenderStyle::diff):
              (WebCore::RenderStyle::applyTransform):
              * rendering/RenderStyle.h:
              (WebCore::TranslateTransformOperation::apply):
              (WebCore::StyleReflection::StyleReflection):
              (WebCore::StyleReflection::operator==):
              (WebCore::StyleReflection::operator!=):
              (WebCore::StyleReflection::direction):
              (WebCore::StyleReflection::offset):
              (WebCore::StyleReflection::mask):
              (WebCore::StyleReflection::setDirection):
              (WebCore::StyleReflection::setOffset):
              (WebCore::StyleReflection::setMask):
              (WebCore::RenderStyle::boxReflect):
              (WebCore::RenderStyle::setBoxReflect):
              (WebCore::RenderStyle::initialBoxReflect):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::layout):
              (WebCore::RenderTable::paintMask):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::requiresLayer):
              (WebCore::RenderTableCell::paintMask):
      
      LayoutTests:
      
      2008-04-29  David Hyatt  <hyatt@apple.com>
      
              Implement support for the new box-reflect property.  Tests of the new property.
      
              Reviewed by Dan Bernstein
      
              * fast/reflections: Added.
              * fast/reflections/reflection-computed-style-expected.txt: Added.
              * fast/reflections/reflection-computed-style.html: Added.
              * fast/reflections/reflection-direction.html: Added.
              * fast/reflections/reflection-masks.html: Added.
              * fast/reflections/reflection-nesting.html: Added.
              * fast/reflections/resources: Added.
              * fast/reflections/resources/kate.png: Added.
              * fast/reflections/resources/vignette-mask.png: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7eb14abd
  21. 28 Apr, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 1e72e8ad
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - support multiple box- and text-shadows
      
              Tests: fast/css/shadow-multiple.html
                     fast/repaint/shadow-multiple-horizontal.html
                     fast/repaint/shadow-multiple-strict-horizontal.html
                     fast/repaint/shadow-multiple-strict-vertical.html
                     fast/repaint/shadow-multiple-vertical.html
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::valueForShadow): Changed to account for reversing the order
              of the shadow values in the ShadowData list.
      
              * css/CSSValueList.cpp:
              (WebCore::CSSValueList::prepend): Added.
              * css/CSSValueList.h:
      
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for
              all shadows in overflow calculation.
              (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
              (WebCore::InlineFlowBox::paint): Changed to account for all shadows
              when testing for intersection with the damage rect.
              (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all
              shadows.
      
              * rendering/InlineTextBox.cpp:
              (WebCore::paintTextWithShadows): Factored out from paint() and changed
              to paint all shadows.
              (WebCore::InlineTextBox::paint): Moved the text painting code out to
              paintTextWithShadows(). Changed to not paint shadows for markers and
              composition underlines and in "force black text" mode.
              (WebCore::InlineTextBox::paintSelection):
              (WebCore::InlineTextBox::paintCompositionBackground):
              (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
              * rendering/InlineTextBox.h: Changed some public methods to private
              or protected.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::overflowHeight): Changed to account for all
              shadows.
              (WebCore::RenderBlock::overflowWidth): Ditto.
              (WebCore::RenderBlock::overflowLeft): Ditto.
              (WebCore::RenderBlock::overflowTop): Ditto.
              (WebCore::RenderBlock::overflowRect): Ditto.
              (WebCore::RenderBlock::layoutBlock): Ditto.
      
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::calculateRects): Ditto.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows.
              Changed to avoid clipping out the box if it has a fully opaque
              background.
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account
              for all shadows.
              (WebCore::RenderObject::selectionForegroundColor): Cleaned up.
              (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to
              account for all shadows.
      
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.
      
              * rendering/RenderStyle.cpp:
              (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding
              so that the stacking order of shadows when painting will be "first o
              top".
              (WebCore::RenderStyle::setBoxShadow): Ditto.
      
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::layout): Changed to account for all shadows.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - add rendering and invalidation tests for multiple shadows
      
              * fast/css/shadow-multiple.html: Added.
              * fast/repaint/shadow-multiple-horizontal.html: Added.
              * fast/repaint/shadow-multiple-strict-horizontal.html: Added.
              * fast/repaint/shadow-multiple-strict-vertical.html: Added.
              * fast/repaint/shadow-multiple-vertical.html: Added.
              * platform/mac/fast/css/shadow-multiple-expected.checksum: Added.
              * platform/mac/fast/css/shadow-multiple-expected.png: Added.
              * platform/mac/fast/css/shadow-multiple-expected.txt: Added.
              * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum: Added.
              * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
              * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.txt: Added.
              * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum: Added.
              * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
              * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.txt: Added.
              * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum: Added.
              * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
              * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.txt: Added.
              * platform/mac/fast/repaint/shadow-multiple-vertical-expected.checksum: Added.
              * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png: Added.
              * platform/mac/fast/repaint/shadow-multiple-vertical-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e72e8ad
  22. 22 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      WebCore: · 3fec3561
      hyatt@apple.com authored
      2008-04-22  David Hyatt  <hyatt@apple.com>
      
              Fix for <rdar://5589634>.
      
              Implement CSS alpha masks.  The syntax is very similar to that used for backgrounds.  Multiple mask images
              can be specified, and each one can be tiled, positioned, etc.  The following new properties have been
              added (all of which are analogous to their background-* counterparts).
      
              mask, mask-image, mask-clip, mask-origin, mask-repeat, mask-attachment, mask-position
      
              The alpha values in the final composite image are used to determine how the mask applies (alpha of 1 = show,
              alpha of 0 = don't show).
      
              SVG images and CSS gradients can also be used as masks.
      
              Reviewed by Dan
      
              Added fast/backgrounds/repeat/mask-negative-offset-repeat.html, fast/backgrounds/svg-as-mask.html
      
              * css/CSSMutableStyleDeclaration.cpp:
              (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
              (WebCore::initShorthandMap):
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseFillProperty):
              (WebCore::CSSParser::parseTransformOrigin):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::adjustRenderStyle):
              (WebCore::CSSStyleSelector::applyProperty):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paint):
              (WebCore::InlineFlowBox::paintFillLayers):
              (WebCore::InlineFlowBox::paintFillLayer):
              (WebCore::InlineFlowBox::paintBoxDecorations):
              (WebCore::InlineFlowBox::paintMask):
              * rendering/InlineFlowBox.h:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paint):
              (WebCore::RenderBlock::paintObject):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintRootBoxDecorations):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::paintMask):
              (WebCore::RenderBox::paintFillLayers):
              (WebCore::RenderBox::paintFillLayer):
              (WebCore::RenderBox::paintFillLayerExtended):
              * rendering/RenderBox.h:
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              (WebCore::RenderFieldset::paintMask):
              * rendering/RenderFieldset.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::requiresLayer):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::isTransparent):
              (WebCore::RenderLayer::paintLayer):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::requiresLayer):
              (WebCore::mustRepaintFillLayers):
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::updateFillImages):
              * rendering/RenderObject.h:
              (WebCore::):
              (WebCore::RenderObject::hasMask):
              (WebCore::RenderObject::paintMask):
              (WebCore::RenderObject::paintFillExtended):
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::paint):
              * rendering/RenderStyle.cpp:
              (WebCore::FillLayer::FillLayer):
              (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
              * rendering/RenderStyle.h:
              (WebCore::FillLayer::initialFillComposite):
              (WebCore::FillLayer::initialFillSize):
              (WebCore::FillLayer::FillLayer):
              (WebCore::RenderStyle::hasMask):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::paint):
              (WebCore::RenderTable::paintBoxDecorations):
              (WebCore::RenderTable::paintMask):
              * rendering/RenderTable.h:
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::requiresLayer):
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
              (WebCore::RenderTableCell::paintMask):
              * rendering/RenderTableCell.h:
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::paint):
              * svg/graphics/SVGImage.cpp:
              (WebCore::SVGImage::draw):
              (WebCore::SVGImage::dataChanged):
      
      LayoutTests:
      
      2008-04-22  David Hyatt  <hyatt@apple.com>
      
              Add support for CSS alpha masks.  Test cases.
      
              Reviewed by Dan
      
              * fast/backgrounds/repeat/mask-negative-offset-repeat.html: Added.
              * fast/backgrounds/repeat/resources/white.gif: Added.
              * fast/backgrounds/svg-as-mask.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@32406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fec3561
  23. 14 Apr, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-04-14 David Hyatt <hyatt@apple.com> · 2ddd9396
      hyatt@apple.com authored
              Add a new optimized layout path for positioned objects that move.  Also avoid always marking the <html>
              object for layout when it has a percentage height, since the RenderView already does that when its size
              changes.
      
              Reviewed by mjs
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlockChildren):
              (WebCore::RenderBlock::layoutPositionedObjects):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::layoutDoingPositionedMovementOnly):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::RenderObject):
              (WebCore::RenderObject::setNeedsLayout):
              (WebCore::RenderObject::setChildNeedsLayout):
              (WebCore::RenderObject::setNeedsPositionedMovementLayout):
              (WebCore::RenderObject::setStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::needsLayout):
              (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
              (WebCore::RenderObject::layoutDoingPositionedMovementOnly):
              * rendering/RenderStyle.cpp:
              (WebCore::positionedObjectMoved):
              (WebCore::RenderStyle::diff):
              * rendering/RenderStyle.h:
              (WebCore::RenderStyle::):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2ddd9396
  24. 28 Mar, 2008 2 commits
  25. 24 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · daded4d0
      mitz@apple.com authored
              Reviewed by Sam Weinig.
      
              - fix <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
      
              Test: fast/repaint/renderer-destruction-by-invalidateSelection-crash.html
      
              * page/FrameView.cpp:
              (WebCore::FrameViewPrivate::reset): Removed repaintRects code.
              (WebCore::FrameView::layout): Ditto.
              (WebCore::FrameView::addRepaintInfo): Removed.
      
              * page/FrameView.h: Removed addRepaintInfo().
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Changed to call repaintRectangle
              instead of FrameView::addRepaintInfo().
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::layout): Ditto.
      
      LayoutTests:
      
              Reviewed by Sam Weinig.
      
              - test for <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
      
              * fast/repaint/renderer-destruction-by-invalidateSelection-crash.html: Added.
              * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.checksum: Added.
              * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png: Added.
              * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      daded4d0
  26. 20 Mar, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-03-20 David Hyatt <hyatt@apple.com> · 861325fe
      hyatt@apple.com authored
              Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and
              associated text decorations like shadows and underlines).
      
              Reviewed by Beth
      
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseBackgroundProperty):
              * css/CSSPrimitiveValueMappings.h:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
              (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::clipToImageBuffer):
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/cg/GraphicsContextCG.cpp:
              (WebCore::GraphicsContext::clipToImageBuffer):
              * rendering/InlineBox.cpp:
              (WebCore::InlineBox::paint):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::paintBackgrounds):
              (WebCore::InlineFlowBox::paintBackground):
              (WebCore::InlineFlowBox::paintBoxDecorations):
              * rendering/InlineFlowBox.h:
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintColumns):
              (WebCore::RenderBlock::paintObject):
              (WebCore::RenderBlock::paintFloats):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paintRootBoxDecorations):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::paintBackgrounds):
              (WebCore::RenderBox::paintBackground):
              (WebCore::RenderBox::paintBackgroundExtended):
              * rendering/RenderBox.h:
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::paintLines):
              * rendering/RenderObject.h:
              (WebCore::):
              (WebCore::RenderObject::paintBackgroundExtended):
              * rendering/RenderStyle.h:
              (WebCore::):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::paintBoxDecorations):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      861325fe
  27. 18 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      2008-03-18 Dan Bernstein <mitz@apple.com> · 71e30844
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - eliminate RenderFlow::m_clear
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear.
              (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
              * rendering/RenderBlock.h:
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear'
              variable, passing a pointer to it to findNextLineBreak() and its value
              to newLine(). 
              (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter,
              which this method adjusts when it encounters a <br>.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71e30844
  28. 17 Mar, 2008 2 commits
    • mitz@apple.com's avatar
      2008-03-17 Dan Bernstein <mitz@apple.com> · 93526598
      mitz@apple.com authored
              Rubber-stamped by Dave Hyatt.
      
              - FloatingObject cleanup
      
              Renamed FloatingObject's data members as follows: node -> m_renderer,
              startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
              and noPaint -> !m_shouldPaint, reversing the meaning of the flag.
      
              Also addressed the FIXME in RenderBlock::containsFloat().
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::repaintOverhangingFloats):
              (WebCore::RenderBlock::paintFloats):
              (WebCore::RenderBlock::insertFloatingObject):
              (WebCore::RenderBlock::removeFloatingObject):
              (WebCore::RenderBlock::positionNewFloats):
              (WebCore::RenderBlock::leftRelOffset):
              (WebCore::RenderBlock::rightRelOffset):
              (WebCore::RenderBlock::nextFloatBottomBelow):
              (WebCore::RenderBlock::floatBottom):
              (WebCore::RenderBlock::floatRect):
              (WebCore::RenderBlock::lowestPosition):
              (WebCore::RenderBlock::rightmostPosition):
              (WebCore::RenderBlock::leftmostPosition):
              (WebCore::RenderBlock::leftBottom):
              (WebCore::RenderBlock::rightBottom):
              (WebCore::RenderBlock::clearFloats):
              (WebCore::RenderBlock::addOverhangingFloats):
              (WebCore::RenderBlock::addIntrudingFloats):
              (WebCore::RenderBlock::containsFloat): Changed to return false if the
              floats lists exists but is empty, since line layout code no longer
              relies on the buggy behavior.
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::adjustForBorderFit):
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::containsFloats):
              (WebCore::RenderBlock::FloatingObject::FloatingObject):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren):
              (WebCore::RenderBlock::matchedEndLine):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31117 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93526598
    • mitz@apple.com's avatar
      WebCore: · 40547b31
      mitz@apple.com authored
      2008-03-17  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - allow incremental relayout of blocks that contain floats
      
              Tests: fast/repaint/line-flow-with-floats-[1-9].html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
              of the function body out of an if statement which was replaced with an
              early return.
              (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
              of the function body out of an if statement and moving the ASSERT, which
              is a crash in release builds, to the beginning. Made this function set
              the m_isDescendant flag of floating objects it creates.
              (WebCore::RenderBlock::removeFloatingObject): Added a call to
              markLinesDirtyInVerticalRange() when removing a float from a block with
              inline children.
              (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
              lines in the given range as dirty.
              (WebCore::RenderBlock::clearFloats): Added code to detect changes to
              the geometry of floats intruding into this block from other blocks and
              mark any lines whose available width has changed as a result as dirty.
      
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
              to cache a float with its position and size.
              (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
              m_isDescendant flag, used by clearFloats() to distinguish between floats
              entering the block from outside and floats internal to the block.
      
              * rendering/RootInlineBox.h:
              (WebCore::RootInlineBox::floats): Added.
              (WebCore::RootInlineBox::floatsPtr): Added.
              (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
              hold the floats originating on the line.
      
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::layoutInlineChildren): Made the existence of
              floats not force a full layout. Changed to cache the geometry of floats
              in the block and detect changes to it. If a float's size or position
              changes, all lines from that point on are treated as dirty. An exception
              is a change in the dimensions of a float on an otherwise-clean line,
              which only dirties lines potentially affected by the change (see
              determineStartPosition()). Added code to update each RootInlineBox's
              set of floats as lines are laid out. Added code to shift floats
              belonging to clean lines in the end along with the lines.
              (WebCore::RenderBlock::determineStartPosition): Made this function look
              for changes to floats' dimensions and mark lines as dirty accordingly.
              Also look for new floats and if found, cause a full layout. Added code
              to re-add floats belonging to clean lines.
              (WebCore::RenderBlock::matchedEndLine): Added checking that the clean
              lines in the end can be shifted vertically as needed, i.e. that the
              available width along the way is uniform.
      
      LayoutTests:
      
      2008-03-17  Dan Bernstein  <mitz@apple.com>
      
              Reviewed by Dave Hyatt.
      
              - test incremental relayout of blocks that contain floats
      
              * fast/repaint/line-flow-with-floats-1.html: Added.
              * fast/repaint/line-flow-with-floats-2.html: Added.
              * fast/repaint/line-flow-with-floats-3.html: Added.
              * fast/repaint/line-flow-with-floats-4.html: Added.
              * fast/repaint/line-flow-with-floats-5.html: Added.
              * fast/repaint/line-flow-with-floats-6.html: Added.
              * fast/repaint/line-flow-with-floats-7.html: Added.
              * fast/repaint/line-flow-with-floats-8.html: Added.
              * fast/repaint/line-flow-with-floats-9.html: Added.
              * fast/repaint/resources/line-flow-with-floats.html: Added.
              * fast/repaint/resources/line-flow-with-floats.js: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.checksum: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.png: Added.
              * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40547b31
  29. 14 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 20fdf975
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=17834
                REGRESSION: floated first-letter does not work when included in table
      
              Test: fast/css/first-letter-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter): Changed the search for the
              first text node to stop at a float if that float is an existing first-
              letter.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for http://bugs.webkit.org/show_bug.cgi?id=17834
                REGRESSION: floated first-letter does not work when included in table
      
              * fast/css/first-letter-float.html: Added.
              * platform/mac-leopard/fast/css/first-letter-float-expected.checksum: Added.
              * platform/mac-leopard/fast/css/first-letter-float-expected.png: Added.
              * platform/mac/fast/css/first-letter-float-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20fdf975
  30. 03 Mar, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · c76605ad
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - make :first-letter apply to the first letter in normal flow, skipping
                floats and positioned objects
      
              Test: fast/css/first-letter-skip-out-of-flow.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter):
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test that :first-letter applies to the first letter in normal flow,
                skipping floats and positioned objects
      
              * fast/css/first-letter-skip-out-of-flow.html: Added.
              * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.checksum: Added.
              * platform/mac-leopard/fast/css/first-letter-skip-out-of-flow-expected.png: Added.
              * platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c76605ad
  31. 23 Feb, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · cfd9b7b0
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - make non-autowrapping text clear floats
      
              Test: fast/text/whitespace/nowrap-clear-float.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
              this and changed to avoid comparing bottom to 0 in each iteration.
              (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
              * rendering/RenderBlock.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
              findNextLineBreak() and simplified.
              (WebCore::RenderBlock::findNextLineBreak): Changed to call
              fitBelowFloats(). Fixed the bug by trying to fit below floats in the
              case of non-wrapping text. Removed some redundancy.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test that non-autowrapping text clear floats
      
              * fast/text/whitespace/nowrap-clear-float.html: Added.
              * platform/mac-leopard/fast/text/whitespace: Added.
              * platform/mac-leopard/fast/text/whitespace/nowrap-clear-float-expected.checksum: Added.
              * platform/mac-leopard/fast/text/whitespace/nowrap-clear-float-expected.png: Added.
              * platform/mac/fast/text/whitespace/nowrap-clear-float-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cfd9b7b0
  32. 19 Feb, 2008 3 commits
    • darin@apple.com's avatar
      Reviewed by Sam. · d694331c
      darin@apple.com authored
              - Removed old debugging aids, Node::dump, RenderObject::dump, and
                RenderObject::information, that used DeprecatedString.
      
              * dom/CharacterData.cpp: Removed override of Node::dump.
              * dom/CharacterData.h: Ditto.
              * dom/Element.cpp: Ditto.
              * dom/Element.h: Ditto.
              * dom/EventTargetNode.cpp: Ditto.
              * dom/EventTargetNode.h: Ditto.
              * dom/Node.cpp: Removed Node::dump.
              * dom/Node.h: Ditto.
      
              * rendering/RenderBlock.cpp: Removed override of RenderObject::dump.
              * rendering/RenderBlock.h: Ditto.
              * rendering/RenderFrameSet.cpp: Ditto.
              * rendering/RenderFrameSet.h: Ditto.
              * rendering/RenderObject.cpp: Removed RenderObject::dump and
              RenderObject::information.
              * rendering/RenderObject.h: Ditto.
              * rendering/RenderTable.cpp: Removed override of RenderObject::dump.
              * rendering/RenderTable.h: Ditto.
              * rendering/RenderTableCell.cpp: Ditto.
              * rendering/RenderTableCell.h: Ditto.
              * rendering/RenderTableCol.cpp: Ditto.
              * rendering/RenderTableCol.h: Ditto.
              * rendering/RenderTableSection.cpp: Ditto.
              * rendering/RenderTableSection.h: Ditto.
      
              * rendering/RenderTreeAsText.h: Removed unneeded include of TextStream.h
              and added forward declarations as appropriate.
      
              * svg/SVGSVGElement.cpp: Removed unneeded include of TextStream.h.
              * svg/graphics/SVGResourceClipper.cpp: And here.
              * svg/graphics/SVGResourceFilter.cpp: Ditto.
              * svg/graphics/filters/SVGFEBlend.cpp: Ditto.
              * svg/graphics/filters/SVGFEComponentTransfer.cpp: Ditto.
              * svg/graphics/filters/SVGFEComposite.cpp: Ditto.
              * svg/graphics/filters/SVGFEDiffuseLighting.cpp: Ditto.
              * svg/graphics/filters/SVGFEGaussianBlur.cpp: Ditto.
              * svg/graphics/filters/SVGFEImage.cpp: Ditto.
              * svg/graphics/filters/SVGFEMerge.cpp: Ditto.
              * svg/graphics/filters/SVGFEMorphology.cpp: Ditto.
              * svg/graphics/filters/SVGFEOffset.cpp: Ditto.
              * svg/graphics/filters/SVGFESpecularLighting.cpp: Ditto.
              * svg/graphics/filters/SVGFETurbulence.cpp: Ditto.
              * svg/graphics/filters/SVGFilterEffect.cpp: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30415 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d694331c
    • bdakin@apple.com's avatar
      WebCore: · ff39ce21
      bdakin@apple.com authored
              Reviewed by Sam.
      
              Fix for <rdar://problem/5729674> Seed: Crash in 
              RenderButton::setStyle at http://www.dinorpg.com
      
              Inputs should not honor first-letter.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::updateFirstLetter):
      
      LayoutTests:
      
              Reviewed by Sam.
      
              Test for <rdar://problem/5729674> Seed: Crash in 
              RenderButton::setStyle at http://www.dinorpg.com
      
              * fast/forms/input-first-letter.html: Added.
              * platform/mac/fast/forms/input-first-letter-expected.checksum: Added.
              * platform/mac/fast/forms/input-first-letter-expected.png: Added.
              * platform/mac/fast/forms/input-first-letter-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30414 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff39ce21
    • mitz@apple.com's avatar
      WebCore: · fb8da4e3
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
      
              Test: fast/text/wbr-styled.html
      
              Changed RenderWordBreak to inherit from RenderText instead of
              RenderInline.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::calcInlinePrefWidths):
              * rendering/RenderFlow.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::renderName):
              (WebCore::RenderText::isTextFragment):
              (WebCore::RenderText::isWordBreak):
              * rendering/RenderText.h:
              * rendering/RenderWordBreak.cpp:
              (WebCore::RenderWordBreak::RenderWordBreak):
              * rendering/RenderWordBreak.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::findNextLineBreak):
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for <rdar://problem/5637569> CrashTracer: [REGRESSION] 620 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::setStaticY + 15
      
              * fast/text/wbr-styled.html: Added.
              * platform/mac-leopard/fast/text/wbr-styled-expected.checksum: Added.
              * platform/mac-leopard/fast/text/wbr-styled-expected.png: Added.
              * platform/mac/fast/css-generated-content/wbr-with-before-content-expected.txt:
              * platform/mac/fast/text/wbr-pre-expected.txt:
              * platform/mac/fast/text/wbr-styled-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb8da4e3
  33. 07 Feb, 2008 1 commit
    • mitz@apple.com's avatar
      WebCore: · 4d13840b
      mitz@apple.com authored
              Reviewed by Dave Hyatt.
      
              - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
      
              Test: fast/block/float/relative-painted-twice.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addOverhangingFloats): Added another case where
              the child should not take over painting the float: when they do not have
              the same enclosing layer. In that case, the float is already being
              painted by one of its closer ancestors.
      
      LayoutTests:
      
              Reviewed by Dave Hyatt.
      
              - test for <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
      
              * fast/block/float/relative-painted-twice.html: Added.
              * platform/mac-leopard/fast/block/float/relative-painted-twice-expected.checksum: Added.
              * platform/mac-leopard/fast/block/float/relative-painted-twice-expected.png: Added.
              * platform/mac/fast/block/float/relative-painted-twice-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d13840b