Changeset 37462 in webkit
- Timestamp:
- Oct 9, 2008 7:33:16 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 12 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r37461 r37462 1 2008-10-09 David Hyatt <hyatt@apple.com> 2 3 Land layout test for CSS scrollbars. 4 5 Reviewed by Oliver Hunt 6 7 * platform/mac/scrollbars: Added. 8 * platform/mac/scrollbars/basic-scrollbar-expected.checksum: Added. 9 * platform/mac/scrollbars/basic-scrollbar-expected.png: Added. 10 * platform/mac/scrollbars/basic-scrollbar-expected.txt: Added. 11 * scrollbars: Added. 12 * scrollbars/basic-scrollbar.html: Added. 13 1 14 2008-10-09 Eric Seidel <eric@webkit.org> 2 15 -
trunk/WebCore/ChangeLog
r37460 r37462 1 2008-10-09 David Hyatt <hyatt@apple.com> 2 3 https://bugs.webkit.org/show_bug.cgi?id=21446 4 5 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between 6 orientation and back vs. forward on the buttons, but it's a start. 7 8 Reviewed by Oliver Hunt 9 10 Added scrollbars/basic-scrollbar.html 11 12 * WebCore.xcodeproj/project.pbxproj: 13 * css/CSSSelector.cpp: 14 (WebCore::CSSSelector::extractPseudoType): 15 * css/CSSSelector.h: 16 (WebCore::CSSSelector::): 17 * css/CSSStyleSelector.cpp: 18 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 19 * platform/ScrollTypes.h: 20 (WebCore::): 21 * platform/Scrollbar.h: 22 (WebCore::Scrollbar::styleChanged): 23 * platform/ScrollbarThemeComposite.cpp: 24 (WebCore::ScrollbarThemeComposite::paint): 25 (WebCore::ScrollbarThemeComposite::splitTrack): 26 * platform/ScrollbarThemeComposite.h: 27 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground): 28 (WebCore::ScrollbarThemeComposite::paintTrackBackground): 29 (WebCore::ScrollbarThemeComposite::paintTrackPiece): 30 * platform/win/ScrollbarThemeSafari.cpp: 31 (WebCore::ScrollbarThemeSafari::paintTrackBackground): 32 * platform/win/ScrollbarThemeSafari.h: 33 * platform/win/ScrollbarThemeWin.cpp: 34 (WebCore::ScrollbarThemeWin::paintTrack): 35 * platform/win/ScrollbarThemeWin.h: 36 * rendering/RenderLayer.cpp: 37 (WebCore::RenderLayer::createScrollbar): 38 (WebCore::RenderLayer::styleChanged): 39 * rendering/RenderScrollbar.cpp: Added. 40 (WebCore::RenderScrollbar::createCustomScrollbar): 41 (WebCore::RenderScrollbar::RenderScrollbar): 42 (WebCore::RenderScrollbar::~RenderScrollbar): 43 (WebCore::RenderScrollbar::getScrollbarPseudoStyle): 44 (WebCore::RenderScrollbar::updateScrollbarParts): 45 (WebCore::RenderScrollbar::updateScrollbarPart): 46 (WebCore::RenderScrollbar::paintPart): 47 (WebCore::RenderScrollbar::buttonRect): 48 (WebCore::RenderScrollbar::minimumThumbLength): 49 * rendering/RenderScrollbar.h: Added. 50 (WebCore::RenderScrollbar::styleChanged): 51 (WebCore::RenderScrollbar::owningRenderer): 52 * rendering/RenderScrollbarPart.cpp: Added. 53 (WebCore::RenderScrollbarPart::RenderScrollbarPart): 54 (WebCore::RenderScrollbarPart::~RenderScrollbarPart): 55 (WebCore::RenderScrollbarPart::layout): 56 (WebCore::RenderScrollbarPart::layoutHorizontalPart): 57 (WebCore::RenderScrollbarPart::layoutVerticalPart): 58 (WebCore::calcScrollbarThicknessUsing): 59 (WebCore::RenderScrollbarPart::computeScrollbarWidth): 60 (WebCore::RenderScrollbarPart::computeScrollbarHeight): 61 (WebCore::RenderScrollbarPart::calcPrefWidths): 62 (WebCore::RenderScrollbarPart::setStyle): 63 * rendering/RenderScrollbarPart.h: Added. 64 (WebCore::RenderScrollbarPart::renderName): 65 (WebCore::RenderScrollbarPart::requiresLayer): 66 * rendering/RenderScrollbarTheme.cpp: Added. 67 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): 68 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis): 69 (WebCore::RenderScrollbarTheme::hasButtons): 70 (WebCore::RenderScrollbarTheme::hasThumb): 71 (WebCore::RenderScrollbarTheme::minimumThumbLength): 72 (WebCore::RenderScrollbarTheme::backButtonRect): 73 (WebCore::RenderScrollbarTheme::forwardButtonRect): 74 (WebCore::RenderScrollbarTheme::trackRect): 75 (WebCore::RenderScrollbarTheme::paintScrollCorner): 76 (WebCore::RenderScrollbarTheme::paintScrollbarBackground): 77 (WebCore::RenderScrollbarTheme::paintTrackBackground): 78 (WebCore::RenderScrollbarTheme::paintTrackPiece): 79 (WebCore::RenderScrollbarTheme::paintButton): 80 (WebCore::RenderScrollbarTheme::paintThumb): 81 * rendering/RenderScrollbarTheme.h: Added. 82 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): 83 (WebCore::RenderScrollbarTheme::scrollbarThickness): 84 (WebCore::RenderScrollbarTheme::buttonsPlacement): 85 (WebCore::RenderScrollbarTheme::supportsControlTints): 86 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb): 87 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): 88 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay): 89 (WebCore::RenderScrollbarTheme::registerScrollbar): 90 (WebCore::RenderScrollbarTheme::unregisterScrollbar): 91 * rendering/style/RenderStyle.h: 92 (WebCore::RenderStyle::): 93 1 94 2008-10-09 Eric Seidel <eric@webkit.org> 2 95 -
trunk/WebCore/GNUmakefile.am
r37448 r37462 1543 1543 WebCore/rendering/RenderSlider.cpp \ 1544 1544 WebCore/rendering/RenderSlider.h \ 1545 WebCore/rendering/RenderScrollbar.cpp \ 1546 WebCore/rendering/RenderScrollbar.h \ 1547 WebCore/rendering/RenderScrollbarPart.cpp \ 1548 WebCore/rendering/RenderScrollbarPart.h \ 1549 WebCore/rendering/RenderScrollbarTheme.cpp \ 1550 WebCore/rendering/RenderScrollbarTheme.h \ 1545 1551 WebCore/rendering/RenderTable.cpp \ 1546 1552 WebCore/rendering/RenderTable.h \ -
trunk/WebCore/WebCore.pro
r37435 r37462 905 905 rendering/RenderReplaced.cpp \ 906 906 rendering/RenderReplica.cpp \ 907 rendering/RenderScrollbar.cpp \ 908 rendering/RenderScrollbarPart.cpp \ 909 rendering/RenderScrollbarTheme.cpp \ 907 910 rendering/RenderSlider.cpp \ 908 911 rendering/RenderTableCell.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r37435 r37462 8502 8502 > 8503 8503 </File> 8504 <File 8505 RelativePath="..\rendering\RenderScrollbar.cpp" 8506 > 8507 <FileConfiguration 8508 Name="Release_PGO|Win32" 8509 > 8510 <Tool 8511 Name="VCCLCompilerTool" 8512 WholeProgramOptimization="true" 8513 /> 8514 </FileConfiguration> 8515 </File> 8516 <File 8517 RelativePath="..\rendering\RenderScrollbar.h" 8518 > 8519 </File> 8520 <File 8521 RelativePath="..\rendering\RenderScrollbarPart.cpp" 8522 > 8523 <FileConfiguration 8524 Name="Release_PGO|Win32" 8525 > 8526 <Tool 8527 Name="VCCLCompilerTool" 8528 WholeProgramOptimization="true" 8529 /> 8530 </FileConfiguration> 8531 </File> 8532 <File 8533 RelativePath="..\rendering\RenderScrollbarPart.h" 8534 > 8535 </File> 8536 <File 8537 RelativePath="..\rendering\RenderScrollbarTheme.cpp" 8538 > 8539 <FileConfiguration 8540 Name="Release_PGO|Win32" 8541 > 8542 <Tool 8543 Name="VCCLCompilerTool" 8544 WholeProgramOptimization="true" 8545 /> 8546 </FileConfiguration> 8547 </File> 8548 <File 8549 RelativePath="..\rendering\RenderScrollbarTheme.h" 8550 > 8551 </File> 8504 8552 <File 8505 8553 RelativePath="..\rendering\RenderSlider.cpp" -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r37456 r37462 3718 3718 BC3BC29C0E91AB0F00835588 /* HostWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3BC29B0E91AB0F00835588 /* HostWindow.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3719 3719 BC3BE12B0E98092F00835588 /* PopupMenuStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3BE12A0E98092F00835588 /* PopupMenuStyle.h */; settings = {ATTRIBUTES = (Private, ); }; }; 3720 BC3BE9930E9C1C7C00835588 /* RenderScrollbar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3BE9900E9C1C7C00835588 /* RenderScrollbar.cpp */; }; 3721 BC3BE9940E9C1C7C00835588 /* RenderScrollbar.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3BE9910E9C1C7C00835588 /* RenderScrollbar.h */; }; 3722 BC3BE9950E9C1C7C00835588 /* RenderScrollbarPart.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3BE9920E9C1C7C00835588 /* RenderScrollbarPart.h */; }; 3723 BC3BE9990E9C1E5D00835588 /* RenderScrollbarTheme.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3BE9980E9C1E5D00835588 /* RenderScrollbarTheme.h */; }; 3724 BC3BE9A50E9C239600835588 /* RenderScrollbarTheme.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3BE9A40E9C239600835588 /* RenderScrollbarTheme.cpp */; }; 3725 BC3BE9AB0E9C242000835588 /* RenderScrollbarPart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3BE9AA0E9C242000835588 /* RenderScrollbarPart.cpp */; }; 3720 3726 BC3C39B60C0D3D8D005F4D7A /* JSMediaList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3C39B40C0D3D8D005F4D7A /* JSMediaList.cpp */; }; 3721 3727 BC3C39B70C0D3D8D005F4D7A /* JSMediaList.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3C39B50C0D3D8D005F4D7A /* JSMediaList.h */; }; … … 8261 8267 BC3BC29B0E91AB0F00835588 /* HostWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HostWindow.h; sourceTree = "<group>"; }; 8262 8268 BC3BE12A0E98092F00835588 /* PopupMenuStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopupMenuStyle.h; sourceTree = "<group>"; }; 8269 BC3BE9900E9C1C7C00835588 /* RenderScrollbar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderScrollbar.cpp; sourceTree = "<group>"; }; 8270 BC3BE9910E9C1C7C00835588 /* RenderScrollbar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderScrollbar.h; sourceTree = "<group>"; }; 8271 BC3BE9920E9C1C7C00835588 /* RenderScrollbarPart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderScrollbarPart.h; sourceTree = "<group>"; }; 8272 BC3BE9980E9C1E5D00835588 /* RenderScrollbarTheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderScrollbarTheme.h; sourceTree = "<group>"; }; 8273 BC3BE9A40E9C239600835588 /* RenderScrollbarTheme.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderScrollbarTheme.cpp; sourceTree = "<group>"; }; 8274 BC3BE9AA0E9C242000835588 /* RenderScrollbarPart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderScrollbarPart.cpp; sourceTree = "<group>"; }; 8263 8275 BC3C39B40C0D3D8D005F4D7A /* JSMediaList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaList.cpp; sourceTree = "<group>"; }; 8264 8276 BC3C39B50C0D3D8D005F4D7A /* JSMediaList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSMediaList.h; sourceTree = "<group>"; }; … … 13560 13572 ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */, 13561 13573 BCEA4840097D93020094C9E4 /* RenderObject.cpp */, 13574 BC3BE9AA0E9C242000835588 /* RenderScrollbarPart.cpp */, 13575 BC3BE9A40E9C239600835588 /* RenderScrollbarTheme.cpp */, 13576 BC3BE9980E9C1E5D00835588 /* RenderScrollbarTheme.h */, 13562 13577 BCEA4841097D93020094C9E4 /* RenderObject.h */, 13563 13578 A871DEC80A1530C700B12A68 /* RenderPart.cpp */, … … 13571 13586 BCA846D40DC67A350026C309 /* RenderReplica.cpp */, 13572 13587 BCA846D50DC67A350026C309 /* RenderReplica.h */, 13588 BC3BE9900E9C1C7C00835588 /* RenderScrollbar.cpp */, 13589 BC3BE9910E9C1C7C00835588 /* RenderScrollbar.h */, 13590 BC3BE9920E9C1C7C00835588 /* RenderScrollbarPart.h */, 13573 13591 AB247A6A0AFD6383003FA5FD /* RenderSlider.cpp */, 13574 13592 AB247A6B0AFD6383003FA5FD /* RenderSlider.h */, … … 15962 15980 1C81BA0E0E97348300266E07 /* JavaScriptDebugServer.h in Headers */, 15963 15981 BC3BE12B0E98092F00835588 /* PopupMenuStyle.h in Headers */, 15982 BC3BE9940E9C1C7C00835588 /* RenderScrollbar.h in Headers */, 15983 BC3BE9950E9C1C7C00835588 /* RenderScrollbarPart.h in Headers */, 15984 BC3BE9990E9C1E5D00835588 /* RenderScrollbarTheme.h in Headers */, 15964 15985 1CF6BDFA0E9BB26A0025E1CD /* ObjCEventListener.h in Headers */, 15965 15986 1CF6BE150E9BB4670025E1CD /* ObjCNodeFilterCondition.h in Headers */, … … 17826 17847 1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */, 17827 17848 1C81BA0D0E97348300266E07 /* JavaScriptDebugServer.cpp in Sources */, 17849 BC3BE9930E9C1C7C00835588 /* RenderScrollbar.cpp in Sources */, 17850 BC3BE9A50E9C239600835588 /* RenderScrollbarTheme.cpp in Sources */, 17851 BC3BE9AB0E9C242000835588 /* RenderScrollbarPart.cpp in Sources */, 17828 17852 1CF6BDFB0E9BB26A0025E1CD /* ObjCEventListener.mm in Sources */, 17829 17853 1CF6BE140E9BB4670025E1CD /* ObjCNodeFilterCondition.mm in Sources */, -
trunk/WebCore/css/CSSSelector.cpp
r37394 r37462 115 115 static AtomicString scrollbarThumb("-webkit-scrollbar-thumb"); 116 116 static AtomicString scrollbarTrack("-webkit-scrollbar-track"); 117 static AtomicString scrollbarTrackPiece("-webkit-scrollbar-track-piece"); 117 118 static AtomicString scrollbarVertical("-webkit-scrollbar-vertical"); 118 119 static AtomicString searchCancelButton("-webkit-search-cancel-button"); … … 254 255 element = true; 255 256 m_pseudoType = PseudoScrollbarTrack; 257 } else if (m_value == scrollbarTrackPiece) { 258 element = true; 259 m_pseudoType = PseudoScrollbarTrackPiece; 256 260 } else if (m_value == scrollbarVertical) 257 261 m_pseudoType = PseudoScrollbarVertical; -
trunk/WebCore/css/CSSSelector.h
r37394 r37462 160 160 PseudoScrollbarThumb, 161 161 PseudoScrollbarTrack, 162 PseudoScrollbarTrackPiece, 162 163 PseudoScrollbarVertical, 163 164 PseudoSelection, -
trunk/WebCore/css/CSSStyleSelector.cpp
r37220 r37462 2340 2340 dynamicPseudo = RenderStyle::MEDIA_CONTROLS_FULLSCREEN_BUTTON; 2341 2341 return true; 2342 case CSSSelector::PseudoScrollbar: 2343 dynamicPseudo = RenderStyle::SCROLLBAR; 2344 return true; 2345 case CSSSelector::PseudoScrollbarButton: 2346 dynamicPseudo = RenderStyle::SCROLLBAR_BUTTON; 2347 return true; 2348 case CSSSelector::PseudoScrollbarCorner: 2349 dynamicPseudo = RenderStyle::SCROLLBAR_CORNER; 2350 return true; 2351 case CSSSelector::PseudoScrollbarThumb: 2352 dynamicPseudo = RenderStyle::SCROLLBAR_THUMB; 2353 return true; 2354 case CSSSelector::PseudoScrollbarTrack: 2355 dynamicPseudo = RenderStyle::SCROLLBAR_TRACK; 2356 return true; 2357 case CSSSelector::PseudoScrollbarTrackPiece: 2358 dynamicPseudo = RenderStyle::SCROLLBAR_TRACK_PIECE; 2359 return true; 2342 2360 case CSSSelector::PseudoUnknown: 2343 2361 case CSSSelector::PseudoNotParsed: -
trunk/WebCore/platform/ScrollTypes.h
r36684 r37462 66 66 BackButtonEndPart = 1 << 5, 67 67 ForwardButtonEndPart = 1 << 6, 68 ScrollbarBGPart = 1 << 7, 69 TrackBGPart = 1 << 8, 68 70 AllParts = 0xffffffff, 69 71 }; -
trunk/WebCore/platform/Scrollbar.h
r37251 r37462 121 121 void setSuppressInvalidation(bool s) { m_suppressInvalidation = s; } 122 122 123 virtual void styleChanged() { } 124 123 125 protected: 124 126 virtual void updateThumbPosition(); -
trunk/WebCore/platform/ScrollbarThemeComposite.cpp
r37146 r37462 85 85 IntRect track = trackRect(scrollbar); 86 86 splitTrack(scrollbar, track, startTrackRect, thumbRect, endTrackRect); 87 if (damageRect.intersects(thumbRect)) {87 if (damageRect.intersects(thumbRect)) 88 88 scrollMask |= ThumbPart; 89 if (trackIsSinglePiece()) {90 // The track is a single strip that paints under the thumb.91 // Add both components of the track to the mask.92 scrollMask |= BackTrackPart;93 scrollMask |= ForwardTrackPart;94 }95 }96 89 if (damageRect.intersects(startTrackRect)) 97 90 scrollMask |= BackTrackPart; … … 132 125 #endif 133 126 134 // Paint the track. 127 // Paint the scrollbar background (only used by custom CSS scrollbars). 128 paintScrollbarBackground(graphicsContext, scrollbar); 129 130 // Paint the track background. 131 if ((scrollMask & ForwardTrackPart) || (scrollMask & BackTrackPart) || (scrollMask && ThumbPart)) 132 paintTrackBackground(graphicsContext, scrollbar, trackPaintRect); 133 134 // Paint the track pieces above and below the thumb. 135 135 if ((scrollMask & ForwardTrackPart) || (scrollMask & BackTrackPart)) { 136 if (!thumbPresent || trackIsSinglePiece()) 137 paintTrack(graphicsContext, scrollbar, trackPaintRect, ForwardTrackPart | BackTrackPart); 138 else { 139 if (scrollMask & BackTrackPart) 140 paintTrack(graphicsContext, scrollbar, startTrackRect, BackTrackPart); 141 if (scrollMask & ForwardTrackPart) 142 paintTrack(graphicsContext, scrollbar, endTrackRect, ForwardTrackPart); 143 } 136 137 if (scrollMask & BackTrackPart) 138 paintTrackPiece(graphicsContext, scrollbar, startTrackRect, BackTrackPart); 139 if (scrollMask & ForwardTrackPart) 140 paintTrackPiece(graphicsContext, scrollbar, endTrackRect, ForwardTrackPart); 144 141 } 145 142 … … 233 230 // This function won't even get called unless we're big enough to have some combination of these three rects where at least 234 231 // one of them is non-empty. 235 int thickness = scrollbar Thickness();232 int thickness = scrollbar->orientation() == HorizontalScrollbar ? scrollbar->height() : scrollbar->width(); 236 233 int thumbPos = thumbPosition(scrollbar); 237 234 if (scrollbar->orientation() == HorizontalScrollbar) { -
trunk/WebCore/platform/ScrollbarThemeComposite.h
r37146 r37462 55 55 56 56 virtual void splitTrack(Scrollbar*, const IntRect& track, IntRect& startTrack, IntRect& thumb, IntRect& endTrack); 57 58 virtual bool trackIsSinglePiece() { return true; }59 57 60 58 virtual int minimumThumbLength(Scrollbar*); 61 59 62 virtual void paintTrack(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarControlPartMask) {} 60 virtual void paintScrollbarBackground(GraphicsContext*, Scrollbar*) {} 61 virtual void paintTrackBackground(GraphicsContext*, Scrollbar*, const IntRect&) {} 62 virtual void paintTrackPiece(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart) {} 63 63 virtual void paintButton(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart) {} 64 64 virtual void paintThumb(GraphicsContext*, Scrollbar*, const IntRect&) {} -
trunk/WebCore/platform/win/ScrollbarThemeSafari.cpp
r37118 r37462 204 204 } 205 205 206 void ScrollbarThemeSafari::paintTrack (GraphicsContext* graphicsContext, Scrollbar* scrollbar, const IntRect& trackRect, ScrollbarControlPartMask)206 void ScrollbarThemeSafari::paintTrackBackground(GraphicsContext* graphicsContext, Scrollbar* scrollbar, const IntRect& trackRect) 207 207 { 208 208 if (!SafariThemeLibrary()) -
trunk/WebCore/platform/win/ScrollbarThemeSafari.h
r37118 r37462 53 53 virtual bool shouldCenterOnThumb(Scrollbar*, const PlatformMouseEvent&); 54 54 55 virtual void paintTrack (GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarControlPartMask);55 virtual void paintTrackBackground(GraphicsContext*, Scrollbar*, const IntRect&); 56 56 virtual void paintButton(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart); 57 57 virtual void paintThumb(GraphicsContext*, Scrollbar*, const IntRect&); -
trunk/WebCore/platform/win/ScrollbarThemeWin.cpp
r37118 r37462 195 195 } 196 196 197 void ScrollbarThemeWin::paintTrack(GraphicsContext* context, Scrollbar* scrollbar, const IntRect& rect, Scrollbar ControlPartMask mask)197 void ScrollbarThemeWin::paintTrack(GraphicsContext* context, Scrollbar* scrollbar, const IntRect& rect, ScrollbarPart partType) 198 198 { 199 199 checkAndInitScrollbarTheme(); 200 200 201 bool start = mask &BackTrackPart;201 bool start = partType == BackTrackPart; 202 202 int part; 203 203 if (scrollbar->orientation() == HorizontalScrollbar) -
trunk/WebCore/platform/win/ScrollbarThemeWin.h
r37118 r37462 49 49 virtual IntRect forwardButtonRect(Scrollbar*, ScrollbarPart, bool painting = false); 50 50 virtual IntRect trackRect(Scrollbar*, bool painting = false); 51 52 virtual bool trackIsSinglePiece() { return false; } 53 51 54 52 virtual bool shouldCenterOnThumb(Scrollbar*, const PlatformMouseEvent&); 55 53 56 virtual void paintTrack (GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarControlPartMask);54 virtual void paintTrackPiece(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart); 57 55 virtual void paintButton(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart); 58 56 virtual void paintThumb(GraphicsContext*, Scrollbar*, const IntRect&); -
trunk/WebCore/rendering/RenderLayer.cpp
r37223 r37462 66 66 #include "RenderMarquee.h" 67 67 #include "RenderReplica.h" 68 #include "RenderScrollbar.h" 68 69 #include "RenderTheme.h" 69 70 #include "RenderView.h" … … 1111 1112 PassRefPtr<Scrollbar> RenderLayer::createScrollbar(ScrollbarOrientation orientation) 1112 1113 { 1113 RefPtr<Scrollbar> widget = Scrollbar::createNativeScrollbar(this, orientation, RegularScrollbar); 1114 RefPtr<Scrollbar> widget; 1115 RenderStyle* style = renderer()->getPseudoStyle(RenderStyle::SCROLLBAR); 1116 if (style) 1117 widget = RenderScrollbar::createCustomScrollbar(this, orientation, style, renderer()); 1118 else 1119 widget = Scrollbar::createNativeScrollbar(this, orientation, RegularScrollbar); 1114 1120 m_object->document()->view()->addChild(widget.get()); 1115 1121 return widget.release(); … … 2381 2387 updateReflectionStyle(); 2382 2388 } 2389 2390 // FIXME: Need to detect a swap from custom to native scrollbars (and vice versa). 2391 if (m_hBar) 2392 m_hBar->styleChanged(); 2393 if (m_vBar) 2394 m_vBar->styleChanged(); 2383 2395 } 2384 2396 -
trunk/WebCore/rendering/style/RenderStyle.h
r37252 r37462 110 110 SLIDER_THUMB, SEARCH_CANCEL_BUTTON, SEARCH_DECORATION, SEARCH_RESULTS_DECORATION, SEARCH_RESULTS_BUTTON, MEDIA_CONTROLS_PANEL, 111 111 MEDIA_CONTROLS_PLAY_BUTTON, MEDIA_CONTROLS_MUTE_BUTTON, MEDIA_CONTROLS_TIMELINE, MEDIA_CONTROLS_TIME_DISPLAY, 112 MEDIA_CONTROLS_SEEK_BACK_BUTTON, MEDIA_CONTROLS_SEEK_FORWARD_BUTTON , MEDIA_CONTROLS_FULLSCREEN_BUTTON }; 112 MEDIA_CONTROLS_SEEK_BACK_BUTTON, MEDIA_CONTROLS_SEEK_FORWARD_BUTTON , MEDIA_CONTROLS_FULLSCREEN_BUTTON, 113 SCROLLBAR, SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER }; 113 114 static const int FIRST_INTERNAL_PSEUDOID = FILE_UPLOAD_BUTTON; 114 115
Note: See TracChangeset
for help on using the changeset viewer.