Title: [114088] trunk/Source/WebCore
- Revision
- 114088
- Author
- [email protected]
- Date
- 2012-04-12 23:14:59 -0700 (Thu, 12 Apr 2012)
Log Message
Chromium: Fix scrollbar tickmark drawing on Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=83844
Patch by Sailesh Agrawal <[email protected]> on 2012-04-12
Reviewed by James Robinson.
On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look.
Screenshots:
broken: http://i.imgur.com/PDKYH.png
fixed: http://i.imgur.com/utp0Y.png
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available.
* platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (114087 => 114088)
--- trunk/Source/WebCore/ChangeLog 2012-04-13 06:11:56 UTC (rev 114087)
+++ trunk/Source/WebCore/ChangeLog 2012-04-13 06:14:59 UTC (rev 114088)
@@ -1,3 +1,19 @@
+2012-04-12 Sailesh Agrawal <[email protected]>
+
+ Chromium: Fix scrollbar tickmark drawing on Mountain Lion
+ https://bugs.webkit.org/show_bug.cgi?id=83844
+
+ Reviewed by James Robinson.
+
+ On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look.
+ Screenshots:
+ broken: http://i.imgur.com/PDKYH.png
+ fixed: http://i.imgur.com/utp0Y.png
+
+ * platform/chromium/ScrollbarThemeChromiumMac.mm:
+ (WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available.
+ * platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API.
+
2012-04-12 Kent Tamura <[email protected]>
LocalizedDateICU should ignore timezones
Modified: trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm (114087 => 114088)
--- trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm 2012-04-13 06:11:56 UTC (rev 114087)
+++ trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm 2012-04-13 06:14:59 UTC (rev 114088)
@@ -129,6 +129,7 @@
CGFloat oldKnobAlpha = 0;
CGFloat oldTrackAlpha = 0;
+ BOOL oldIsExpanded = NO;
bool hasTickmarks = tickmarks.size() > 0 && scrollbar->orientation() == VerticalScrollbar;
ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar);
if (hasTickmarks) {
@@ -136,6 +137,10 @@
[scrollbarPainter setKnobAlpha:1.0];
oldTrackAlpha = [scrollbarPainter trackAlpha];
[scrollbarPainter setTrackAlpha:1.0];
+ if ([scrollbarPainter respondsToSelector:@selector(setExpanded:)]) {
+ oldIsExpanded = [scrollbarPainter isExpanded];
+ [scrollbarPainter setExpanded:YES];
+ }
}
GraphicsContextStateSaver stateSaver(*context);
@@ -168,6 +173,8 @@
if (hasTickmarks) {
[scrollbarPainter setKnobAlpha:oldKnobAlpha];
[scrollbarPainter setTrackAlpha:oldTrackAlpha];
+ if ([scrollbarPainter respondsToSelector:@selector(setExpanded:)])
+ [scrollbarPainter setExpanded:oldIsExpanded];
}
return true;
Modified: trunk/Source/WebCore/platform/mac/NSScrollerImpDetails.h (114087 => 114088)
--- trunk/Source/WebCore/platform/mac/NSScrollerImpDetails.h 2012-04-13 06:11:56 UTC (rev 114087)
+++ trunk/Source/WebCore/platform/mac/NSScrollerImpDetails.h 2012-04-13 06:14:59 UTC (rev 114088)
@@ -62,6 +62,7 @@
- (void)setKnobProportion:(CGFloat)proportion;
- (void)setKnobStyle:(NSScrollerKnobStyle)knobStyle;
- (void)setExpanded:(BOOL)expanded;
+- (BOOL)isExpanded;
- (void)setDelegate:(id)delegate;
- (void)setUiStateTransitionProgress:(CGFloat)uiStateTransitionProgress;
- (BOOL)isHorizontal;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes