summaryrefslogtreecommitdiffstats
path: root/WebKit/chromium/src/ChromiumBridge.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/chromium/src/ChromiumBridge.cpp')
-rw-r--r--WebKit/chromium/src/ChromiumBridge.cpp34
1 files changed, 32 insertions, 2 deletions
diff --git a/WebKit/chromium/src/ChromiumBridge.cpp b/WebKit/chromium/src/ChromiumBridge.cpp
index e94a04f..38a3f1d 100644
--- a/WebKit/chromium/src/ChromiumBridge.cpp
+++ b/WebKit/chromium/src/ChromiumBridge.cpp
@@ -62,6 +62,10 @@
#include "WebViewImpl.h"
#include "WebWorkerClientImpl.h"
+#if PLATFORM(CG)
+#include <CoreGraphics/CGContext.h>
+#endif
+
#if OS(WINDOWS)
#include "WebRect.h"
#include "win/WebThemeEngine.h"
@@ -73,6 +77,10 @@
#include "WebFontRenderStyle.h"
#endif
+#if OS(DARWIN)
+#include "mac/WebThemeEngine.h"
+#endif
+
#if WEBKIT_USING_SKIA
#include "NativeImageSkia.h"
#endif
@@ -795,7 +803,7 @@ static WebThemeEngine::Part WebThemePart(ChromiumBridge::ThemePart part)
case ChromiumBridge::PartScrollbarUpArrow: return WebThemeEngine::PartScrollbarUpArrow;
case ChromiumBridge::PartScrollbarHorizontalThumb: return WebThemeEngine::PartScrollbarHorizontalThumb;
case ChromiumBridge::PartScrollbarVerticalThumb: return WebThemeEngine::PartScrollbarVerticalThumb;
- case ChromiumBridge::PartScrollbarHoriztonalTrack: return WebThemeEngine::PartScrollbarHoriztonalTrack;
+ case ChromiumBridge::PartScrollbarHorizontalTrack: return WebThemeEngine::PartScrollbarHorizontalTrack;
case ChromiumBridge::PartScrollbarVerticalTrack: return WebThemeEngine::PartScrollbarVerticalTrack;
}
ASSERT_NOT_REACHED();
@@ -816,7 +824,7 @@ static WebThemeEngine::State WebThemeState(ChromiumBridge::ThemePaintState state
static void GetWebThemeExtraParams(ChromiumBridge::ThemePart part, ChromiumBridge::ThemePaintState state, const ChromiumBridge::ThemePaintExtraParams* extraParams, WebThemeEngine::ExtraParams* webThemeExtraParams)
{
- if (part == ChromiumBridge::PartScrollbarHoriztonalTrack || part == ChromiumBridge::PartScrollbarVerticalTrack) {
+ if (part == ChromiumBridge::PartScrollbarHorizontalTrack || part == ChromiumBridge::PartScrollbarVerticalTrack) {
webThemeExtraParams->scrollbarTrack.trackX = extraParams->scrollbarTrack.trackX;
webThemeExtraParams->scrollbarTrack.trackY = extraParams->scrollbarTrack.trackY;
webThemeExtraParams->scrollbarTrack.trackWidth = extraParams->scrollbarTrack.trackWidth;
@@ -838,6 +846,28 @@ void ChromiumBridge::paintThemePart(
gc->platformContext()->canvas(), WebThemePart(part), WebThemeState(state), rect, &webThemeExtraParams);
}
+#elif OS(DARWIN)
+
+void ChromiumBridge::paintScrollbarThumb(
+ GraphicsContext* gc, ThemePaintState state, ThemePaintSize size, const IntRect& rect, const ThemePaintScrollbarInfo& scrollbarInfo)
+{
+ WebThemeEngine::ScrollbarInfo webThemeScrollbarInfo;
+
+ webThemeScrollbarInfo.orientation = static_cast<WebThemeEngine::ScrollbarOrientation>(scrollbarInfo.orientation);
+ webThemeScrollbarInfo.parent = static_cast<WebThemeEngine::ScrollbarParent>(scrollbarInfo.parent);
+ webThemeScrollbarInfo.maxValue = scrollbarInfo.maxValue;
+ webThemeScrollbarInfo.currentValue = scrollbarInfo.currentValue;
+ webThemeScrollbarInfo.visibleSize = scrollbarInfo.visibleSize;
+ webThemeScrollbarInfo.totalSize = scrollbarInfo.totalSize;
+
+ webKitClient()->themeEngine()->paintScrollbarThumb(
+ gc->platformContext(),
+ static_cast<WebThemeEngine::State>(state),
+ static_cast<WebThemeEngine::Size>(size),
+ rect,
+ webThemeScrollbarInfo);
+}
+
#endif
// Trace Event ----------------------------------------------------------------