1. 29 Jul, 2010 1 commit
    • simon.fraser@apple.com's avatar
      2010-07-29 Simon Fraser <simon.fraser@apple.com> · e3a3b735
      simon.fraser@apple.com authored
              Reviewed by Pavel Feldman.
      
              Crash when computing pseudo-style of a vanished scrollbar in inspector
              https://bugs.webkit.org/show_bug.cgi?id=42561
      
              When a styled overflow:scroll scrollbar gets destroyed, we need to clear out the m_owner pointer,
              otherwise the event handling code (which keeps the Scrollbar alive) later causes the scrollbar
              to try to use m_owner to get pseudo style.
      
              Test: scrollbars/overflow-custom-scrollbar-crash.html
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::destroyScrollbar): If this is a custom scrollbar, clear the owning renderer.
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Bail if m_owner is 0.
              * rendering/RenderScrollbar.h:
              (WebCore::RenderScrollbar::clearOwningRenderer): New method.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3a3b735
  2. 18 Aug, 2009 1 commit
    • andersca@apple.com's avatar
      Fix <rdar://problem/7147996> · 5f928d71
      andersca@apple.com authored
      Reviewed by John Sullivan and David Hyatt.
      
      * platform/ScrollView.cpp:
      (WebCore::ScrollView::setHasHorizontalScrollbar):
      (WebCore::ScrollView::setHasVerticalScrollbar):
      Update the style of the scroll bars.
              
      * rendering/RenderScrollbar.cpp:
      (WebCore::RenderScrollbar::RenderScrollbar):
      Calculate the size of the scrollbar and set it as the frame size.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47438 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5f928d71
  3. 05 Aug, 2009 1 commit
    • darin@apple.com's avatar
      2009-08-05 Darin Adler <darin@apple.com> · b6cb2561
      darin@apple.com authored
              Reviewed by David Levin.
      
              Use checked casts for render tree
              https://bugs.webkit.org/show_bug.cgi?id=23522
      
              Last patch. Makes all the casts of RenderObject use checked
              casts instead of using static_cast directly.
      
              * accessibility/AccessibilityListBox.cpp:
              (WebCore::AccessibilityListBox::visibleChildren):
              (WebCore::AccessibilityListBox::doAccessibilityHitTest):
              * accessibility/AccessibilityListBoxOption.cpp:
              (WebCore::AccessibilityListBoxOption::elementRect):
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::AccessibilityRenderObject::textUnderElement):
              (WebCore::AccessibilityRenderObject::stringValue):
              (WebCore::AccessibilityRenderObject::titleUIElement):
              (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
              * accessibility/AccessibilitySlider.cpp:
              (WebCore::AccessibilitySliderThumb::elementRect):
              * dom/InputElement.cpp:
              (WebCore::InputElement::updatePlaceholderVisibility):
              * dom/SelectElement.cpp:
              (WebCore::SelectElement::scrollToSelection):
              (WebCore::SelectElement::recalcStyle):
              (WebCore::SelectElement::setRecalcListItems):
              (WebCore::SelectElement::menuListDefaultEventHandler):
              (WebCore::SelectElement::listBoxDefaultEventHandler):
              * editing/BreakBlockquoteCommand.cpp:
              (WebCore::BreakBlockquoteCommand::doApply):
              * html/HTMLAppletElement.cpp:
              (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
              * html/HTMLCanvasElement.cpp:
              (WebCore::HTMLCanvasElement::reset):
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::updateWidget):
              * html/HTMLFrameElementBase.cpp:
              (WebCore::HTMLFrameElementBase::attach):
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::defaultEventHandler):
              * html/HTMLIFrameElement.cpp:
              (WebCore::HTMLIFrameElement::attach):
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler):
              (WebCore::HTMLInputElement::addSearchResult):
              (WebCore::HTMLInputElement::onSearch):
              * html/HTMLLIElement.cpp:
              (WebCore::HTMLLIElement::parseMappedAttribute):
              (WebCore::HTMLLIElement::attach):
              * html/HTMLMediaElement.cpp:
              (WebCore::HTMLMediaElement::setReadyState):
              (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
              (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
              (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
              (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
              (WebCore::HTMLMediaElement::defaultEventHandler):
              (WebCore::HTMLMediaElement::finishParsingChildren):
              * html/HTMLOListElement.cpp:
              (WebCore::HTMLOListElement::parseMappedAttribute):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::updateWidget):
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::defaultEventHandler):
              * page/DragController.cpp:
              (WebCore::DragController::concludeEditDrag):
              * page/EventHandler.cpp:
              (WebCore::EventHandler::selectCursor):
              (WebCore::EventHandler::capsLockStateMayHaveChanged):
              * page/Frame.cpp:
              (WebCore::Frame::ownerRenderer):
              * page/FrameView.cpp:
              (WebCore::FrameView::detachCustomScrollbars):
              * page/wince/FrameWince.cpp:
              (WebCore::computePageRectsForFrame):
              * rendering/InlineFlowBox.cpp:
              (WebCore::InlineFlowBox::placeBoxesHorizontally):
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaControlTimelineElement::defaultEventHandler):
              * rendering/RenderBlockLineLayout.cpp:
              (WebCore::RenderBlock::findNextLineBreak):
              * rendering/RenderCounter.cpp:
              (WebCore::planCounter):
              * rendering/RenderFrameSet.cpp:
              (WebCore::RenderFrameSet::computeEdgeInfo):
              (WebCore::RenderFrameSet::setIsResizing):
              * rendering/RenderLayerBacking.cpp:
              (WebCore::RenderLayerBacking::contentsBox):
              * rendering/RenderLayerCompositor.cpp:
              (WebCore::RenderLayerCompositor::updateBacking):
              (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
              * rendering/RenderListItem.cpp:
              (WebCore::previousListItem):
              (WebCore::RenderListItem::explicitValueChanged):
              * rendering/RenderObject.cpp:
              (WebCore::updateListMarkerNumbers):
              * rendering/RenderObjectChildList.cpp:
              (WebCore::updateListMarkerNumbers):
              (WebCore::invalidateCountersInContainer):
              * rendering/RenderScrollbarTheme.cpp:
              (WebCore::RenderScrollbarTheme::minimumThumbLength):
              (WebCore::RenderScrollbarTheme::backButtonRect):
              (WebCore::RenderScrollbarTheme::forwardButtonRect):
              (WebCore::RenderScrollbarTheme::trackRect):
              (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
              (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
              (WebCore::RenderScrollbarTheme::paintTrackBackground):
              (WebCore::RenderScrollbarTheme::paintTrackPiece):
              (WebCore::RenderScrollbarTheme::paintButton):
              (WebCore::RenderScrollbarTheme::paintThumb):
              * rendering/RenderSlider.cpp:
              (WebCore::SliderThumbElement::defaultEventHandler):
              * rendering/RenderThemeChromiumMac.mm:
              (WebCore::RenderThemeChromiumMac::paintSliderThumb):
              (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
              * rendering/RenderThemeChromiumWin.cpp:
              (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
              * rendering/RenderThemeMac.mm:
              (WebCore::RenderThemeMac::paintSliderThumb):
              * rendering/RenderThemeSafari.cpp:
              (WebCore::RenderThemeSafari::paintSliderThumb):
              * rendering/RenderThemeWin.cpp:
              (WebCore::RenderThemeWin::determineSliderThumbState):
              * rendering/SVGCharacterLayoutInfo.cpp:
              (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
              * rendering/SVGRootInlineBox.cpp:
              (WebCore::findSVGRootObject):
              * rendering/TextControlInnerElements.cpp:
              (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
              (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
              * svg/SVGImageElement.cpp:
              (WebCore::SVGImageElement::attach):
              * svg/SVGMarkerElement.cpp:
              (WebCore::SVGMarkerElement::canvasResource):
              * svg/SVGTextContentElement.cpp:
              (WebCore::rootInlineBoxForTextContentElement):
              * wml/WMLInputElement.cpp:
              (WebCore::WMLInputElement::defaultEventHandler):
              Use checked casts.
      
              * rendering/RenderApplet.h:
              * rendering/RenderCounter.h:
              * rendering/RenderFieldset.h:
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFrame.h:
              * rendering/RenderFrameSet.h:
              * rendering/RenderHTMLCanvas.h:
              * rendering/RenderListBox.h:
              * rendering/RenderListItem.h:
              * rendering/RenderListMarker.h:
              * rendering/RenderMedia.h:
              * rendering/RenderMenuList.h:
              * rendering/RenderPart.h:
              * rendering/RenderPartObject.h:
              * rendering/RenderPath.h:
              * rendering/RenderSVGContainer.h:
              * rendering/RenderSVGRoot.h:
              * rendering/RenderSVGTextPath.h:
              * rendering/RenderSVGViewportContainer.h:
              * rendering/RenderScrollbar.h:
              * rendering/RenderSlider.h:
              * rendering/RenderTextControlMultiLine.h:
              * rendering/RenderTextControlSingleLine.h:
              * rendering/RenderVideo.h:
              Added a checked cast. Also made most members protected or private.
      
              * rendering/RenderBlock.h:
              * rendering/RenderInline.h:
              * rendering/RenderReplaced.h:
              * rendering/RenderSVGBlock.h:
              * rendering/RenderSVGImage.h:
              * rendering/RenderSVGInlineText.h:
              * rendering/RenderSVGText.h:
              * rendering/RenderTextControl.h:
              Made most members protected or private.
      
              * rendering/RenderInline.cpp:
              * rendering/RenderSVGContainer.cpp:
              * rendering/RenderSVGHiddenContainer.cpp:
              * rendering/RenderSVGImage.cpp:
              * rendering/RenderSVGRoot.cpp:
              Removed unneeded destructor.
      
              * rendering/RenderSVGHiddenContainer.h:
              Removed unneeded virtual function overrides that did the same as
              the default and base class.
      
              * rendering/RenderSVGViewportContainer.cpp:
              (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
              directly instead of using a function call.
              (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
              (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
              (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
              (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
      
              * rendering/RenderScrollbar.cpp:
              (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
              all values instead of using a default case.
      
              * rendering/RenderTreeAsText.cpp:
              (WebCore::operator<<): Removed dependency on casting to types that don't
              have any public members we need to get at. Instead, use function names to
              identify the type rather than doing so much overloading. Changed to use
              checked casts.
              (WebCore::write): Ditto.
      
              * rendering/SVGRenderSupport.cpp:
              (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
              added a comment about the fact that the code does not do sufficient type
              checking before doing the cast.
      
              * rendering/SVGRenderTreeAsText.cpp:
              (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
              (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
              (WebCore::writeSVGText): Renamed this from write.
              (WebCore::writeSVGInlineText): Ditto.
              (WebCore::writeSVGImage): Ditto.
              * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
              unneeded default arguments.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b6cb2561
  4. 04 Feb, 2009 1 commit
    • weinig@apple.com's avatar
      2009-02-03 Sam Weinig <sam@webkit.org> · edad01d2
      weinig@apple.com authored
              Reviewed by David Hyatt.
      
              Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::matchRulesForList):
              (WebCore::CSSStyleSelector::initForStyleResolve):
              (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
              (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::pseudoStyleForElement):
              (WebCore::CSSStyleSelector::checkSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
              (WebCore::CSSStyleSelector::applyProperty):
              * css/CSSStyleSelector.h:
              * dom/Node.cpp:
              (WebCore::Node::diff):
              * page/FrameView.cpp:
              (WebCore::FrameView::createScrollbar):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaTextDisplayElement::MediaTextDisplayElement):
              (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement):
              (WebCore::MediaControlInputElement::MediaControlInputElement):
              (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
              (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
              (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
              (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
              (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
              * rendering/MediaControlElements.h:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::styleDidChange):
              (WebCore::RenderBlock::updateBeforeAfterContent):
              (WebCore::RenderBlock::firstLineBlock):
              (WebCore::RenderBlock::updateFirstLetter):
              * rendering/RenderBlock.h:
              * rendering/RenderBox.cpp:
              (WebCore::RenderBox::isAfterContent):
              * rendering/RenderButton.cpp:
              (WebCore::RenderButton::updateBeforeAfterContent):
              * rendering/RenderButton.h:
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::createButtonStyle):
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::styleDidChange):
              (WebCore::isAfterContent):
              (WebCore::RenderInline::addChildIgnoringContinuation):
              (WebCore::RenderInline::splitInlines):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::createScrollbar):
              (WebCore::RenderLayer::updateScrollCornerStyle):
              (WebCore::RenderLayer::updateResizerStyle):
              * rendering/RenderListBox.cpp:
              (WebCore::RenderListBox::createScrollbar):
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::createPanel):
              (WebCore::RenderMedia::createTimelineContainer):
              * rendering/RenderMenuList.cpp:
              (WebCore::RenderMenuList::createScrollbar):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::selectionBackgroundColor):
              (WebCore::RenderObject::selectionForegroundColor):
              (WebCore::RenderObject::firstLineStyleSlowCase):
              (WebCore::RenderObject::getCachedPseudoStyle):
              (WebCore::RenderObject::getUncachedPseudoStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::isAnonymousBlock):
              * rendering/RenderObjectChildList.cpp:
              (WebCore::RenderObjectChildList::destroyLeftoverChildren):
              (WebCore::beforeAfterContainer):
              (WebCore::RenderObjectChildList::invalidateCounters):
              (WebCore::RenderObjectChildList::updateBeforeAfterContent):
              * rendering/RenderObjectChildList.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::pseudoForScrollbarPart):
              * rendering/RenderScrollbar.h:
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::createThumbStyle):
              * rendering/RenderTextControlSingleLine.cpp:
              (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
              (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
              (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
              (WebCore::RenderTextControlSingleLine::createScrollbar):
              * rendering/style/RenderStyle.cpp:
              (WebCore::pseudoBit):
              * rendering/style/RenderStyle.h:
              (WebCore::):
              * rendering/style/RenderStyleConstants.h:
              (WebCore::):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@40625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      edad01d2
  5. 21 Jan, 2009 1 commit
    • 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
  6. 16 Oct, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-10-16 David Hyatt <hyatt@apple.com> · dec0cbf2
      hyatt@apple.com authored
              https://bugs.webkit.org/attachment.cgi?bugid=21647
      
              Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
              out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
              all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
              to use the arena.
      
              At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
              as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
              arena also limited the usefulness.
      
              Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
              mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
              manual ref/deref far outweigh keeping them in the arena.
      
              Reviewed by Adam Roben
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector):
              (WebCore::CSSStyleSelector::~CSSStyleSelector):
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
              (WebCore::CSSStyleSelector::pseudoStyleForElement):
              These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
              so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
      
              (WebCore::CSSStyleSelector::updateFont):
              (WebCore::CSSStyleSelector::checkSelector):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::mapFillSize):
              (WebCore::CSSStyleSelector::mapFillXPosition):
              (WebCore::CSSStyleSelector::mapFillYPosition):
              * css/CSSStyleSelector.h:
              (WebCore::CSSStyleSelector::style):
              * dom/Document.cpp:
              (WebCore::Document::recalcStyle):
              * dom/Element.cpp:
              (WebCore::Element::styleForRenderer):
              (WebCore::Element::recalcStyle):
              (WebCore::Element::computedStyle):
              * dom/Element.h:
              * dom/ElementRareData.h:
              (WebCore::ElementRareData::ElementRareData):
              (WebCore::ElementRareData::resetComputedStyle):
              * dom/Node.cpp:
              (WebCore::Node::diff):
              (WebCore::Node::createRendererIfNeeded):
              (WebCore::Node::styleForRenderer):
              (WebCore::Node::setRenderStyle):
              * dom/Node.h:
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::setFont):
              * html/HTMLOptGroupElement.cpp:
              (WebCore::HTMLOptGroupElement::attach):
              (WebCore::HTMLOptGroupElement::detach):
              (WebCore::HTMLOptGroupElement::setRenderStyle):
              (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
              * html/HTMLOptGroupElement.h:
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::attach):
              (WebCore::HTMLOptionElement::detach):
              (WebCore::HTMLOptionElement::setRenderStyle):
              (WebCore::HTMLOptionElement::nonRendererRenderStyle):
              * html/HTMLOptionElement.h:
              * page/animation/AnimationBase.h:
              (WebCore::AnimationBase::animate):
              * page/animation/AnimationController.cpp:
              (WebCore::AnimationController::updateAnimations):
              * page/animation/AnimationController.h:
              * page/animation/CompositeAnimation.cpp:
              (WebCore::CompositeAnimationPrivate::updateTransitions):
              (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
              (WebCore::CompositeAnimationPrivate::animate):
              (WebCore::CompositeAnimation::animate):
              * page/animation/CompositeAnimation.h:
              * page/animation/ImplicitAnimation.cpp:
              (WebCore::ImplicitAnimation::ImplicitAnimation):
              (WebCore::ImplicitAnimation::~ImplicitAnimation):
              (WebCore::ImplicitAnimation::animate):
              (WebCore::ImplicitAnimation::reset):
              (WebCore::ImplicitAnimation::isTargetPropertyEqual):
              (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
              * page/animation/ImplicitAnimation.h:
              (WebCore::ImplicitAnimation::create):
              * page/animation/KeyframeAnimation.cpp:
              (WebCore::KeyframeAnimation::KeyframeAnimation):
              (WebCore::KeyframeAnimation::~KeyframeAnimation):
              (WebCore::KeyframeAnimation::animate):
              (WebCore::KeyframeAnimation::validateTransformFunctionList):
              * page/animation/KeyframeAnimation.h:
              (WebCore::KeyframeAnimation::create):
              (WebCore::KeyframeAnimation::unanimatedStyle):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/MediaControlElements.cpp:
              (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
              (WebCore::MediaControlInputElement::MediaControlInputElement):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::styleDidChange):
              (WebCore::RenderBlock::updateFirstLetter):
              * rendering/RenderContainer.cpp:
              (WebCore::RenderContainer::addChild):
              (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
              * rendering/RenderFileUploadControl.cpp:
              (WebCore::RenderFileUploadControl::updateFromElement):
              (WebCore::RenderFileUploadControl::createButtonStyle):
              * rendering/RenderFileUploadControl.h:
              * rendering/RenderFlow.cpp:
              (WebCore::RenderFlow::createAnonymousFlow):
              * rendering/RenderFlow.h:
              * rendering/RenderInline.cpp:
              (WebCore::RenderInline::addChildToFlow):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::updateScrollCornerStyle):
              (WebCore::RenderLayer::updateResizerStyle):
              (WebCore::RenderLayer::updateReflectionStyle):
              * rendering/RenderListItem.cpp:
              (WebCore::RenderListItem::styleDidChange):
              * rendering/RenderMedia.cpp:
              (WebCore::RenderMedia::createPanel):
              (WebCore::RenderMedia::createTimeDisplay):
              (WebCore::RenderMedia::changeOpacity):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::selectionBackgroundColor):
              (WebCore::RenderObject::selectionForegroundColor):
              (WebCore::RenderObject::createAnonymousBlock):
              (WebCore::RenderObject::setAnimatableStyle):
              (WebCore::RenderObject::setStyle):
              (WebCore::RenderObject::setStyleInternal):
              (WebCore::RenderObject::arenaDelete):
              (WebCore::RenderObject::firstLineStyle):
              (WebCore::RenderObject::getPseudoStyle):
              * rendering/RenderObject.h:
              (WebCore::RenderObject::style):
              * rendering/RenderSVGBlock.cpp:
              (WebCore::RenderSVGBlock::setStyle):
              * rendering/RenderSVGBlock.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
              * rendering/RenderSlider.cpp:
              (WebCore::RenderSlider::styleDidChange):
              (WebCore::RenderSlider::createThumbStyle):
              (WebCore::RenderSlider::updateFromElement):
              * rendering/RenderSlider.h:
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::addChild):
              * rendering/RenderTableRow.cpp:
              (WebCore::RenderTableRow::addChild):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::styleDidChange):
              (WebCore::RenderTextControl::createInnerBlockStyle):
              (WebCore::RenderTextControl::createInnerTextStyle):
              (WebCore::RenderTextControl::createResultsButtonStyle):
              (WebCore::RenderTextControl::createCancelButtonStyle):
              (WebCore::RenderTextControl::createSubtreeIfNeeded):
              (WebCore::RenderTextControl::updatePlaceholderVisibility):
              * rendering/RenderTextControl.h:
              * rendering/TextControlInnerElements.cpp:
              (WebCore::TextControlInnerElement::attachInnerElement):
              * rendering/TextControlInnerElements.h:
              * rendering/style/KeyframeList.cpp:
              (WebCore::KeyframeList::clear):
              (WebCore::KeyframeList::operator==):
              (WebCore::KeyframeList::insert):
              * rendering/style/KeyframeList.h:
              (WebCore::KeyframeValue::KeyframeValue):
              (WebCore::KeyframeValue::~KeyframeValue):
              (WebCore::KeyframeValue::key):
              (WebCore::KeyframeValue::style):
              * rendering/style/RenderStyle.cpp:
              (WebCore::defaultStyle):
              (WebCore::RenderStyle::create):
              (WebCore::RenderStyle::createDefaultStyle):
              (WebCore::RenderStyle::clone):
              (WebCore::RenderStyle::RenderStyle):
              (WebCore::RenderStyle::getCachedPseudoStyle):
              (WebCore::RenderStyle::addCachedPseudoStyle):
              * rendering/style/RenderStyle.h:
              (WebCore::):
              (WebCore::InheritedFlags::operator!=):
              * svg/SVGClipPathElement.cpp:
              (WebCore::SVGClipPathElement::canvasResource):
              * svg/SVGGradientElement.cpp:
              (WebCore::SVGGradientElement::buildStops):
              * svg/SVGStyledElement.cpp:
              (WebCore::SVGStyledElement::resolveStyle):
              * svg/SVGStyledElement.h:
              * svg/SVGUseElement.cpp:
              (WebCore::SVGUseElement::recalcStyle):
              (WebCore::SVGUseElement::attachShadowTree):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dec0cbf2
  7. 15 Oct, 2008 1 commit
  8. 14 Oct, 2008 1 commit
  9. 13 Oct, 2008 2 commits
    • hyatt@apple.com's avatar
      2008-10-13 David Hyatt <hyatt@apple.com> · 59696acf
      hyatt@apple.com authored
              In order to always match the :corner-present pseudo-class properly, delay initial updating of
              scrollbar styles until the layer has the scrollbars in its member variables.
      
              Reviewed by Tim Hatcher
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::setHasHorizontalScrollbar):
              (WebCore::RenderLayer::setHasVerticalScrollbar):
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::RenderScrollbar):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59696acf
    • hyatt@apple.com's avatar
      2008-10-13 David Hyatt <hyatt@apple.com> · 2c1832e5
      hyatt@apple.com authored
              Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
              test case for all this can land).
      
              Reviewed by Tim Hatcher
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::paintOverflowControls):
              (WebCore::RenderLayer::paintScrollCorner):
              (WebCore::RenderLayer::paintResizer):
              (WebCore::RenderLayer::styleChanged):
              (WebCore::RenderLayer::updateScrollCornerStyle):
              (WebCore::RenderLayer::updateResizerStyle):
              * rendering/RenderLayer.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::paint):
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::paintIntoRect):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37561 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2c1832e5
  10. 11 Oct, 2008 1 commit
    • hyatt@apple.com's avatar
      2008-10-11 David Hyatt <hyatt@apple.com> · f245267a
      hyatt@apple.com authored
              Add support for both positive and negative margins to tracks and track pieces.
      
              Reviewed by Tim Hatcher
      
              * platform/ScrollbarThemeComposite.cpp:
              (WebCore::ScrollbarThemeComposite::paint):
              (WebCore::ScrollbarThemeComposite::hitTest):
              (WebCore::ScrollbarThemeComposite::splitTrack):
              (WebCore::ScrollbarThemeComposite::trackPieceRects):
              (WebCore::ScrollbarThemeComposite::trackPosition):
              (WebCore::ScrollbarThemeComposite::trackLength):
              * platform/ScrollbarThemeComposite.h:
              (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::trackRect):
              (WebCore::RenderScrollbar::trackPieceRectWithMargins):
              * rendering/RenderScrollbar.h:
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::computeScrollbarWidth):
              (WebCore::RenderScrollbarPart::computeScrollbarHeight):
              * rendering/RenderScrollbarTheme.cpp:
              (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
              * rendering/RenderScrollbarTheme.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f245267a
  11. 10 Oct, 2008 7 commits
    • hyatt@apple.com's avatar
      2008-10-10 David Hyatt <hyatt@apple.com> · e8609a25
      hyatt@apple.com authored
              Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
      
              Reviewed by Tim Hatcher
      
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::createScrollbar):
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::createCustomScrollbar):
              (WebCore::RenderScrollbar::RenderScrollbar):
              (WebCore::RenderScrollbar::setParent):
              (WebCore::RenderScrollbar::updateScrollbarParts):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
              * rendering/style/RenderStyle.h:
              (WebCore::RenderStyle::):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37501 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e8609a25
    • hyatt@apple.com's avatar
      2008-10-10 David Hyatt <hyatt@apple.com> · d65740c1
      hyatt@apple.com authored
              Make sure scrollbar background images cause proper part invalidation to occur.
      
              Reviewed by Tim Hatcher
      
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::setHoveredPart):
              (WebCore::RenderScrollbar::setPressedPart):
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::styleDidChange):
              (WebCore::RenderScrollbarPart::imageChanged):
              * rendering/RenderScrollbarPart.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37499 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d65740c1
    • hyatt@apple.com's avatar
      2008-10-10 David Hyatt <hyatt@apple.com> · ca798134
      hyatt@apple.com authored
              Add the ability to style the scroll corner and the resizer from CSS.
      
              Reviewed by Tim Hatcher
      
              * css/CSSSelector.cpp:
              (WebCore::CSSSelector::extractPseudoType):
              * css/CSSSelector.h:
              (WebCore::CSSSelector::):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::RenderLayer):
              (WebCore::RenderLayer::~RenderLayer):
              (WebCore::RenderLayer::paintOverflowControls):
              (WebCore::RenderLayer::paintScrollCorner):
              (WebCore::RenderLayer::paintResizer):
              (WebCore::RenderLayer::styleChanged):
              * rendering/RenderLayer.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::updateScrollbarPart):
              (WebCore::RenderScrollbar::paintPart):
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::RenderScrollbarPart):
              (WebCore::RenderScrollbarPart::paintIntoRect):
              * rendering/RenderScrollbarPart.h:
              * rendering/style/RenderStyle.h:
              (WebCore::RenderStyle::):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37491 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ca798134
    • hyatt@apple.com's avatar
      2008-10-10 David Hyatt <hyatt@apple.com> · fca034d3
      hyatt@apple.com authored
              Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
      
              Reviewed by Sam Weinig
      
              No test case possible, since the OS setting can vary.
      
              * css/CSSSelector.cpp:
              (WebCore::CSSSelector::extractPseudoType):
              * css/CSSSelector.h:
              (WebCore::CSSSelector::):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
              * platform/Scrollbar.h:
              (WebCore::Scrollbar::styleChanged):
              * platform/mac/ScrollbarThemeMac.mm:
              (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
              (WebCore::ScrollbarThemeMac::preferencesChanged):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::invalidateScrollbarRect):
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::styleChanged):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
              * rendering/RenderScrollbarTheme.h:
              (WebCore::RenderScrollbarTheme::buttonsPlacement):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37490 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fca034d3
    • hyatt@apple.com's avatar
      2008-10-10 David Hyatt <hyatt@apple.com> · c92f8c29
      hyatt@apple.com authored
              Allow the track part to have negative margins so that it can slightly overlap buttons.  This
              is necessary to emulate the Aqua look in CSS.
      
              Reviewed by Sam Weinig
      
              * platform/ScrollbarThemeComposite.cpp:
              (WebCore::ScrollbarThemeComposite::paint):
              (WebCore::ScrollbarThemeComposite::hitTest):
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::setHoveredPart):
              (WebCore::RenderScrollbar::trackRect):
              * rendering/RenderScrollbar.h:
              * rendering/RenderScrollbarPart.cpp:
              (WebCore::RenderScrollbarPart::computeScrollbarWidth):
              (WebCore::RenderScrollbarPart::computeScrollbarHeight):
              * rendering/RenderScrollbarTheme.cpp:
              (WebCore::RenderScrollbarTheme::backButtonRect):
              (WebCore::RenderScrollbarTheme::forwardButtonRect):
              (WebCore::RenderScrollbarTheme::trackRect):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c92f8c29
    • hyatt@apple.com's avatar
      2008-10-10 David Hyatt <hyatt@apple.com> · f9e710bb
      hyatt@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=21527
      
              Make CSS scrollbars support :not, :hover and :active.
      
              Reviewed by Adam Roben
      
              Added WebCore/manual-tests/scrollbar-hover-active.html
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
              * platform/Scrollbar.cpp:
              (WebCore::Scrollbar::autoscrollPressedPart):
              (WebCore::Scrollbar::startTimerIfNeeded):
              (WebCore::Scrollbar::setHoveredPart):
              (WebCore::Scrollbar::setPressedPart):
              (WebCore::Scrollbar::mouseMoved):
              (WebCore::Scrollbar::mouseExited):
              (WebCore::Scrollbar::mouseUp):
              (WebCore::Scrollbar::mouseDown):
              * platform/Scrollbar.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::setHoveredPart):
              (WebCore::RenderScrollbar::setPressedPart):
              (WebCore::RenderScrollbar::updateScrollbarParts):
              (WebCore::pseudoForScrollbarPart):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f9e710bb
    • hyatt@apple.com's avatar
      WebCore: · e3803263
      hyatt@apple.com authored
      2008-10-09  David Hyatt  <hyatt@apple.com>
      
              Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
              is active as well.
      
              Reviewed by Tim Hatcher
      
              Added scrollbars/scrollbar-orientation.html
      
              * css/CSSSelector.cpp:
              (WebCore::CSSSelector::extractPseudoType):
              * css/CSSSelector.h:
              (WebCore::CSSSelector::):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
              * platform/Scrollbar.cpp:
              (WebCore::Scrollbar::isWindowActive):
              * platform/Scrollbar.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::paint):
              (WebCore::RenderScrollbar::partForStyleResolve):
              * rendering/RenderScrollbar.h:
      
      LayoutTests:
      
      2008-10-09  David Hyatt  <hyatt@apple.com>
      
              Add layout test for scrollbars honoring orientation and window active state.
      
              Reviewed by Tim Hatcher
      
              * platform/mac/scrollbars/scrollbar-orientation-expected.checksum: Added.
              * platform/mac/scrollbars/scrollbar-orientation-expected.png: Added.
              * platform/mac/scrollbars/scrollbar-orientation-expected.txt: Added.
              * scrollbars/scrollbar-orientation.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e3803263
  12. 09 Oct, 2008 3 commits
    • hyatt@apple.com's avatar
      WebCore: · e784a798
      hyatt@apple.com authored
      2008-10-09  David Hyatt  <hyatt@apple.com>
      
              Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
              :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
      
              Reviewed by Tim Hatcher
      
              Added scrollbars/disabled-scrollbar.html
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
              * css/CSSStyleSelector.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::getPseudoStyle):
              * rendering/RenderObject.h:
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::setEnabled):
              (WebCore::RenderScrollbar::scrollbarForStyleResolve):
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::RenderScrollbar::paintPart):
              * rendering/RenderScrollbar.h:
      
      LayoutTests:
      
      2008-10-09  David Hyatt  <hyatt@apple.com>
      
              Add test case for disabled scrollbars.
      
              Reviewed by Tim Hatcher
      
              * platform/mac/scrollbars/disabled-scrollbar-expected.checksum: Added.
              * platform/mac/scrollbars/disabled-scrollbar-expected.png: Added.
              * platform/mac/scrollbars/disabled-scrollbar-expected.txt: Added.
              * scrollbars/disabled-scrollbar.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e784a798
    • hyatt@apple.com's avatar
      2008-10-09 David Hyatt <hyatt@apple.com> · b2063c19
      hyatt@apple.com authored
              Make sure to destroy a custom scrollbar's RenderObject's before the arena goes away.  When our widget
              parent is nulled out is a good time.
      
              Reviewed by Oliver Hunt
      
              * rendering/RenderScrollbar.cpp:
              (WebCore::RenderScrollbar::~RenderScrollbar):
              (WebCore::RenderScrollbar::setParent):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              * rendering/RenderScrollbar.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2063c19
    • hyatt@apple.com's avatar
      WebCore: · 2e4835da
      hyatt@apple.com authored
      2008-10-09  David Hyatt  <hyatt@apple.com>
      
              https://bugs.webkit.org/show_bug.cgi?id=21446
      
              This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
              orientation and back vs. forward on the buttons, but it's a start.
      
              Reviewed by Oliver Hunt
      
              Added scrollbars/basic-scrollbar.html
      
              * WebCore.xcodeproj/project.pbxproj:
              * css/CSSSelector.cpp:
              (WebCore::CSSSelector::extractPseudoType):
              * css/CSSSelector.h:
              (WebCore::CSSSelector::):
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
              * platform/ScrollTypes.h:
              (WebCore::):
              * platform/Scrollbar.h:
              (WebCore::Scrollbar::styleChanged):
              * platform/ScrollbarThemeComposite.cpp:
              (WebCore::ScrollbarThemeComposite::paint):
              (WebCore::ScrollbarThemeComposite::splitTrack):
              * platform/ScrollbarThemeComposite.h:
              (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
              (WebCore::ScrollbarThemeComposite::paintTrackBackground):
              (WebCore::ScrollbarThemeComposite::paintTrackPiece):
              * platform/win/ScrollbarThemeSafari.cpp:
              (WebCore::ScrollbarThemeSafari::paintTrackBackground):
              * platform/win/ScrollbarThemeSafari.h:
              * platform/win/ScrollbarThemeWin.cpp:
              (WebCore::ScrollbarThemeWin::paintTrack):
              * platform/win/ScrollbarThemeWin.h:
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::createScrollbar):
              (WebCore::RenderLayer::styleChanged):
              * rendering/RenderScrollbar.cpp: Added.
              (WebCore::RenderScrollbar::createCustomScrollbar):
              (WebCore::RenderScrollbar::RenderScrollbar):
              (WebCore::RenderScrollbar::~RenderScrollbar):
              (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
              (WebCore::RenderScrollbar::updateScrollbarParts):
              (WebCore::RenderScrollbar::updateScrollbarPart):
              (WebCore::RenderScrollbar::paintPart):
              (WebCore::RenderScrollbar::buttonRect):
              (WebCore::RenderScrollbar::minimumThumbLength):
              * rendering/RenderScrollbar.h: Added.
              (WebCore::RenderScrollbar::styleChanged):
              (WebCore::RenderScrollbar::owningRenderer):
              * rendering/RenderScrollbarPart.cpp: Added.
              (WebCore::RenderScrollbarPart::RenderScrollbarPart):
              (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
              (WebCore::RenderScrollbarPart::layout):
              (WebCore::RenderScrollbarPart::layoutHorizontalPart):
              (WebCore::RenderScrollbarPart::layoutVerticalPart):
              (WebCore::calcScrollbarThicknessUsing):
              (WebCore::RenderScrollbarPart::computeScrollbarWidth):
              (WebCore::RenderScrollbarPart::computeScrollbarHeight):
              (WebCore::RenderScrollbarPart::calcPrefWidths):
              (WebCore::RenderScrollbarPart::setStyle):
              * rendering/RenderScrollbarPart.h: Added.
              (WebCore::RenderScrollbarPart::renderName):
              (WebCore::RenderScrollbarPart::requiresLayer):
              * rendering/RenderScrollbarTheme.cpp: Added.
              (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
              (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
              (WebCore::RenderScrollbarTheme::hasButtons):
              (WebCore::RenderScrollbarTheme::hasThumb):
              (WebCore::RenderScrollbarTheme::minimumThumbLength):
              (WebCore::RenderScrollbarTheme::backButtonRect):
              (WebCore::RenderScrollbarTheme::forwardButtonRect):
              (WebCore::RenderScrollbarTheme::trackRect):
              (WebCore::RenderScrollbarTheme::paintScrollCorner):
              (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
              (WebCore::RenderScrollbarTheme::paintTrackBackground):
              (WebCore::RenderScrollbarTheme::paintTrackPiece):
              (WebCore::RenderScrollbarTheme::paintButton):
              (WebCore::RenderScrollbarTheme::paintThumb):
              * rendering/RenderScrollbarTheme.h: Added.
              (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
              (WebCore::RenderScrollbarTheme::scrollbarThickness):
              (WebCore::RenderScrollbarTheme::buttonsPlacement):
              (WebCore::RenderScrollbarTheme::supportsControlTints):
              (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
              (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
              (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
              (WebCore::RenderScrollbarTheme::registerScrollbar):
              (WebCore::RenderScrollbarTheme::unregisterScrollbar):
              * rendering/style/RenderStyle.h:
              (WebCore::RenderStyle::):
      
      LayoutTests:
      
      2008-10-09  David Hyatt  <hyatt@apple.com>
      
              Land layout test for CSS scrollbars.
      
              Reviewed by Oliver Hunt
      
              * platform/mac/scrollbars: Added.
              * platform/mac/scrollbars/basic-scrollbar-expected.checksum: Added.
              * platform/mac/scrollbars/basic-scrollbar-expected.png: Added.
              * platform/mac/scrollbars/basic-scrollbar-expected.txt: Added.
              * scrollbars: Added.
              * scrollbars/basic-scrollbar.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e4835da