1. 26 Jan, 2009 2 commits
    • hyatt@apple.com's avatar
      2009-01-26 David Hyatt <hyatt@apple.com> · d0301a5e
      hyatt@apple.com authored
              Drop support for display:compact.
      
              (1) display:compact is no longer part of CSS2.1.
              (2) Shipping Safari has completely broken compact support with severely broken rendering
              (all of the compact text just piles on top of the text in the inserted block and on top of itself as well).
              (3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without
              anyone even noticing.
      
              Reviewed by Eric Seidel
      
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesHorizontally):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::handleSpecialChild):
              (WebCore::RenderBlock::handleRunInChild):
              (WebCore::RenderBlock::layoutBlockChildren):
              (WebCore::RenderBlock::paint):
              (WebCore::RenderBlock::paintObject):
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::positionForCoordinates):
              (WebCore::shouldCheckLines):
              (WebCore::getHeightForLineCount):
              (WebCore::RenderBlock::renderName):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::sizesToIntrinsicWidth):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::width):
              (WebCore::RenderBox::height):
              (WebCore::RenderBox::size):
              (WebCore::RenderBox::frameRect):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::paintLines):
              (WebCore::RenderFlow::hitTestLines):
              (WebCore::RenderFlow::absoluteClippedOverflowRect):
              (WebCore::RenderFlow::linesBoundingBox):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isInline):
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::computeHorizontalPositionsForLine):
              (WebCore::RenderBlock::layoutInlineChildren):
              * rendering/bidi.h:
              (WebCore::BidiRun::BidiRun):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0301a5e
    • hyatt@apple.com's avatar
      2009-01-26 David Hyatt <hyatt@apple.com> · 831beecd
      hyatt@apple.com authored
              Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow.
              Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the
              inline as the new element's renderer.
      
              Reviewed by Dan Bernstein
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::handleRunInChild):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::renderName):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      831beecd
  2. 25 Jan, 2009 6 commits
    • hyatt@apple.com's avatar
      WebCore: · 8b2cd1fe
      hyatt@apple.com authored
      2009-01-25  David Hyatt  <hyatt@apple.com>
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.
      
              The new table code created a bug involving  markAllDescendantsWithFloatsForLayout, namely that it could
              end up marking ancestors of a block as needing layout when that block was still in the process of
              doing a layout.
      
              The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
              we are "mid-layout."  If this flag is set, then the method will make sure to do only local dirtying
              of objects to avoid accidentally marking a clean ancestor as needing layout again.
      
              Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
              with a check of whether or not we are mid-layout being done by those methods instead.
      
              Reviewed by Oliver Hunt
      
              Added fast/repaint/dynamic-table-vertical-alignment-change.html
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::collapseMargins):
              (WebCore::RenderBlock::clearFloatsIfNeeded):
              (WebCore::RenderBlock::layoutBlockChildren):
              (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
              * rendering/RenderBlock.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::removeFromObjectLists):
              * rendering/RenderObject.h:
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::layoutRows):
      
      LayoutTests:
      
      2009-01-25  David Hyatt  <hyatt@apple.com>
      
              Add layout test for https://bugs.webkit.org/show_bug.cgi?id=23524.
      
              Reviewed by Oliver Hunt
      
              * fast/repaint/dynamic-table-vertical-alignment-change.html: Added.
              * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum: Added.
              * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Added.
              * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40238 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b2cd1fe
    • hyatt@apple.com's avatar
      2009-01-25 David Hyatt <hyatt@apple.com> · e007fb25
      hyatt@apple.com authored
              Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page
              instead of the ancestor overflow (23525)
              
              Make sure that we always call scroll() on the nearest enclosing RenderBox.  No test case is possible
              here, since wheel scrolling is currently untestable (the offset varies from machine to machine).
      
              Reviewed by Dan Bernstein
      
              * page/EventHandler.cpp:
              (WebCore::scrollAndAcceptEvent):
              (WebCore::EventHandler::scrollOverflow):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::enclosingBox):
              * rendering/RenderObject.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e007fb25
    • darin@apple.com's avatar
      2009-01-25 Darin Adler <darin@apple.com> · 38d96eff
      darin@apple.com authored
              Reviewed by Dan Bernstein.
      
              Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled
              https://bugs.webkit.org/show_bug.cgi?id=23538
              rdar://problem/6523719
      
              I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled.
      
              The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and
              the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather
              than doing fallback.
      
              * rendering/RenderPartObject.cpp:
              (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an
              inelegant if statement.
              (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo.
              (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check.
              (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to
              return a string than an "out" parameter.  Fixed the logic to only prefer the ActiveX type over the
              type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed
              there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many
              other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the
              new havePlugin function so we handle the case where pluginData is 0.
              (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId
              instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in
              that knows how to handle <object> elements.
              (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that
              use this data still need to be called; they still do something even if no plug-ins are present. And
              they have now been corrected to handle 0 properly.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40234 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      38d96eff
    • darin@apple.com's avatar
      2009-01-25 Darin Adler <darin@apple.com> · 4ce38c5a
      darin@apple.com authored
              * rendering/RenderMenuList.cpp: Fix build by adding back needed include.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40233 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ce38c5a
    • darin@apple.com's avatar
      JavaScriptCore: · ba165bd3
      darin@apple.com authored
      2009-01-25  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Bug 23352: Turn on more compiler warnings in the Mac build
              https://bugs.webkit.org/show_bug.cgi?id=23352
      
              Fourth patch: Deal with the last few stray warnings.
      
              * parser/Parser.cpp: Only declare jscyyparse if it's not already declared.
              This makes both separate compilation and all-in-one compilation work with the
              -Wredundant-decls warning.
      
      WebCore:
      
      2009-01-25  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Bug 23352: Turn on more compiler warnings in the Mac build
              https://bugs.webkit.org/show_bug.cgi?id=23352
      
              Fourth patch: Deal with the last few stray warnings.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better.
              Also make the local variable be a RenderBlock so the cast is closer to the code
              that guarantees it's correct.
      
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::writeStyle): Put the enum into a local variable that's a built-in
              type before using it with TextStream, so we don't get a warning due to -Wsign-promo.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40231 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ba165bd3
    • darin@apple.com's avatar
      WebCore: · 36744d67
      darin@apple.com authored
      2009-01-25  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Bug 23522: use checked casts for render tree
              https://bugs.webkit.org/show_bug.cgi?id=23522
      
              Step one: RenderText.
      
              Also change set of RenderFlow* to be a ListHashSet as the comment in the
              header indicated.
      
              * dom/CharacterData.cpp:
              (WebCore::CharacterData::setData): Use toRenderText.
              (WebCore::CharacterData::appendData): Ditto.
              (WebCore::CharacterData::insertData): Ditto.
              (WebCore::CharacterData::deleteData): Ditto.
              (WebCore::CharacterData::replaceData): Ditto.
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::getUpperLeftCorner): Ditto.
              (WebCore::ContainerNode::getLowerRightCorner): Ditto.
              * dom/Position.cpp:
              (WebCore::nextRenderedEditable): Ditto.
              (WebCore::previousRenderedEditable): Ditto.
              (WebCore::Position::renderedOffset): Ditto. Also use function members
              instead of data members of InlineTextBox.
              (WebCore::Position::upstream): Ditto.
              (WebCore::Position::downstream): Ditto.
              (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto.
              (WebCore::Position::inRenderedText): Ditto.
              (WebCore::Position::isRenderedCharacter): Ditto.
              (WebCore::searchAheadForBetterMatch): Ditto.
              (WebCore::Position::getInlineBoxAndOffset): Ditto.
      
              * dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer
              included in RenderObject.h.
      
              * dom/Text.cpp:
              (WebCore::Text::splitText): Use toRenderText.
              (WebCore::Text::recalcStyle): Ditto.
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::debugRenderer): Ditto.
              * editing/TextIterator.cpp:
              (WebCore::TextIterator::handleTextNode): Ditto.
              (WebCore::TextIterator::handleTextBox): Ditto.
              (WebCore::TextIterator::emitText): Ditto.
              (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
      
              * editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's
              no longer included in RenderObject.h.
              * inspector/InspectorController.cpp: Ditto.
              * page/Frame.cpp: Ditto.
              * rendering/RenderBox.cpp: Ditto.
              * rendering/RenderInline.cpp: Ditto.
              * rendering/RenderPath.cpp: Ditto.
              * rendering/RenderSVGContainer.cpp: Ditto.
              * rendering/RenderSVGImage.cpp: Ditto.
              * rendering/RenderSVGInlineText.cpp: Ditto.
              * rendering/RenderSVGTSpan.cpp: Ditto.
              * rendering/RenderSVGText.cpp: Ditto.
              * rendering/RenderSVGTextPath.cpp: Ditto.
              * rendering/RenderTableCell.cpp: Ditto.
              * rendering/RenderView.cpp: Ditto.
      
              * editing/visible_units.cpp:
              (WebCore::startPositionForLine): Use function members instead of data
              members of InlineTextBox.
              (WebCore::endPositionForLine): Ditto.
              (WebCore::startOfParagraph): Use toRenderText.
              (WebCore::endOfParagraph): Ditto.
      
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText.
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto.
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::deleteLine): Ditto.
              (WebCore::InlineTextBox::extractLine): Ditto.
              (WebCore::InlineTextBox::attachLine): Ditto.
              (WebCore::InlineTextBox::placeEllipsisBox): Ditto.
              (WebCore::InlineTextBox::paintDecoration): Ditto.
              (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
              (WebCore::InlineTextBox::offsetForPosition): Ditto.
              (WebCore::InlineTextBox::positionForOffset): Ditto.
      
              * rendering/InlineTextBox.h: Made most members private. Use toRenderText.
      
              * rendering/RenderArena.cpp:
              (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast.
              (WebCore::RenderArena::free): Ditto.
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*>
              instead of RenderFlowSequencedSet.
              (WebCore::RenderBlock::paintContinuationOutlines): Ditto.
              (WebCore::stripTrailingSpace): Ditto.
              (WebCore::RenderBlock::calcInlinePrefWidths): Ditto.
              (WebCore::RenderBlock::updateFirstLetter): Ditto.
      
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::addChild): Use toRenderText.
      
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*>
              instead of RenderFlowSequencedSet.
              (WebCore::RenderFlow::paintLines): Ditto.
      
              * rendering/RenderMenuList.cpp: Removed some unneeded includes.
      
              * rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText.
              Made more members private.
      
              * rendering/RenderObject.cpp: Updated includes.
              (WebCore::RenderObject::isEditable): Use toRenderText.
              (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to
              include VisiblePosition.h in the header just for this.
      
              * rendering/RenderObject.h: Removed unneeded includes and forward declarations.
              Changed special vertical position values to be constants rather than an enum.
              Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>.
      
              * rendering/RenderText.cpp:
              (WebCore::RenderText::findNextInlineTextBox): Use function members instead of
              data members of InlineTextBox.
              (WebCore::RenderText::positionForCoordinates): Ditto.
              (WebCore::isInlineFlowOrEmptyText): Use toRenderText.
              (WebCore::RenderText::previousCharacter): Use function members instead of
              data members of InlineTextBox.
              (WebCore::RenderText::position): Ditto.
              (WebCore::RenderText::caretMinOffset): Ditto.
              (WebCore::RenderText::caretMaxOffset): Ditto.
              (WebCore::RenderText::caretMaxRenderedOffset): Ditto.
      
              * rendering/RenderText.h: Added definition of toRenderText.
      
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText.
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<): Use toRenderText and toRenderBox.
              (WebCore::writeTextRun): Ditto.
              (WebCore::write): Ditto.
      
              * rendering/bidi.cpp:
              (WebCore::InlineIterator::increment): Use toRenderText.
              (WebCore::InlineIterator::current): Ditto.
              (WebCore::checkMidpoints): Ditto.
              (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto.
              (WebCore::RenderBlock::layoutInlineChildren): Ditto.
              (WebCore::RenderBlock::determineStartPosition): Ditto.
              (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto.
              (WebCore::RenderBlock::findNextLineBreak): Ditto.
      
      WebKit/mac:
      
      2009-01-25  Darin Adler  <darin@apple.com>
      
              Reviewed by Sam Weinig.
      
              Bug 23522: use checked casts for render tree
              https://bugs.webkit.org/show_bug.cgi?id=23522
      
              Step one: RenderText.
      
              * WebView/WebRenderNode.mm:
              (copyRenderNode): Use toRenderText.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36744d67
  3. 23 Jan, 2009 9 commits
    • hyatt@apple.com's avatar
      2009-01-23 David Hyatt <hyatt@apple.com> · fee9b3e7
      hyatt@apple.com authored
              Add ASSERTs to catch anyone trying to obtain the width/height of an inline flow.  Fix up all the places
              that triggered the ASSERT (since all of these places are effectively regressions from my landing that
              devirtualized width()/height()).
      
              Reviewed by Adele
      
              * dom/Position.cpp:
              (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
              * editing/DeleteButtonController.cpp:
              (WebCore::isDeletableElement):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::isKeyboardFocusable):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::clientWidth):
              (WebCore::RenderBox::clientHeight):
              (WebCore::RenderBox::scrollWidth):
              (WebCore::RenderBox::scrollHeight):
              (WebCore::RenderBox::absoluteOutlineBounds):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::width):
              (WebCore::RenderBox::height):
              (WebCore::RenderBox::size):
              (WebCore::RenderBox::frameRect):
              (WebCore::RenderBox::borderBoundingBox):
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::borderBoundingBox):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateLayerPosition):
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::styleWillChange):
              * rendering/RenderScrollbarPart.h:
              * wml/WMLAElement.cpp:
              (WebCore::WMLAElement::isKeyboardFocusable):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40209 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fee9b3e7
    • hyatt@apple.com's avatar
      Fix Windows bustage. · 86d7b1d3
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      86d7b1d3
    • hyatt@apple.com's avatar
      2009-01-23 David Hyatt <hyatt@apple.com> · 0c305637
      hyatt@apple.com authored
              Make toRenderBox a non-member function.  Rename toConstRenderBox to just also be called toRenderBox.
      
              Reviewed by Oliver Hunt
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::sizingBox):
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::getUpperLeftCorner):
              (WebCore::ContainerNode::getLowerRightCorner):
              * dom/Element.cpp:
              (WebCore::Element::scrollByUnits):
              * dom/Position.cpp:
              (WebCore::endsOfNodeAreVisuallyDistinctPositions):
              (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
              (WebCore::Position::isCandidate):
              * editing/DeleteButtonController.cpp:
              (WebCore::isDeletableElement):
              * editing/EditorCommand.cpp:
              (WebCore::verticalScrollDistance):
              * editing/TextIterator.cpp:
              (WebCore::shouldEmitExtraNewlineForNode):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::isKeyboardFocusable):
              * html/HTMLFormControlElement.cpp:
              (WebCore::HTMLFormControlElement::isFocusable):
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::width):
              (WebCore::HTMLFrameElementBase::height):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleMouseDraggedEvent):
              (WebCore::EventHandler::autoscrollTimerFired):
              (WebCore::EventHandler::updateAutoscrollRenderer):
              (WebCore::EventHandler::stopAutoscrollTimer):
              (WebCore::EventHandler::scrollOverflow):
              * page/FrameView.cpp:
              (WebCore::FrameView::layout):
              * page/animation/AnimationBase.cpp:
              (WebCore::blendFunc):
              * rendering/InlineBox.cpp:
              (WebCore::InlineBox::adjustPosition):
              * rendering/InlineBox.h:
              (WebCore::InlineBox::renderBox):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::clearFloats):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::offsetFromContainer):
              (WebCore::RenderBox::computeAbsoluteRepaintRect):
              (WebCore::RenderBox::containingBlockWidthForPositioned):
              (WebCore::RenderBox::containingBlockHeightForPositioned):
              (WebCore::RenderBox::calcAbsoluteHorizontal):
              (WebCore::RenderBox::calcAbsoluteVertical):
              (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
              (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
              * rendering/RenderBox.h:
              (WebCore::toRenderBox):
              (WebCore::RenderBox::previousSiblingBox):
              (WebCore::RenderBox::nextSiblingBox):
              (WebCore::RenderBox::parentBox):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::absoluteClippedOverflowRect):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateLayerPosition):
              (WebCore::RenderLayer::resize):
              (WebCore::RenderLayer::boundingBox):
              * rendering/RenderObject.cpp:
              (WebCore::addLayers):
              (WebCore::RenderObject::removeLayers):
              (WebCore::RenderObject::moveLayers):
              (WebCore::RenderObject::findNextLayer):
              (WebCore::RenderObject::enclosingLayer):
              (WebCore::RenderObject::setNeedsLayout):
              (WebCore::RenderObject::setNeedsPositionedMovementLayout):
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
              (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
              (WebCore::RenderObject::computeAbsoluteRepaintRect):
              (WebCore::RenderObject::localToAbsolute):
              (WebCore::RenderObject::absoluteToLocal):
              (WebCore::RenderObject::localToAbsoluteQuad):
              (WebCore::RenderObject::offsetFromContainer):
              (WebCore::RenderObject::removeFromObjectLists):
              (WebCore::RenderObject::destroy):
              (WebCore::RenderObject::updateHitTestResult):
              (WebCore::RenderObject::addDashboardRegions):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::layoutRows):
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::hitTestMediaControlPart):
              (WebCore::RenderTheme::baselinePosition):
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::hitTestMediaControlPart):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::externalRepresentation):
              * rendering/bidi.cpp:
              (WebCore::inlineWidth):
              (WebCore::RenderBlock::computeHorizontalPositionsForLine):
              (WebCore::requiresLineBox):
              (WebCore::RenderBlock::findNextLineBreak):
              * svg/SVGLength.cpp:
              (WebCore::SVGLength::PercentageOfViewport):
              * wml/WMLAElement.cpp:
              (WebCore::WMLAElement::isKeyboardFocusable):
              * wml/WMLInputElement.cpp:
              (WebCore::isInputFocusable):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0c305637
    • hyatt@apple.com's avatar
      2009-01-23 David Hyatt <hyatt@apple.com> · 651c2e87
      hyatt@apple.com authored
              Fix for <rdar://problem/6518850> REGRESSION: hover feedback not showing on many sites
      
              Inline flow repainting was broken because it relied on width() and height().  Give RenderFlow a linesBoundingBox
              method for obtaining a reasonable bounding box to use for repainting.  Eliminate the methods from RenderInline
              since compacts/run-ins need them too, so putting them on RenderFlow is necessary.
      
              For consistency, change RenderText's version of these methods into the single linesBoundingBox method as
              well.
      
              Reviewed by Oliver Hunt
      
              * WebCore.base.exp:
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::getUpperLeftCorner):
              (WebCore::ContainerNode::getLowerRightCorner):
              * dom/Position.cpp:
              (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::containingBlockHeightForPositioned):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::absoluteClippedOverflowRect):
              (WebCore::RenderFlow::linesBoundingBox):
              * rendering/RenderFlow.h:
              * rendering/RenderInline.cpp:
              * rendering/RenderInline.h:
              (WebCore::RenderInline::offsetWidth):
              (WebCore::RenderInline::offsetHeight):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateLayerPosition):
              * rendering/RenderText.cpp:
              (WebCore::RenderText::linesBoundingBox):
              * rendering/RenderText.h:
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<):
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::write):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40182 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      651c2e87
    • hyatt@apple.com's avatar
      Fix RenderFlow. Botched the application of my patch. · e0c06711
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0c06711
    • hyatt@apple.com's avatar
      2009-01-23 David Hyatt <hyatt@apple.com> · ee16394f
      hyatt@apple.com authored
              Move layer() into RenderBox and make it non-virtual.  Move all of the scrolling functions from RenderObject
              to RenderBox and devirtualize as many as possible.  Clean up styleWillChange to factor code specific to
              RenderBox and RenderBlock into their appropriate subclasses.  Stubbed out an empty styleWillChange on
              RenderText, since none of the work done in styleWillChange was relevant to text nodes.
      
              Reviewed by Sam Weinig
      
              * dom/Document.cpp:
              (WebCore::Document::elementFromPoint):
              (WebCore::Document::renderView):
              (WebCore::Document::prepareMouseEvent):
              * dom/Document.h:
              * dom/Element.cpp:
              (WebCore::Element::scrollByUnits):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::contains):
              * html/HTMLMarqueeElement.cpp:
              (WebCore::HTMLMarqueeElement::start):
              (WebCore::HTMLMarqueeElement::stop):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::topRenderer):
              (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
              (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
              * page/AccessibilityRenderObject.h:
              * page/EventHandler.cpp:
              (WebCore::scrollAndAcceptEvent):
              (WebCore::EventHandler::handleMousePressEvent):
              (WebCore::EventHandler::handleMouseDraggedEvent):
              (WebCore::EventHandler::updateSelectionForMouseDrag):
              (WebCore::EventHandler::autoscrollTimerFired):
              (WebCore::EventHandler::updateAutoscrollRenderer):
              (WebCore::EventHandler::stopAutoscrollTimer):
              (WebCore::EventHandler::scrollOverflow):
              (WebCore::EventHandler::handleWheelEvent):
              (WebCore::EventHandler::hoverTimerFired):
              * page/Frame.cpp:
              (WebCore::Frame::clearTimers):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::styleWillChange):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::styleWillChange):
              (WebCore::RenderBox::verticalScrollbarWidth):
              (WebCore::RenderBox::horizontalScrollbarHeight):
              (WebCore::RenderBox::scroll):
              (WebCore::RenderBox::canBeProgramaticallyScrolled):
              (WebCore::RenderBox::autoscroll):
              (WebCore::RenderBox::panScroll):
              (WebCore::RenderBox::offsetFromContainer):
              (WebCore::RenderBox::computeAbsoluteRepaintRect):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::layer):
              (WebCore::RenderBox::requiresLayer):
              (WebCore::RenderBox::stopAutoscroll):
              (WebCore::RenderBox::hasAutoVerticalScrollbar):
              (WebCore::RenderBox::hasAutoHorizontalScrollbar):
              (WebCore::RenderBox::scrollsOverflow):
              (WebCore::RenderBox::scrollsOverflowX):
              (WebCore::RenderBox::scrollsOverflowY):
              (WebCore::RenderBox::includeVerticalScrollbarSize):
              (WebCore::RenderBox::includeHorizontalScrollbarSize):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::absoluteClippedOverflowRect):
              (WebCore::RenderFlow::addFocusRingRects):
              * rendering/RenderForeignObject.cpp:
              * rendering/RenderForeignObject.h:
              (WebCore::RenderForeignObject::requiresLayer):
              * rendering/RenderInline.cpp:
              * rendering/RenderInline.h:
              (WebCore::RenderInline::requiresLayer):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::childrenClipRect):
              (WebCore::RenderLayer::selfClipRect):
              * rendering/RenderListBox.cpp:
              * rendering/RenderListBox.h:
              * rendering/RenderObject.cpp:
              (WebCore::addLayers):
              (WebCore::RenderObject::removeLayers):
              (WebCore::RenderObject::moveLayers):
              (WebCore::RenderObject::findNextLayer):
              (WebCore::RenderObject::enclosingLayer):
              (WebCore::RenderObject::setNeedsLayout):
              (WebCore::RenderObject::setNeedsPositionedMovementLayout):
              (WebCore::RenderObject::computeAbsoluteRepaintRect):
              (WebCore::RenderObject::styleWillChange):
              (WebCore::RenderObject::localToAbsolute):
              (WebCore::RenderObject::absoluteToLocal):
              (WebCore::RenderObject::localToAbsoluteQuad):
              (WebCore::RenderObject::offsetFromContainer):
              (WebCore::RenderObject::destroy):
              * rendering/RenderObject.h:
              * rendering/RenderPath.cpp:
              * rendering/RenderPath.h:
              (WebCore::RenderPath::requiresLayer):
              * rendering/RenderReplica.h:
              (WebCore::RenderReplica::requiresLayer):
              * rendering/RenderSVGContainer.cpp:
              * rendering/RenderSVGContainer.h:
              (WebCore::RenderSVGContainer::requiresLayer):
              * rendering/RenderSVGHiddenContainer.cpp:
              * rendering/RenderSVGHiddenContainer.h:
              (WebCore::RenderSVGHiddenContainer::requiresLayer):
              * rendering/RenderSVGImage.cpp:
              * rendering/RenderSVGImage.h:
              (WebCore::RenderSVGImage::requiresLayer):
              * rendering/RenderSVGInline.h:
              (WebCore::RenderSVGInline::requiresLayer):
              * rendering/RenderSVGInlineText.h:
              (WebCore::RenderSVGInlineText::requiresLayer):
              * rendering/RenderSVGText.cpp:
              * rendering/RenderSVGText.h:
              (WebCore::RenderSVGText::requiresLayer):
              * rendering/RenderScrollbarPart.h:
              (WebCore::RenderScrollbarPart::requiresLayer):
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::setCurrentPosition):
              * rendering/RenderTableCell.cpp:
              * rendering/RenderTableCell.h:
              (WebCore::RenderTableCell::requiresLayer):
              * rendering/RenderTableCol.h:
              (WebCore::RenderTableCol::requiresLayer):
              * rendering/RenderTableRow.h:
              (WebCore::RenderTableRow::requiresLayer):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::layoutRows):
              * rendering/RenderText.h:
              (WebCore::RenderText::styleWillChange):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::autoscroll):
              (WebCore::RenderTextControl::scroll):
              * rendering/RenderTextControl.h:
              * rendering/RenderTreeAsText.cpp:
              (WebCore::write):
              (WebCore::externalRepresentation):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40180 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee16394f
    • andersca@apple.com's avatar
      2009-01-23 Anders Carlsson <andersca@apple.com> · d8dda094
      andersca@apple.com authored
              Reviewed by Sam Weinig.
      
              Turn on -Wmissing-prototypes and fix the resulting warnings.
              
              * Configurations/Base.xcconfig:
              * bindings/js/JSHistoryCustom.cpp:
              (WebCore::nonCachingStaticBackFunctionGetter):
              (WebCore::nonCachingStaticForwardFunctionGetter):
              (WebCore::nonCachingStaticGoFunctionGetter):
              * bindings/js/JSLocationCustom.cpp:
              (WebCore::nonCachingStaticReplaceFunctionGetter):
              (WebCore::nonCachingStaticReloadFunctionGetter):
              (WebCore::nonCachingStaticAssignFunctionGetter):
              (WebCore::JSLocation::customGetOwnPropertySlot):
              * bindings/objc/DOMRGBColor.mm:
              (WebCore::getWrapperForRGB):
              (WebCore::setWrapperForRGB):
              (WebCore::removeWrapperForRGB):
              * bindings/scripts/CodeGeneratorJS.pm:
              * bridge/c/c_instance.cpp:
              (JSC::Bindings::globalExceptionString):
              * bridge/runtime_object.cpp:
              (JSC::callRuntimeConstructor):
              * css/CSSParser.cpp:
              (WebCore::parseGradientColorStop):
              * css/CSSPrimitiveValue.cpp:
              (WebCore::scaleFactorForConversion):
              * css/CSSStyleSelector.cpp:
              (WebCore::operator >):
              (WebCore::operator <=):
              (WebCore::getTransformOperationType):
              * dom/make_names.pl:
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::updatePositionForTextRemoval):
              * editing/EditorCommand.cpp:
              (WebCore::valueBackColor):
              (WebCore::valueFontName):
              (WebCore::valueFontSize):
              (WebCore::valueFontSizeDelta):
              (WebCore::valueForeColor):
              * editing/VisiblePosition.cpp:
              (WebCore::canonicalizeCandidate):
              * editing/htmlediting.cpp:
              * editing/markup.cpp:
              (WebCore::joinMarkups):
              * html/HTMLElement.cpp:
              (WebCore::inlineTagList):
              (WebCore::blockTagList):
              * html/HTMLMediaElement.cpp:
              (WebCore::serializeTimeOffset):
              (WebCore::parseTimeOffset):
              * page/mac/FrameMac.mm:
              (WebCore::regExpForLabels):
              * platform/Arena.cpp:
              * platform/graphics/Color.cpp:
              (WebCore::colorFloatToRGBAByte):
              * platform/graphics/cg/ImageSourceCG.cpp:
              (WebCore::imageSourceOptions):
              * platform/graphics/cg/PathCG.cpp:
              (WebCore::CGPathApplierToPathApplier):
              * platform/graphics/mac/SimpleFontDataMac.mm:
              (WebCore::initFontData):
              * platform/mac/PlatformMouseEventMac.mm:
              * platform/text/String.cpp:
              * rendering/RenderBlock.cpp:
              (WebCore::continuationOutlineTable):
              (WebCore::getHeightForLineCount):
              * rendering/RenderView.cpp:
              (WebCore::rendererAfterPosition):
              * rendering/RootInlineBox.cpp:
              (WebCore::isEditableLeaf):
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::hasFractions):
              * rendering/style/RenderStyle.cpp:
              (WebCore::positionedObjectMoved):
              * svg/SVGFont.cpp:
              (WebCore::floatWidthUsingSVGFontCallback):
              (WebCore::floatWidthMissingGlyphCallback):
              (WebCore::drawTextUsingSVGFontCallback):
              (WebCore::drawTextMissingGlyphCallback):
              * svg/SVGTransformable.cpp:
              (WebCore::parseTransformParamList):
              * svg/graphics/SVGPaintServerGradient.cpp:
              (WebCore::operator<<):
              * xml/XPathGrammar.y:
              * xml/XSLTExtensions.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8dda094
    • sfalken@apple.com's avatar
      Fix build. · 2e67647f
      sfalken@apple.com authored
              * rendering/RenderThemeSafari.cpp:
              (WebCore::RenderThemeSafari::baselinePosition):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e67647f
    • hyatt@apple.com's avatar
      2009-01-22 David Hyatt <hyatt@apple.com> · 55fe6bdd
      hyatt@apple.com authored
              Move the border and padding methods from RenderObject to RenderBox.
      
              Reviewed by Oliver Hunt
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * editing/DeleteButtonController.cpp:
              (WebCore::DeleteButtonController::createDeletionUI):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::hitTestResultAtPoint):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesVertically):
              * rendering/InlineFlowBox.h:
              (WebCore::InlineFlowBox::borderLeft):
              (WebCore::InlineFlowBox::borderRight):
              (WebCore::InlineFlowBox::paddingLeft):
              (WebCore::InlineFlowBox::paddingRight):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::clearFloats):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::paddingTop):
              (WebCore::RenderBox::paddingBottom):
              (WebCore::RenderBox::paddingLeft):
              (WebCore::RenderBox::paddingRight):
              (WebCore::RenderBox::calcHeight):
              (WebCore::RenderBox::containingBlockWidthForPositioned):
              (WebCore::RenderBox::containingBlockHeightForPositioned):
              (WebCore::RenderBox::calcAbsoluteHorizontal):
              (WebCore::RenderBox::calcAbsoluteHorizontalValues):
              (WebCore::RenderBox::calcAbsoluteVertical):
              (WebCore::RenderBox::calcAbsoluteVerticalValues):
              (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
              (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::borderTop):
              (WebCore::RenderBox::borderBottom):
              (WebCore::RenderBox::borderLeft):
              (WebCore::RenderBox::borderRight):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
              * rendering/RenderObject.h:
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::textBlockWidth):
              (WebCore::RenderTextControl::calcHeight):
              (WebCore::RenderTextControl::calcPrefWidths):
              * rendering/RenderTextControlSingleLine.cpp:
              (WebCore::RenderTextControlSingleLine::preferredContentWidth):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::repaintViewRectangle):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55fe6bdd
  4. 22 Jan, 2009 11 commits
    • hyatt@apple.com's avatar
      2009-01-22 David Hyatt <hyatt@apple.com> · 774bbed5
      hyatt@apple.com authored
              Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
              other margin functions that have to come along for the ride).
      
              Reviewed by Oliver Hunt
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              * editing/TextIterator.cpp:
              (WebCore::shouldEmitExtraNewlineForNode):
              * rendering/InlineBox.cpp:
              * rendering/InlineBox.h:
              (WebCore::InlineBox::renderBox):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::marginLeft):
              (WebCore::InlineFlowBox::marginRight):
              (WebCore::InlineFlowBox::placeBoxesHorizontally):
              (WebCore::InlineFlowBox::computeLogicalBoxHeights):
              (WebCore::InlineFlowBox::placeBoxesVertically):
              (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::isSelfCollapsingBlock):
              (WebCore::RenderBlock::adjustPositionedBlock):
              (WebCore::RenderBlock::handleCompactChild):
              (WebCore::RenderBlock::estimateVerticalPosition):
              (WebCore::getBorderPaddingMargin):
              (WebCore::RenderBlock::calcInlinePrefWidths):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::calcHeight):
              * rendering/RenderBox.h:
              (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin):
              (WebCore::RenderBox::hasHorizontalBordersOrPadding):
              (WebCore::RenderBox::marginTop):
              (WebCore::RenderBox::marginBottom):
              (WebCore::RenderBox::marginLeft):
              (WebCore::RenderBox::marginRight):
              (WebCore::RenderBox::isSelfCollapsingBlock):
              (WebCore::RenderBox::collapsedMarginTop):
              (WebCore::RenderBox::collapsedMarginBottom):
              (WebCore::RenderBox::isTopMarginQuirk):
              (WebCore::RenderBox::isBottomMarginQuirk):
              (WebCore::RenderBox::maxTopMargin):
              (WebCore::RenderBox::maxBottomMargin):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
              * rendering/RenderObject.h:
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::lineHeight):
              (WebCore::RenderSVGContainer::baselinePosition):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::calcHeight):
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::baselinePosition):
              * rendering/bidi.cpp:
              (WebCore::getBorderPaddingMargin):
              (WebCore::inlineWidth):
              (WebCore::RenderBlock::computeHorizontalPositionsForLine):
              (WebCore::inlineFlowRequiresLineBox):
              (WebCore::requiresLineBox):
              (WebCore::RenderBlock::findNextLineBreak):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      774bbed5
    • hyatt@apple.com's avatar
      Fix build bustage on Gtk. · 5defbad8
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5defbad8
    • hyatt@apple.com's avatar
      2009-01-22 David Hyatt <hyatt@apple.com> · 1ab1e061
      hyatt@apple.com authored
              Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits.  Let intrinsicPaddingTop and
              intrinsicPaddingBottom just be normal non-bitfield values.
      
              Reviewed by Oliver Hunt
      
              * rendering/RenderFlow.h:
              (WebCore::RenderFlow::RenderFlow):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::RenderTableCell):
              (WebCore::RenderTableCell::updateWidth):
              (WebCore::RenderTableCell::layout):
              * rendering/RenderTableCell.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1ab1e061
    • hyatt@apple.com's avatar
      2009-01-22 David Hyatt <hyatt@apple.com> · a97f4677
      hyatt@apple.com authored
              Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
              Make m_frameRect private.
      
              Reviewed by Oliver Hunt
      
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paint):
              (WebCore::RenderBlock::clearFloats):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::offsetTop):
              (WebCore::RenderBox::nodeAtPoint):
              (WebCore::RenderBox::paint):
              (WebCore::RenderBox::paintCustomHighlight):
              (WebCore::RenderBox::containingBlockWidth):
              (WebCore::RenderBox::localToAbsolute):
              (WebCore::RenderBox::offsetFromContainer):
              (WebCore::RenderBox::computeAbsoluteRepaintRect):
              (WebCore::RenderBox::repaintDuringLayoutIfMoved):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::layout):
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::RenderFlexibleBox::layoutBlock):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::paint):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paintReplaced):
              (WebCore::RenderImage::nodeAtPoint):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              (WebCore::RenderListMarker::getRelativeMarkerRect):
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::paint):
              (WebCore::RenderReplaced::shouldPaint):
              * rendering/RenderReplica.cpp:
              (WebCore::RenderReplica::paint):
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::applyContentTransforms):
              (WebCore::RenderSVGRoot::paint):
              (WebCore::RenderSVGRoot::absoluteTransform):
              (WebCore::RenderSVGRoot::nodeAtPoint):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::calcWidth):
              (WebCore::RenderTable::layout):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::paint):
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::setCellWidths):
              (WebCore::RenderTableSection::calcRowHeight):
              (WebCore::RenderTableSection::layoutRows):
              (WebCore::RenderTableSection::paint):
              (WebCore::RenderTableSection::nodeAtPoint):
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a97f4677
    • hyatt@apple.com's avatar
      2009-01-22 David Hyatt <hyatt@apple.com> · 0bf6c84c
      hyatt@apple.com authored
              Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.
      
              This patch completely reworks vertical alignment of table cells.  The current system uses methods called borderTopExtra() and borderBottomExtra() to
              add extra space above and below the content of a cell.  This system was not confined to the table code and spilled out into all the other RenderObjects.
              The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra().  height()
              also excluded the extra space, so did not accurately reflect the true size of the cell.
              
              With the new system, the table cell box is completely accurate.  The extra space becomes part of the padding of the cell.  Padding has been reworked so that
              additional intrinsic padding can be added on to the specified padding from style.  Only the table code has to deal with the extra cell padding.
      
              localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.
      
              A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.
      
              Reviewed by Oliver Hunt
      
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
              Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding.  This ensures that getComputedStyle continues
              to give the right answer.
          
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::getLowerRightCorner):
              * editing/visible_units.cpp:
              (WebCore::previousLinePosition):
              (WebCore::nextLinePosition):
              * rendering/LayoutState.cpp:
              (WebCore::LayoutState::LayoutState):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
              
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::overflowRect):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
              
              (WebCore::RenderBlock::layoutBlock):
              (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
              The expandsToEncloseOverhangingFloats logic has been reworked.  Table cells and fieldsets did not properly handle floats that spilled into the bottom padding.  The
              resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float.  The switch to make the extra table cell
              space into padding exposed this issue.  No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with
              this change.
          
              (WebCore::RenderBlock::selectionGapRects):
              (WebCore::RenderBlock::paintSelection):
              (WebCore::RenderBlock::fillSelectionGaps):
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::positionForCoordinates):
              (WebCore::RenderBlock::offsetForContents):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
          
              * rendering/RenderBlock.h:
              Add the new simplified method for expanding to encompass overhanging floats.  The method has been devirtualized and made to include all of the cases (and not just a subset).
      
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::absoluteRects):
              (WebCore::RenderBox::absoluteQuads):
              (WebCore::RenderBox::absoluteContentBox):
              (WebCore::RenderBox::paintBoxDecorations):
              (WebCore::RenderBox::paintMask):
              (WebCore::RenderBox::getOverflowClipRect):
              (WebCore::RenderBox::localToAbsolute):
              (WebCore::RenderBox::absoluteToLocal):
              (WebCore::RenderBox::localToAbsoluteQuad):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
              
              * rendering/RenderBox.h:
              (WebCore::RenderBox::y):
              (WebCore::RenderBox::location):
              (WebCore::RenderBox::borderBoxRect):
              (WebCore::RenderBox::offsetHeight):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
      
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::addLineBoxRects):
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::paintBoxDecorations):
              (WebCore::RenderFieldset::paintMask):
              * rendering/RenderFieldset.h:
              (WebCore::RenderFieldset::avoidsFloats):
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::localCaretRect):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateLayerPosition):
              (WebCore::RenderLayer::paintLayer):
              (WebCore::RenderLayer::hitTestLayer):
              (WebCore::RenderLayer::boundingBox):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::isPointInOverflowControl):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::localToAbsolute):
              (WebCore::RenderObject::absoluteToLocal):
              (WebCore::RenderObject::localToAbsoluteQuad):
              (WebCore::RenderObject::offsetFromContainer):
              (WebCore::RenderObject::paddingTop):
              (WebCore::RenderObject::paddingBottom):
              (WebCore::RenderObject::paddingLeft):
              (WebCore::RenderObject::paddingRight):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::hasOverhangingFloats):
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::selectionRect):
              (WebCore::RenderReplaced::localSelectionRect):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.  Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating
              whether or not the intrinsic padding of an object should be included (by default it is).  getComputedStyle needs to exclude it, which is why this argument is
              necessary.
      
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::RenderTableCell):
              (WebCore::RenderTableCell::paddingTop):
              (WebCore::RenderTableCell::paddingBottom):
              The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.
          
              (WebCore::RenderTableCell::setOverrideSize):
              When a table's override size gets altered, the intrinsic padding needs to be cleared.
              
              (WebCore::RenderTableCell::absoluteClippedOverflowRect):
              (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
              (WebCore::RenderTableCell::baselinePosition):
              (WebCore::RenderTableCell::paint):
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
              (WebCore::RenderTableCell::paintBoxDecorations):
              (WebCore::RenderTableCell::paintMask):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
              
              * rendering/RenderTableCell.h:
              (WebCore::RenderTableCell::setIntrinsicPaddingTop):
              (WebCore::RenderTableCell::setIntrinsicPaddingBottom):
              (WebCore::RenderTableCell::setIntrinsicPadding):
              (WebCore::RenderTableCell::clearIntrinsicPadding):
              (WebCore::RenderTableCell::intrinsicPaddingTop):
              (WebCore::RenderTableCell::intrinsicPaddingBottom):
              Add new helper methods for getting/setting a cell's intrinsic padding.
          
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::calcRowHeight):
              calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing.  Because a cell now includes that
              extra space, it has to be subtracted out in this method.
              
              (WebCore::RenderTableSection::layoutRows):
              Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes.   There was also an error where the baseline
              position mismatched leading to negative intrinsic padding being added in (this error exists in ToT).  The code now properly ignores cells that don't establish
              a baseline.  A number of tests progress with this change.
              
              * rendering/RenderText.cpp:
              (WebCore::RenderText::addLineBoxRects):
              Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
              
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<):
              (WebCore::writeTextRun):
              Modify the render tree dumping code to continue to produce the same results as before.  This is really a hack, since we're now capable of indicating the correct
              position for the descendants of cells with intrinsic padding (and also indicating what the correct cell box is).  A future patch can remove these hacks so that the
              layout test results can all be regenerated.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40142 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0bf6c84c
    • zimmermann@webkit.org's avatar
      Reviewed by Eric Seidel. · 6d4da35b
      zimmermann@webkit.org authored
      Rename some of the casting functions in dom/*Element.cpp:
      formControlElementForElement -> toFormControlElement
      inputElementForElement -> toInputElement
      optionElementForElement -> toOptionElement
      optionGroupElementForElement -> toOptionGroupElement
      
      Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
      The Element*->ScriptElement* helper function is already named 'toScriptElement'.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40137 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d4da35b
    • zimmermann@webkit.org's avatar
      Reviewed by Eric Seidel. · 9e18b055
      zimmermann@webkit.org authored
      Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465
      
      Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.
      
      Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
      optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.
      
      Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
      These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
      used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40130 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9e18b055
    • zimmermann@webkit.org's avatar
    • hyatt@apple.com's avatar
      2009-01-22 David Hyatt <hyatt@apple.com> · 8ae7cb53
      hyatt@apple.com authored
              Fix regressions in list box selection on Mac.  The wrong color was being used for the list box
              background, and list box colors actually weren't even being properly fetched because of a bug in
              the RenderTheme base class.  Existing pixel tests cover the bug fix.
      
              Reviewed by Jon Honeycutt
      
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
              (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
              (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
              (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8ae7cb53
    • hyatt@apple.com's avatar
      2009-01-21 David Hyatt <hyatt@apple.com> · 918a98e4
      hyatt@apple.com authored
              Back out a portion of my patch that I did not mean to land.  Revert paintOutline back to the way it
              was before my landing.  Fixes failing SVG focus ring tests.
      
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::paintOutline):
              * rendering/RenderObject.h:
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::paint):
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40118 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      918a98e4
    • hyatt@apple.com's avatar
      2009-01-21 David Hyatt <hyatt@apple.com> · 1eb3c4de
      hyatt@apple.com authored
              Fix RenderThemeSafari bustage on Win32.
      
              * rendering/RenderThemeSafari.cpp:
              (WebCore::RenderThemeSafari::baselinePosition):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40116 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1eb3c4de
  5. 21 Jan, 2009 4 commits
    • hyatt@apple.com's avatar
      2009-01-21 David Hyatt <hyatt@apple.com> · 8bf06fc6
      hyatt@apple.com authored
              Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox,
              but that's a problem for another day.
      
              * rendering/RenderThemeWin.cpp:
              (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
              (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
              (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8bf06fc6
    • hyatt@apple.com's avatar
      WebCore: · d885df72
      hyatt@apple.com authored
      2009-01-21  David Hyatt  <hyatt@apple.com>
      
              Fix for https://bugs.webkit.org/show_bug.cgi?id=23453
      
              Devirtualize the width/height/x/y methods of the render tree.  The methods are now non-virtual on RenderBox.
              Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp.
      
              Reviewed by Eric Seidel and Darin Adler
      
              * WebCore.base.exp:
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::sizingBox):
              * dom/ContainerNode.cpp:
              (WebCore::ContainerNode::getUpperLeftCorner):
              (WebCore::ContainerNode::getLowerRightCorner):
              * dom/Element.cpp:
              (WebCore::Element::offsetLeft):
              (WebCore::Element::offsetTop):
              (WebCore::Element::offsetWidth):
              (WebCore::Element::offsetHeight):
              (WebCore::Element::offsetParent):
              (WebCore::Element::clientLeft):
              (WebCore::Element::clientTop):
              (WebCore::Element::clientWidth):
              (WebCore::Element::clientHeight):
              (WebCore::Element::scrollLeft):
              (WebCore::Element::scrollTop):
              (WebCore::Element::setScrollLeft):
              (WebCore::Element::setScrollTop):
              (WebCore::Element::scrollWidth):
              (WebCore::Element::scrollHeight):
              * dom/Node.cpp:
              (WebCore::Node::renderBox):
              (WebCore::Node::getRect):
              * dom/Node.h:
              * dom/Position.cpp:
              (WebCore::endsOfNodeAreVisuallyDistinctPositions):
              (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
              (WebCore::Position::isCandidate):
              * dom/PositionIterator.cpp:
              (WebCore::PositionIterator::isCandidate):
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
              * editing/DeleteButtonController.cpp:
              (WebCore::isDeletableElement):
              * editing/DeleteSelectionCommand.cpp:
              (WebCore::DeleteSelectionCommand::removeNode):
              * editing/Editor.cpp:
              (WebCore::Editor::insideVisibleArea):
              * editing/EditorCommand.cpp:
              (WebCore::verticalScrollDistance):
              * html/HTMLAnchorElement.cpp:
              (WebCore::HTMLAnchorElement::isKeyboardFocusable):
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::willDraw):
              * html/HTMLFormControlElement.cpp:
              (WebCore::HTMLFormControlElement::isFocusable):
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::width):
              (WebCore::HTMLFrameElementBase::height):
              * html/HTMLImageElement.cpp:
              (WebCore::HTMLImageElement::width):
              (WebCore::HTMLImageElement::height):
              * inspector/InspectorController.cpp:
              (WebCore::InspectorController::drawNodeHighlight):
              * page/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
              * page/FrameView.cpp:
              (WebCore::FrameView::createScrollbar):
              (WebCore::FrameView::updateDashboardRegions):
              * page/animation/AnimationBase.cpp:
              (WebCore::blendFunc):
              * rendering/HitTestResult.cpp:
              (WebCore::HitTestResult::imageRect):
              * rendering/InlineBox.cpp:
              (WebCore::InlineBox::renderBox):
              (WebCore::InlineBox::adjustPosition):
              * rendering/InlineBox.h:
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesHorizontally):
              (WebCore::InlineFlowBox::verticallyAlignBoxes):
              (WebCore::InlineFlowBox::placeBoxesVertically):
              * rendering/InlineFlowBox.h:
              * rendering/RenderApplet.cpp:
              (WebCore::RenderApplet::createWidgetIfNecessary):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::overflowHeight):
              (WebCore::RenderBlock::overflowWidth):
              (WebCore::RenderBlock::overflowRect):
              (WebCore::RenderBlock::isSelfCollapsingBlock):
              (WebCore::RenderBlock::layout):
              (WebCore::RenderBlock::layoutBlock):
              (WebCore::RenderBlock::adjustPositionedBlock):
              (WebCore::RenderBlock::adjustFloatingBlock):
              (WebCore::RenderBlock::handleSpecialChild):
              (WebCore::RenderBlock::handlePositionedChild):
              (WebCore::RenderBlock::handleFloatingChild):
              (WebCore::RenderBlock::handleCompactChild):
              (WebCore::RenderBlock::insertCompactIfNeeded):
              (WebCore::RenderBlock::handleRunInChild):
              (WebCore::RenderBlock::collapseMargins):
              (WebCore::RenderBlock::clearFloatsIfNeeded):
              (WebCore::RenderBlock::estimateVerticalPosition):
              (WebCore::RenderBlock::determineHorizontalPosition):
              (WebCore::RenderBlock::handleBottomOfBlock):
              (WebCore::RenderBlock::layoutBlockChildren):
              (WebCore::RenderBlock::layoutOnlyPositionedObjects):
              (WebCore::RenderBlock::layoutPositionedObjects):
              (WebCore::RenderBlock::markPositionedObjectsForLayout):
              (WebCore::RenderBlock::repaintOverhangingFloats):
              (WebCore::RenderBlock::paint):
              (WebCore::RenderBlock::paintChildren):
              (WebCore::RenderBlock::paintObject):
              (WebCore::RenderBlock::paintFloats):
              (WebCore::RenderBlock::paintContinuationOutlines):
              (WebCore::clipOutPositionedObjects):
              (WebCore::RenderBlock::fillSelectionGaps):
              (WebCore::RenderBlock::fillBlockSelectionGaps):
              (WebCore::RenderBlock::leftSelectionOffset):
              (WebCore::RenderBlock::rightSelectionOffset):
              (WebCore::RenderBlock::insertPositionedObject):
              (WebCore::RenderBlock::removePositionedObject):
              (WebCore::RenderBlock::removePositionedObjects):
              (WebCore::RenderBlock::insertFloatingObject):
              (WebCore::RenderBlock::removeFloatingObject):
              (WebCore::RenderBlock::positionNewFloats):
              (WebCore::RenderBlock::newLine):
              (WebCore::RenderBlock::lowestPosition):
              (WebCore::RenderBlock::rightmostPosition):
              (WebCore::RenderBlock::leftmostPosition):
              (WebCore::RenderBlock::clearFloats):
              (WebCore::RenderBlock::addOverhangingFloats):
              (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
              (WebCore::RenderBlock::getClearDelta):
              (WebCore::RenderBlock::nodeAtPoint):
              (WebCore::RenderBlock::positionForCoordinates):
              (WebCore::RenderBlock::layoutColumns):
              (WebCore::RenderBlock::getBaselineOfFirstLineBox):
              (WebCore::RenderBlock::getBaselineOfLastLineBox):
              (WebCore::getHeightForLineCount):
              (WebCore::RenderBlock::adjustForBorderFit):
              * rendering/RenderBlock.h:
              (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
              (WebCore::RenderBlock::hasOverhangingFloats):
              (WebCore::RenderBlock::CompactInfo::compact):
              (WebCore::RenderBlock::CompactInfo::set):
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::RenderBox):
              (WebCore::RenderBox::offsetLeft):
              (WebCore::RenderBox::offsetTop):
              (WebCore::RenderBox::offsetParent):
              (WebCore::RenderBox::clientWidth):
              (WebCore::RenderBox::clientHeight):
              (WebCore::RenderBox::scrollWidth):
              (WebCore::RenderBox::scrollHeight):
              (WebCore::RenderBox::scrollLeft):
              (WebCore::RenderBox::scrollTop):
              (WebCore::RenderBox::setScrollLeft):
              (WebCore::RenderBox::setScrollTop):
              (WebCore::RenderBox::absoluteRects):
              (WebCore::RenderBox::absoluteQuads):
              (WebCore::RenderBox::absoluteContentBox):
              (WebCore::RenderBox::absoluteContentQuad):
              (WebCore::RenderBox::absoluteOutlineBounds):
              (WebCore::RenderBox::addFocusRingRects):
              (WebCore::RenderBox::reflectionBox):
              (WebCore::RenderBox::reflectionOffset):
              (WebCore::RenderBox::reflectedRect):
              (WebCore::RenderBox::overrideWidth):
              (WebCore::RenderBox::overrideHeight):
              (WebCore::RenderBox::nodeAtPoint):
              (WebCore::RenderBox::paint):
              (WebCore::RenderBox::maskClipRect):
              (WebCore::RenderBox::repaintLayerRectsForImage):
              (WebCore::RenderBox::paintCustomHighlight):
              (WebCore::RenderBox::getOverflowClipRect):
              (WebCore::RenderBox::getClipRect):
              (WebCore::RenderBox::containingBlockWidth):
              (WebCore::RenderBox::localToAbsolute):
              (WebCore::RenderBox::offsetFromContainer):
              (WebCore::RenderBox::position):
              (WebCore::RenderBox::computeAbsoluteRepaintRect):
              (WebCore::RenderBox::repaintDuringLayoutIfMoved):
              (WebCore::RenderBox::calcWidth):
              (WebCore::RenderBox::calcWidthUsing):
              (WebCore::RenderBox::calcHorizontalMargins):
              (WebCore::RenderBox::calcHeight):
              (WebCore::RenderBox::calcPercentageHeight):
              (WebCore::RenderBox::calcReplacedHeightUsing):
              (WebCore::RenderBox::containingBlockWidthForPositioned):
              (WebCore::RenderBox::containingBlockHeightForPositioned):
              (WebCore::RenderBox::calcAbsoluteHorizontal):
              (WebCore::RenderBox::calcAbsoluteVertical):
              (WebCore::RenderBox::calcAbsoluteVerticalValues):
              (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
              (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
              (WebCore::RenderBox::localCaretRect):
              (WebCore::RenderBox::lowestPosition):
              (WebCore::RenderBox::rightmostPosition):
              (WebCore::RenderBox::leftmostPosition):
              (WebCore::RenderBox::localTransform):
              * rendering/RenderBox.h:
              (WebCore::):
              (WebCore::RenderBox::x):
              (WebCore::RenderBox::y):
              (WebCore::RenderBox::width):
              (WebCore::RenderBox::height):
              (WebCore::RenderBox::setX):
              (WebCore::RenderBox::setY):
              (WebCore::RenderBox::setWidth):
              (WebCore::RenderBox::setHeight):
              (WebCore::RenderBox::location):
              (WebCore::RenderBox::size):
              (WebCore::RenderBox::setLocation):
              (WebCore::RenderBox::setSize):
              (WebCore::RenderBox::move):
              (WebCore::RenderBox::frameRect):
              (WebCore::RenderBox::setFrameRect):
              (WebCore::RenderBox::borderBoxRect):
              (WebCore::RenderBox::contentBoxRect):
              (WebCore::RenderBox::previousSiblingBox):
              (WebCore::RenderBox::nextSiblingBox):
              (WebCore::RenderBox::parentBox):
              (WebCore::RenderBox::overflowHeight):
              (WebCore::RenderBox::overflowWidth):
              (WebCore::RenderBox::setOverflowHeight):
              (WebCore::RenderBox::setOverflowWidth):
              (WebCore::RenderBox::overflowLeft):
              (WebCore::RenderBox::overflowTop):
              (WebCore::RenderBox::overflowRect):
              (WebCore::RenderBox::contentWidth):
              (WebCore::RenderBox::contentHeight):
              (WebCore::RenderBox::offsetWidth):
              (WebCore::RenderBox::offsetHeight):
              (WebCore::RenderBox::clientLeft):
              (WebCore::RenderBox::clientTop):
              (WebCore::RenderBox::availableWidth):
              (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
              * rendering/RenderButton.cpp:
              (WebCore::RenderButton::controlClipRect):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::layout):
              (WebCore::RenderContainer::positionForCoordinates):
              * rendering/RenderContainer.h:
              (WebCore::RenderContainer::firstChildBox):
              (WebCore::RenderContainer::lastChildBox):
              * rendering/RenderFieldset.cpp:
              (WebCore::RenderFieldset::calcPrefWidths):
              (WebCore::RenderFieldset::layoutLegend):
              (WebCore::RenderFieldset::findLegend):
              (WebCore::RenderFieldset::paintBoxDecorations):
              (WebCore::RenderFieldset::paintMask):
              * rendering/RenderFieldset.h:
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::maxFilenameWidth):
              (WebCore::RenderFileUploadControl::paintObject):
              * rendering/RenderFlexibleBox.cpp:
              (WebCore::FlexBoxIterator::FlexBoxIterator):
              (WebCore::FlexBoxIterator::first):
              (WebCore::FlexBoxIterator::next):
              (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
              (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
              (WebCore::RenderFlexibleBox::layoutBlock):
              (WebCore::RenderFlexibleBox::layoutHorizontalBox):
              (WebCore::RenderFlexibleBox::layoutVerticalBox):
              (WebCore::RenderFlexibleBox::placeChild):
              (WebCore::RenderFlexibleBox::allowedChildFlex):
              * rendering/RenderFlexibleBox.h:
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::absoluteClippedOverflowRect):
              (WebCore::RenderFlow::lowestPosition):
              (WebCore::RenderFlow::rightmostPosition):
              (WebCore::RenderFlow::leftmostPosition):
              (WebCore::RenderFlow::localCaretRect):
              (WebCore::RenderFlow::addFocusRingRects):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::paint):
              (WebCore::RenderFrameSet::layout):
              (WebCore::RenderFrameSet::positionFrames):
              * rendering/RenderHTMLCanvas.cpp:
              (WebCore::RenderHTMLCanvas::paintReplaced):
              (WebCore::RenderHTMLCanvas::canvasSizeChanged):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::imageChanged):
              (WebCore::RenderImage::paintReplaced):
              (WebCore::RenderImage::nodeAtPoint):
              (WebCore::RenderImage::calcReplacedWidth):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::absoluteRects):
              (WebCore::RenderInline::boundingBoxWidth):
              (WebCore::RenderInline::boundingBoxHeight):
              (WebCore::RenderInline::positionForCoordinates):
              * rendering/RenderInline.h:
              (WebCore::RenderInline::offsetWidth):
              (WebCore::RenderInline::offsetHeight):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateTransform):
              (WebCore::RenderLayer::updateLayerPosition):
              (WebCore::RenderLayer::scrollbarCornerPresent):
              (WebCore::RenderLayer::createScrollbar):
              (WebCore::RenderLayer::positionOverflowControls):
              (WebCore::RenderLayer::paintScrollCorner):
              (WebCore::RenderLayer::paintResizer):
              (WebCore::RenderLayer::paintLayer):
              (WebCore::RenderLayer::hitTestLayer):
              (WebCore::RenderLayer::calculateRects):
              (WebCore::RenderLayer::boundingBox):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::calcHeight):
              (WebCore::RenderListBox::controlClipRect):
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::positionListMarker):
              (WebCore::RenderListItem::paint):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              (WebCore::RenderListMarker::layout):
              (WebCore::RenderListMarker::imageChanged):
              (WebCore::RenderListMarker::getRelativeMarkerRect):
              (WebCore::RenderListMarker::selectionRect):
              * rendering/RenderMarquee.cpp:
              (WebCore::RenderMarquee::computePosition):
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::layout):
              (WebCore::RenderMedia::lowestPosition):
              (WebCore::RenderMedia::rightmostPosition):
              (WebCore::RenderMedia::leftmostPosition):
              * rendering/RenderMenuList.cpp:
              (WebCore::RenderMenuList::controlClipRect):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::RenderObject):
              (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout):
              (WebCore::RenderObject::paintOutline):
              (WebCore::RenderObject::addLineBoxRects):
              (WebCore::RenderObject::absoluteBoundingBoxRect):
              (WebCore::RenderObject::addAbsoluteRectForLayer):
              (WebCore::RenderObject::paintingRootRect):
              (WebCore::RenderObject::container):
              (WebCore::RenderObject::removeFromObjectLists):
              (WebCore::RenderObject::updateHitTestResult):
              (WebCore::RenderObject::addDashboardRegions):
              (WebCore::RenderObject::localTransform):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isBox):
              (WebCore::RenderObject::hasMask):
              (WebCore::RenderObject::setIsText):
              (WebCore::RenderObject::setIsBox):
              (WebCore::RenderObject::borderTop):
              (WebCore::RenderObject::borderBottom):
              (WebCore::RenderObject::absoluteRects):
              (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
              (WebCore::RenderObject::absoluteQuads):
              (WebCore::RenderObject::hasReflection):
              (WebCore::RenderObject::addFocusRingRects):
              (WebCore::RenderObject::absoluteOutlineBounds):
              * rendering/RenderPart.cpp:
              (WebCore::RenderPart::updateWidgetPosition):
              * rendering/RenderPath.cpp:
              (WebCore::RenderPath::layout):
              (WebCore::RenderPath::paint):
              (WebCore::RenderPath::absoluteOutlineBounds):
              * rendering/RenderPath.h:
              * rendering/RenderReplaced.cpp:
              (WebCore::RenderReplaced::layout):
              (WebCore::RenderReplaced::paint):
              (WebCore::RenderReplaced::shouldPaint):
              (WebCore::RenderReplaced::positionForCoordinates):
              (WebCore::RenderReplaced::localSelectionRect):
              (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
              (WebCore::RenderReplaced::overflowRect):
              * rendering/RenderReplica.cpp:
              (WebCore::RenderReplica::layout):
              (WebCore::RenderReplica::calcPrefWidths):
              (WebCore::RenderReplica::paint):
              * rendering/RenderSVGContainer.cpp:
              (WebCore::RenderSVGContainer::paint):
              (WebCore::RenderSVGContainer::absoluteOutlineBounds):
              * rendering/RenderSVGContainer.h:
              (WebCore::RenderSVGContainer::width):
              (WebCore::RenderSVGContainer::height):
              * rendering/RenderSVGImage.cpp:
              (WebCore::RenderSVGImage::layout):
              * rendering/RenderSVGInlineText.cpp:
              (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
              (WebCore::RenderSVGInlineText::positionForCoordinates):
              * rendering/RenderSVGRoot.cpp:
              (WebCore::RenderSVGRoot::layout):
              (WebCore::RenderSVGRoot::applyContentTransforms):
              (WebCore::RenderSVGRoot::paint):
              (WebCore::RenderSVGRoot::absoluteTransform):
              (WebCore::RenderSVGRoot::nodeAtPoint):
              * rendering/RenderSVGTSpan.cpp:
              (WebCore::RenderSVGTSpan::absoluteRects):
              (WebCore::RenderSVGTSpan::absoluteQuads):
              * rendering/RenderSVGText.cpp:
              (WebCore::RenderSVGText::layout):
              (WebCore::RenderSVGText::relativeBBox):
              * rendering/RenderSVGTextPath.cpp:
              (WebCore::RenderSVGTextPath::absoluteRects):
              (WebCore::RenderSVGTextPath::absoluteQuads):
              * rendering/RenderSVGViewportContainer.cpp:
              (WebCore::RenderSVGViewportContainer::nodeAtPoint):
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::createCustomScrollbar):
              (WebCore::RenderScrollbar::RenderScrollbar):
              (WebCore::RenderScrollbar::setParent):
              * rendering/RenderScrollbar.h:
              (WebCore::RenderScrollbar::owningRenderer):
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::layout):
              (WebCore::RenderScrollbarPart::layoutHorizontalPart):
              (WebCore::RenderScrollbarPart::layoutVerticalPart):
              (WebCore::RenderScrollbarPart::computeScrollbarWidth):
              (WebCore::RenderScrollbarPart::computeScrollbarHeight):
              (WebCore::RenderScrollbarPart::paintIntoRect):
              * rendering/RenderSlider.cpp:
              (WebCore::HTMLSliderThumbElement::defaultEventHandler):
              (WebCore::RenderSlider::layout):
              (WebCore::RenderSlider::mouseEventIsInThumb):
              (WebCore::RenderSlider::positionForOffset):
              (WebCore::RenderSlider::trackSize):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::calcWidth):
              (WebCore::RenderTable::layout):
              (WebCore::RenderTable::paint):
              (WebCore::RenderTable::getBaselineOfFirstLineBox):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::updateWidth):
              (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
              (WebCore::RenderTableCell::localToAbsolute):
              (WebCore::RenderTableCell::absoluteToLocal):
              (WebCore::RenderTableCell::localToAbsoluteQuad):
              (WebCore::RenderTableCell::paint):
              (WebCore::RenderTableCell::paintBackgroundsBehindCell):
              * rendering/RenderTableCell.h:
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
              (WebCore::RenderTableSection::addCell):
              (WebCore::RenderTableSection::setCellWidths):
              (WebCore::RenderTableSection::calcRowHeight):
              (WebCore::RenderTableSection::layoutRows):
              (WebCore::RenderTableSection::lowestPosition):
              (WebCore::RenderTableSection::rightmostPosition):
              (WebCore::RenderTableSection::leftmostPosition):
              (WebCore::RenderTableSection::getBaselineOfFirstLineBox):
              (WebCore::RenderTableSection::paint):
              (WebCore::RenderTableSection::recalcCells):
              (WebCore::RenderTableSection::nodeAtPoint):
              * rendering/RenderTableSection.h:
              (WebCore::RenderTableSection::overflowWidth):
              (WebCore::RenderTableSection::overflowHeight):
              * rendering/RenderText.cpp:
              (WebCore::RenderText::RenderText):
              (WebCore::RenderText::boundingBoxX):
              (WebCore::RenderText::boundingBoxY):
              (WebCore::RenderText::firstRunX):
              (WebCore::RenderText::firstRunY):
              (WebCore::RenderText::boundingBoxHeight):
              (WebCore::RenderText::boundingBoxWidth):
              * rendering/RenderText.h:
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::textBlockHeight):
              (WebCore::RenderTextControl::textBlockWidth):
              (WebCore::RenderTextControl::setSelectionRange):
              (WebCore::RenderTextControl::calcHeight):
              (WebCore::RenderTextControl::hitInnerTextBlock):
              (WebCore::RenderTextControl::controlClipRect):
              * rendering/RenderTextControlMultiLine.cpp:
              (WebCore::RenderTextControlMultiLine::layout):
              (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
              * rendering/RenderTextControlSingleLine.cpp:
              (WebCore::RenderTextControlSingleLine::paint):
              (WebCore::RenderTextControlSingleLine::layout):
              (WebCore::RenderTextControlSingleLine::nodeAtPoint):
              (WebCore::RenderTextControlSingleLine::forwardEvent):
              (WebCore::RenderTextControlSingleLine::textBlockWidth):
              (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
              (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
              (WebCore::RenderTextControlSingleLine::clientPaddingRight):
              * rendering/RenderTheme.cpp:
              (WebCore::RenderTheme::hitTestMediaControlPart):
              (WebCore::RenderTheme::baselinePosition):
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
              (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
              (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
              (WebCore::RenderThemeMac::hitTestMediaControlPart):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<):
              * rendering/RenderVideo.cpp:
              (WebCore::RenderVideo::videoBox):
              * rendering/RenderView.cpp:
              (WebCore::RenderView::RenderView):
              (WebCore::RenderView::calcHeight):
              (WebCore::RenderView::calcWidth):
              (WebCore::RenderView::layout):
              (WebCore::RenderView::viewRect):
              (WebCore::RenderView::docHeight):
              (WebCore::RenderView::docWidth):
              (WebCore::RenderView::setBestTruncatedAt):
              * rendering/RenderView.h:
              * rendering/RenderWidget.cpp:
              (WebCore::RenderWidget::paint):
              (WebCore::RenderWidget::updateWidgetPosition):
              (WebCore::RenderWidget::nodeAtPoint):
              * rendering/RootInlineBox.h:
              (WebCore::RootInlineBox::floats):
              (WebCore::RootInlineBox::floatsPtr):
              * rendering/SVGInlineFlowBox.cpp:
              (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
              * rendering/SVGInlineFlowBox.h:
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::operator<<):
              (WebCore::write):
              * rendering/SVGRootInlineBox.cpp:
              (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
              (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
              (WebCore::SVGRootInlineBox::layoutInlineBoxes):
              * rendering/SVGRootInlineBox.h:
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::computeHorizontalPositionsForLine):
              (WebCore::RenderBlock::computeVerticalPositionsForLine):
              (WebCore::RenderBlock::layoutInlineChildren):
              (WebCore::RenderBlock::determineStartPosition):
              (WebCore::RenderBlock::matchedEndLine):
              (WebCore::RenderBlock::skipTrailingWhitespace):
              (WebCore::RenderBlock::skipLeadingWhitespace):
              (WebCore::RenderBlock::fitBelowFloats):
              (WebCore::RenderBlock::findNextLineBreak):
              (WebCore::RenderBlock::checkLinesForOverflow):
              * svg/SVGLength.cpp:
              (WebCore::SVGLength::PercentageOfViewport):
      
      WebKit/mac:
      
      2009-01-21  David Hyatt  <hyatt@apple.com>
      
              Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox.
      
              Reviewed by Eric Seidel and Darin Adler
      
              * WebView/WebRenderNode.mm:
              (copyRenderNode):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d885df72
    • cfleizach@apple.com's avatar
      Bug 23443: Table accessibility should be re-enabled after fixing crash that... · c57e5ee4
      cfleizach@apple.com authored
      Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when attempting to create a link in a rich text message
      https://bugs.webkit.org/show_bug.cgi?id=23443
      
      Re-enable Accessibility tables and make sure accessibility code does not interrogate the render tree
      during render tree updates
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c57e5ee4
    • zimmermann@webkit.org's avatar
      Reviewed by George Staikos. · 9cd01306
      zimmermann@webkit.org authored
      Fixes: https://bugs.webkit.org/show_bug.cgi?id=23444
      
      Refactor some functionality from HTMLOption/OptGroupElement needed by RenderListBox/RenderMenuList
      in two abstract base classes: OptionElement & OptionGroupElement living in dom/ - just like it
      has been done before for FormControlElement and RenderTextControl.
      
      This is needed to prepare the addtion of WMLOption/OptGroupElement.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9cd01306
  6. 20 Jan, 2009 6 commits
    • hyatt@apple.com's avatar
      2009-01-20 David Hyatt <hyatt@apple.com> · e0155fcf
      hyatt@apple.com authored
              Tighten up the type of RenderObject owned by RenderLayer to be a RenderBox.  Rename m_object to
              m_renderer to be consistent with the corresponding member function.
      
              Reviewed by Jon Honeycutt
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::RenderLayer):
              (WebCore::RenderLayer::updateLayerPositions):
              (WebCore::RenderLayer::updateVisibilityStatus):
              (WebCore::RenderLayer::updateLayerPosition):
              (WebCore::RenderLayer::stackingContext):
              (WebCore::RenderLayer::enclosingPositionedAncestor):
              (WebCore::RenderLayer::enclosingTransformedAncestor):
              (WebCore::RenderLayer::isTransparent):
              (WebCore::RenderLayer::convertToLayerCoords):
              (WebCore::RenderLayer::scrollByRecursively):
              (WebCore::RenderLayer::scrollToOffset):
              (WebCore::RenderLayer::scrollRectToVisible):
              (WebCore::RenderLayer::resize):
              (WebCore::RenderLayer::scrollbarCornerPresent):
              (WebCore::RenderLayer::createScrollbar):
              (WebCore::RenderLayer::setHasHorizontalScrollbar):
              (WebCore::RenderLayer::setHasVerticalScrollbar):
              (WebCore::RenderLayer::positionOverflowControls):
              (WebCore::RenderLayer::computeScrollDimensions):
              (WebCore::RenderLayer::updateOverflowStatus):
              (WebCore::RenderLayer::updateScrollInfoAfterLayout):
              (WebCore::RenderLayer::paintOverflowControls):
              (WebCore::RenderLayer::paintScrollCorner):
              (WebCore::RenderLayer::paintResizer):
              (WebCore::RenderLayer::isPointInResizeControl):
              (WebCore::RenderLayer::paintLayer):
              (WebCore::RenderLayer::hitTestLayer):
              (WebCore::RenderLayer::updateClipRects):
              (WebCore::RenderLayer::calculateClipRects):
              (WebCore::RenderLayer::calculateRects):
              (WebCore::RenderLayer::clearClipRects):
              (WebCore::RenderLayer::repaintIncludingDescendants):
              (WebCore::RenderLayer::styleChanged):
              (WebCore::RenderLayer::updateScrollCornerStyle):
              (WebCore::RenderLayer::updateResizerStyle):
              * rendering/RenderLayer.h:
              (WebCore::RenderLayer::renderer):
              (WebCore::RenderLayer::hasReflection):
              (WebCore::RenderLayer::hasTransform):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e0155fcf
    • hyatt@apple.com's avatar
      2009-01-20 David Hyatt <hyatt@apple.com> · 1e3939fd
      hyatt@apple.com authored
              Fix Mac build bustage from my selection changes.  I forgot to implement the functions on RenderThemeMac
              for returning the appropriate listbox selection colors.
      
              Reviewed by Adele
      
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
              (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
              (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e3939fd
    • hyatt@apple.com's avatar
      Fix selection colors and focus rings on Windows. · ab24d25d
      hyatt@apple.com authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab24d25d
    • zimmermann@webkit.org's avatar
      Reviewed by Adam Roben. · dceb5dbb
      zimmermann@webkit.org authored
      Fixes: https://bugs.webkit.org/show_bug.cgi?id=23433
      
      Add InputElement abstraction, similar to the FormControlElement refactorization
      done a month ago. The goal is to share as much code as possible between HTML/WMLInputElement.
      In a previous patch the RenderTextControl class has been split-up in RenderTextControlSingle/MultiLine,
      RenderTextControl itself only depends on FormControlElement, RenderTextControlSingleLine still
      depends on HTMLInputElement directly -> change that and make it use the new InputElement abstraction.
      
      A lot of code from HTMLInputElement now lives in InputElement, as static member functions - the
      InputElement class itself is an abstract virtual class, just like ScriptElement. HTML/WMLInputElement
      derive from InputElement, and hold a InputElementData member variable, that they pass to the
      static functions in InputElement. The abstraction is equal to the one chosen for HTML/SVGScriptElement.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dceb5dbb
    • darin@chromium.org's avatar
      2009-01-20 Darin Fisher <darin@chromium.org> · 6a5cf04d
      darin@chromium.org authored
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=23436
              Upstream rendering/RenderThemeChromium*
      
              * rendering/RenderThemeChromiumGtk.cpp: Added.
              * rendering/RenderThemeChromiumGtk.h: Added.
              * rendering/RenderThemeChromiumMac.h: Added.
              * rendering/RenderThemeChromiumMac.mm: Added.
              * rendering/RenderThemeChromiumWin.cpp: Added.
              * rendering/RenderThemeChromiumWin.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6a5cf04d
    • darin@apple.com's avatar
      JavaScriptCore: · ed7a6435
      darin@apple.com authored
      2009-01-20  Darin Adler  <darin@apple.com>
      
              Reviewed by Mark Rowe.
      
              Bug 23352: Turn on more compiler warnings in the Mac build
              https://bugs.webkit.org/show_bug.cgi?id=23352
      
              First patch: Fix some simple cases of various warnings.
      
              * pcre/pcre_compile.cpp:
              (jsRegExpCompile): Use const_cast to change const-ness.
      
              * runtime/StringPrototype.cpp:
              (JSC::substituteBackreferences): Remove unneeded initialization and
              use UChar instead of unsigned short for UTF-16 values.
      
              * wtf/dtoa.cpp:
              (WTF::strtod): Use const_cast to change const-ness.
      
      WebCore:
      
      2009-01-20  Darin Adler  <darin@apple.com>
      
              Reviewed by Mark Rowe.
      
              Bug 23352: Turn on more compiler warnings in the Mac build
              https://bugs.webkit.org/show_bug.cgi?id=23352
      
              First patch: Fix some simple cases of various warnings.
      
              * platform/DeprecatedPtrListImpl.cpp:
              (WebCore::DeprecatedPtrListImpl::insert): Use const_cast to change const-ness.
              * platform/graphics/mac/SimpleFontDataMac.mm:
              (WebCore::SimpleFontData::containsCharacters): Ditto.
      
              * platform/text/PlatformString.h: Overload for short and unsigned short to avoid
              ambiguity leading to warnings.
              * platform/text/String.cpp:
              (WebCore::String::number): Implemented overloads.
      
              * platform/text/TextStream.cpp:
              (WebCore::TextStream::operator<<): Overload for bool to avoid ambiguity leading
              to warnings.
              * platform/text/TextStream.h: Ditto.
      
              * rendering/InlineFlowBox.h: Fix declaration that was specifying the wrong type.
      
              * svg/graphics/filters/cg/WKLinearTransferFilter.m: Fix stray characters after
              #endif that should be a comment instead.
              * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Ditto.
      
              * xml/XPathPath.h: Remove unneeded redundant declaration.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ed7a6435
  7. 18 Jan, 2009 1 commit
  8. 17 Jan, 2009 1 commit
    • hyatt@apple.com's avatar
      WebCore: · cbe8fced
      hyatt@apple.com authored
      2009-01-17  David Hyatt  <hyatt@apple.com>
      
              Change how backslashAsCurrencySymbol() works.  Instead of forcing call sites to do the direct
              replacement themselves, the exact transformation is instead done by the encoding (indirectly through
              a method on Document).
      
              These changes allow the fast case (where no replacement is needed) checks to be completely inlined for
              a slight speedup, and also allow encodings to do future alterations to displayed string content without
              having to patch call sites again.
      
              Reviewed by Oliver Hunt
      
              * WebCore.base.exp:
              * dom/Document.cpp:
              * dom/Document.h:
              (WebCore::Document::displayStringModifiedByEncoding):
              (WebCore::Document::displayBufferModifiedByEncoding):
              * editing/Editor.cpp:
              (WebCore::Editor::addToKillRing):
              * editing/TextIterator.cpp:
              (WebCore::plainTextToMallocAllocatedBuffer):
              (WebCore::plainText):
              * editing/TextIterator.h:
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::groupLabelText):
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::text):
              * loader/DocumentLoader.cpp:
              (WebCore::canonicalizedTitle):
              * page/Chrome.cpp:
              (WebCore::displayString):
              (WebCore::Chrome::runJavaScriptAlert):
              (WebCore::Chrome::runJavaScriptConfirm):
              (WebCore::Chrome::runJavaScriptPrompt):
              (WebCore::Chrome::setStatusbarText):
              * page/Frame.cpp:
              (WebCore::Frame::shouldClose):
              * page/Frame.h:
              * platform/mac/PasteboardMac.mm:
              (WebCore::Pasteboard::writeSelection):
              * platform/text/TextCodecICU.cpp:
              (WebCore::TextCodecICU::encode):
              * platform/text/TextEncoding.cpp:
              (WebCore::TextEncoding::TextEncoding):
              * platform/text/TextEncoding.h:
              (WebCore::TextEncoding::displayString):
              (WebCore::TextEncoding::displayBuffer):
              * rendering/HitTestResult.cpp:
              (WebCore::displayString):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paintReplaced):
              * rendering/RenderObject.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderText.cpp:
              (WebCore::RenderText::RenderText):
              (WebCore::RenderText::setTextInternal):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::setInnerTextValue):
              (WebCore::RenderTextControl::finishText):
      
      WebKit/mac:
      
      2009-01-17  David Hyatt  <hyatt@apple.com>
      
              Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations
              are done in WebCore instead.
      
              Reviewed by Oliver Hunt
      
              * WebView/WebFrame.mm:
              (-[WebFrame _selectedString]):
              (-[WebFrame _stringForRange:]):
      
      WebKit/win:
      
      2009-01-17  David Hyatt  <hyatt@apple.com>
      
              Eliminate dependencies on backslashAsCurrencySymbol from WebKit.
      
              Reviewed by Oliver Hunt
      
              * WebFrame.cpp:
              (WebFrame::selectedString):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cbe8fced