WebCore:
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Oct 2008 02:33:16 +0000 (02:33 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Oct 2008 02:33:16 +0000 (02:33 +0000)
commit8516d8b51bf6abfce2fd9dae6d82662ef2a5fd29
tree97d7989c6c8efa0be359ee0619f53c6a761ca10a
parentb8bfbf115b210cfdc5de6bbc3988b9fe753f0dea
WebCore:

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: https://svn.webkit.org/repository/webkit/trunk@37462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
29 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/scrollbars/basic-scrollbar-expected.checksum [new file with mode: 0644]
LayoutTests/platform/mac/scrollbars/basic-scrollbar-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/scrollbars/basic-scrollbar-expected.txt [new file with mode: 0644]
LayoutTests/scrollbars/basic-scrollbar.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/GNUmakefile.am
WebCore/WebCore.pro
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/css/CSSSelector.cpp
WebCore/css/CSSSelector.h
WebCore/css/CSSStyleSelector.cpp
WebCore/platform/ScrollTypes.h
WebCore/platform/Scrollbar.h
WebCore/platform/ScrollbarThemeComposite.cpp
WebCore/platform/ScrollbarThemeComposite.h
WebCore/platform/win/ScrollbarThemeSafari.cpp
WebCore/platform/win/ScrollbarThemeSafari.h
WebCore/platform/win/ScrollbarThemeWin.cpp
WebCore/platform/win/ScrollbarThemeWin.h
WebCore/rendering/RenderLayer.cpp
WebCore/rendering/RenderScrollbar.cpp [new file with mode: 0644]
WebCore/rendering/RenderScrollbar.h [new file with mode: 0644]
WebCore/rendering/RenderScrollbarPart.cpp [new file with mode: 0644]
WebCore/rendering/RenderScrollbarPart.h [new file with mode: 0644]
WebCore/rendering/RenderScrollbarTheme.cpp [new file with mode: 0644]
WebCore/rendering/RenderScrollbarTheme.h [new file with mode: 0644]
WebCore/rendering/style/RenderStyle.h