Title: [93356] trunk
Revision
93356
Author
[email protected]
Date
2011-08-18 15:14:23 -0700 (Thu, 18 Aug 2011)

Log Message

Chromium: Update forked ScrollbarThemeChromiumMac.mm
https://bugs.webkit.org/show_bug.cgi?id=65555

Patch by Sailesh Agrawal <[email protected]> on 2011-08-18
Reviewed by James Robinson.

Source/WebCore:

Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.

* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
* platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
(wkScrollbarPainterSetEnabled):
* platform/chromium/ScrollbarThemeChromiumMac.h:
(WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
* platform/chromium/ScrollbarThemeChromiumMac.mm:
(WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
(WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
(WebCore::toScrollbarPainterKnobStyle):
(WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
(WebCore::ScrollbarThemeChromiumMac::paint):

LayoutTests:

Removing the chromium-cg-mac version of the expectation file since it now matches the mac one.

* platform/chromium-cg-mac/fast/events/scrollbar-double-click-expected.txt: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (93355 => 93356)


--- trunk/LayoutTests/ChangeLog	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/LayoutTests/ChangeLog	2011-08-18 22:14:23 UTC (rev 93356)
@@ -1,3 +1,14 @@
+2011-08-18  Sailesh Agrawal  <[email protected]>
+
+        Chromium: Update forked ScrollbarThemeChromiumMac.mm
+        https://bugs.webkit.org/show_bug.cgi?id=65555
+
+        Reviewed by James Robinson.
+
+        Removing the chromium-cg-mac version of the expectation file since it now matches the mac one.
+
+        * platform/chromium-cg-mac/fast/events/scrollbar-double-click-expected.txt: Removed.
+
 2011-08-18  Justin Novosad  <[email protected]>
 
         Unwarranted DOM Exception when when canvas2D drawImage is called with src 

Deleted: trunk/LayoutTests/platform/chromium-cg-mac/fast/events/scrollbar-double-click-expected.txt (93355 => 93356)


--- trunk/LayoutTests/platform/chromium-cg-mac/fast/events/scrollbar-double-click-expected.txt	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/LayoutTests/platform/chromium-cg-mac/fast/events/scrollbar-double-click-expected.txt	2011-08-18 22:14:23 UTC (rev 93356)
@@ -1 +0,0 @@
-Scroll offset is 700

Modified: trunk/Source/WebCore/ChangeLog (93355 => 93356)


--- trunk/Source/WebCore/ChangeLog	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/Source/WebCore/ChangeLog	2011-08-18 22:14:23 UTC (rev 93356)
@@ -1,3 +1,25 @@
+2011-08-18  Sailesh Agrawal  <[email protected]>
+
+        Chromium: Update forked ScrollbarThemeChromiumMac.mm
+        https://bugs.webkit.org/show_bug.cgi?id=65555
+
+        Reviewed by James Robinson.
+
+        Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
+
+        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
+        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
+        (wkScrollbarPainterSetEnabled):
+        * platform/chromium/ScrollbarThemeChromiumMac.h:
+        (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
+        * platform/chromium/ScrollbarThemeChromiumMac.mm:
+        (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
+        (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
+        (WebCore::toScrollbarPainterKnobStyle):
+        (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
+        (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
+        (WebCore::ScrollbarThemeChromiumMac::paint):
+
 2011-08-18  Justin Novosad  <[email protected]>
 
         Unwarranted DOM Exception when when canvas2D drawImage is called with src

Modified: trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h (93355 => 93356)


--- trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h	2011-08-18 22:14:23 UTC (rev 93356)
@@ -66,6 +66,7 @@
 void wkScrollbarPainterPaintKnob(WKScrollbarPainterRef);
 int wkScrollbarMinimumThumbLength(WKScrollbarPainterRef);
 void wkScrollbarPainterSetDelegate(WKScrollbarPainterRef, id scrollbarPainterDelegate);
+void wkScrollbarPainterSetEnabled(WKScrollbarPainterRef, bool enabled);
 CGFloat wkScrollbarPainterTrackAlpha(WKScrollbarPainterRef);
 WKScrollbarPainterRef wkMakeScrollbarPainter(int controlSize, bool isHorizontal);
 int wkScrollbarThickness(int controlSize);

Modified: trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm (93355 => 93356)


--- trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm	2011-08-18 22:14:23 UTC (rev 93356)
@@ -192,6 +192,11 @@
     [painter setDelegate:scrollbarPainterDelegate];
 }
 
+void wkScrollbarPainterSetEnabled(WKScrollbarPainterRef painter, bool enabled)
+{
+    [painter setEnabled:enabled];
+}
+
 CGFloat wkScrollbarPainterTrackAlpha(WKScrollbarPainterRef painter)
 {
     return [painter trackAlpha];

Modified: trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.h (93355 => 93356)


--- trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.h	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.h	2011-08-18 22:14:23 UTC (rev 93356)
@@ -42,12 +42,15 @@
 
     void preferencesChanged();
 
+    virtual void updateEnabledState(Scrollbar*);
+
     virtual bool paint(Scrollbar*, GraphicsContext* context, const IntRect& damageRect);
 
     virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar);
 
     virtual bool supportsControlTints() const { return true; }
     virtual bool usesOverlayScrollbars() const;
+    virtual void updateScrollbarOverlayStyle(Scrollbar*);
 
     virtual double initialAutoscrollTimerDelay();
     virtual double autoscrollTimerDelay();
@@ -70,6 +73,8 @@
     virtual IntRect forwardButtonRect(Scrollbar*, ScrollbarPart, bool painting = false);
     virtual IntRect trackRect(Scrollbar*, bool painting = false);
 
+    virtual int maxOverlapBetweenPages() { return 40; }
+
     virtual int minimumThumbLength(Scrollbar*);
 
     virtual bool shouldCenterOnThumb(Scrollbar*, const PlatformMouseEvent&);

Modified: trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm (93355 => 93356)


--- trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm	2011-08-18 22:08:28 UTC (rev 93355)
+++ trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm	2011-08-18 22:14:23 UTC (rev 93356)
@@ -173,6 +173,8 @@
     bool isHorizontal = scrollbar->orientation() == HorizontalScrollbar;
     WKScrollbarPainterRef scrollbarPainter = wkMakeScrollbarPainter(scrollbar->controlSize(), isHorizontal);
     scrollbarMap()->add(scrollbar, scrollbarPainter);
+    updateEnabledState(scrollbar);
+    updateScrollbarOverlayStyle(scrollbar);
 }
 
 void ScrollbarThemeChromiumMac::unregisterScrollbar(Scrollbar* scrollbar)
@@ -183,6 +185,8 @@
 void ScrollbarThemeChromiumMac::setNewPainterForScrollbar(Scrollbar* scrollbar, WKScrollbarPainterRef newPainter)
 {
     scrollbarMap()->set(scrollbar, newPainter);
+    updateEnabledState(scrollbar);
+    updateScrollbarOverlayStyle(scrollbar);
 }
 
 WKScrollbarPainterRef ScrollbarThemeChromiumMac::painterForScrollbar(Scrollbar* scrollbar)
@@ -250,6 +254,25 @@
         return false;
 }
 
+static inline wkScrollerKnobStyle toScrollbarPainterKnobStyle(ScrollbarOverlayStyle style)
+{
+    switch (style) {
+    case ScrollbarOverlayStyleDark:
+        return wkScrollerKnobStyleDark;
+    case ScrollbarOverlayStyleLight:
+        return wkScrollerKnobStyleLight;
+    default:
+        return wkScrollerKnobStyleDefault;
+    }
+}
+
+void ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle(Scrollbar* scrollbar)
+{
+    if (isScrollbarOverlayAPIAvailable()) {
+        wkSetScrollbarPainterKnobStyle(painterForScrollbar(scrollbar), toScrollbarPainterKnobStyle(scrollbar->scrollableArea()->scrollbarOverlayStyle()));
+    }
+}
+
 double ScrollbarThemeChromiumMac::initialAutoscrollTimerDelay()
 {
     return gInitialButtonDelay;
@@ -454,18 +477,6 @@
     }
 }
 
-static inline wkScrollerKnobStyle toScrollbarPainterKnobStyle(ScrollbarOverlayStyle style)
-{
-    switch (style) {
-    case ScrollbarOverlayStyleDark:
-        return wkScrollerKnobStyleDark;
-    case ScrollbarOverlayStyleLight:
-        return wkScrollerKnobStyleLight;
-    default:
-        return wkScrollerKnobStyleDefault;
-    }
-}
-
 static PlatformBridge::ThemePaintState scrollbarStateToThemeState(Scrollbar* scrollbar)
 {
     if (!scrollbar->enabled())
@@ -478,6 +489,13 @@
     return PlatformBridge::StateActive;
 }
 
+void ScrollbarThemeChromiumMac::updateEnabledState(Scrollbar* scrollbar)
+{
+    if (isScrollbarOverlayAPIAvailable()) {
+        wkScrollbarPainterSetEnabled(scrollbarMap()->get(scrollbar).get(), scrollbar->enabled());
+    }
+}
+
 bool ScrollbarThemeChromiumMac::paint(Scrollbar* scrollbar, GraphicsContext* context, const IntRect& damageRect)
 {
     if (isScrollbarOverlayAPIAvailable()) {
@@ -508,8 +526,6 @@
         scrollAnimator->setIsDrawingIntoLayer(false);
 #endif
 
-        wkSetScrollbarPainterKnobStyle(painterForScrollbar(scrollbar), toScrollbarPainterKnobStyle(scrollbar->scrollableArea()->scrollbarOverlayStyle()));
-
         GraphicsContextStateSaver stateSaver(*context);
         context->clip(damageRect);
         context->translate(scrollbar->frameRect().x(), scrollbar->frameRect().y());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to