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());