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: http://svn.webkit.org/repository/webkit/trunk@37462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 76523b1..fcc23f7 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -904,6 +904,9 @@
rendering/RenderPartObject.cpp \
rendering/RenderReplaced.cpp \
rendering/RenderReplica.cpp \
+ rendering/RenderScrollbar.cpp \
+ rendering/RenderScrollbarPart.cpp \
+ rendering/RenderScrollbarTheme.cpp \
rendering/RenderSlider.cpp \
rendering/RenderTableCell.cpp \
rendering/RenderTableCol.cpp \