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

Reply via email to