summaryrefslogtreecommitdiffstats
path: root/webkit/tools/test_shell
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 16:16:02 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 16:16:02 +0000
commitf2d4c672b6d6b80e376cff979b1ec28864b73fb6 (patch)
tree679a4a8178438947f2775a6d1ba5540be99ce00c /webkit/tools/test_shell
parent49578ea329dae7f711ca1cde1ecade01e19a4f1b (diff)
downloadchromium_src-f2d4c672b6d6b80e376cff979b1ec28864b73fb6.zip
chromium_src-f2d4c672b6d6b80e376cff979b1ec28864b73fb6.tar.gz
chromium_src-f2d4c672b6d6b80e376cff979b1ec28864b73fb6.tar.bz2
Revert 86625 - This change implements a first pass in the effort to remove the dependency of PlatformDevice within Chrome. The Skia library now provides multiple back-ends for the SkDevice class, so PlatformDevice's inheritance of SkDevice, and the assumption of instances of PlatformDevice limits the use of these new back-ends.
A new set of helper functions is provided for the PlatformDevice entry points. Upon construction of a PlatformDevice, a pointer to the interface is cached in the parent SkDevice's SkMetaData. The new helper functions forward calls to the interface cached in the metadata. BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7019013 TBR=twiz@chromium.org Review URL: http://codereview.chromium.org/6987019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86629 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools/test_shell')
-rw-r--r--webkit/tools/test_shell/mac/webwidget_host.mm6
-rw-r--r--webkit/tools/test_shell/test_shell_webthemecontrol.cc9
-rw-r--r--webkit/tools/test_shell/webwidget_host_gtk.cc3
-rw-r--r--webkit/tools/test_shell/webwidget_host_win.cc10
4 files changed, 16 insertions, 12 deletions
diff --git a/webkit/tools/test_shell/mac/webwidget_host.mm b/webkit/tools/test_shell/mac/webwidget_host.mm
index 7610644..7677dbf 100644
--- a/webkit/tools/test_shell/mac/webwidget_host.mm
+++ b/webkit/tools/test_shell/mac/webwidget_host.mm
@@ -179,7 +179,7 @@ void WebWidgetHost::Paint() {
// make sure webkit draws into our bitmap, not the window
CGContextRef bitmap_context =
- skia::GetBitmapContext(skia::GetTopDevice(*canvas_));
+ canvas_->getTopPlatformDevice().GetBitmapContext();
[NSGraphicsContext setCurrentContext:
[NSGraphicsContext graphicsContextWithGraphicsPort:bitmap_context
flipped:YES]];
@@ -221,8 +221,8 @@ void WebWidgetHost::Paint() {
int bitmap_width = CGBitmapContextGetWidth(bitmap_context);
CGRect bitmap_rect = { { 0, 0 },
{ bitmap_width, bitmap_height } };
- skia::DrawToNativeContext(canvas_.get(), context, 0,
- client_rect.height() - bitmap_height, &bitmap_rect);
+ canvas_->getTopPlatformDevice().DrawToContext(
+ context, 0, client_rect.height() - bitmap_height, &bitmap_rect);
[view_ unlockFocus];
}
diff --git a/webkit/tools/test_shell/test_shell_webthemecontrol.cc b/webkit/tools/test_shell/test_shell_webthemecontrol.cc
index 25cd94f..08ca901 100644
--- a/webkit/tools/test_shell/test_shell_webthemecontrol.cc
+++ b/webkit/tools/test_shell/test_shell_webthemecontrol.cc
@@ -246,7 +246,7 @@ void Control::draw() {
// Indents for the the slider track.
const int kSliderIndent = 2;
- skia::ScopedPlatformPaint scoped_platform_paint(canvas_);
+ skia::BeginPlatformPaint(canvas_);
switch (type_) {
case kUnknown_Type:
NOTREACHED();
@@ -391,6 +391,7 @@ void Control::draw() {
}
markState();
+ skia::EndPlatformPaint(canvas_);
}
// Because rendering a text field is dependent on input
@@ -400,7 +401,7 @@ void Control::drawTextField(bool draw_edges, bool fill_content_area,
SkColor color) {
SkPaint paint;
- skia::ScopedPlatformPaint scoped_platform_paint(canvas_);
+ skia::BeginPlatformPaint(canvas_);
if (fill_content_area) {
paint.setColor(color);
paint.setStyle(SkPaint::kFill_Style);
@@ -413,13 +414,14 @@ void Control::drawTextField(bool draw_edges, bool fill_content_area,
}
markState();
+ skia::EndPlatformPaint(canvas_);
}
void
Control::drawProgressBar(const SkIRect& fill_rect) {
SkPaint paint;
- skia::ScopedPlatformPaint scoped_platform_paint(canvas_);
+ skia::BeginPlatformPaint(canvas_);
paint.setColor(bg_color_);
paint.setStyle(SkPaint::kFill_Style);
canvas_->drawIRect(irect_, paint);
@@ -432,6 +434,7 @@ Control::drawProgressBar(const SkIRect& fill_rect) {
canvas_->drawIRect(tofill, paint);
markState();
+ skia::EndPlatformPaint(canvas_);
}
} // namespace TestShellWebTheme
diff --git a/webkit/tools/test_shell/webwidget_host_gtk.cc b/webkit/tools/test_shell/webwidget_host_gtk.cc
index b16ea3b..bab38b3 100644
--- a/webkit/tools/test_shell/webwidget_host_gtk.cc
+++ b/webkit/tools/test_shell/webwidget_host_gtk.cc
@@ -402,8 +402,7 @@ void WebWidgetHost::Paint() {
gdk_window_begin_paint_rect(window, &grect);
// BitBlit to the gdk window.
- skia::ScopedPlatformPaint scoped_platform_paint(canvas_.get());
- cairo_t* source_surface = scoped_platform_paint.GetPlatformSurface();
+ cairo_t* source_surface = canvas_->beginPlatformPaint();
cairo_t* cairo_drawable = gdk_cairo_create(window);
cairo_set_source_surface(cairo_drawable, cairo_get_target(source_surface),
0, 0);
diff --git a/webkit/tools/test_shell/webwidget_host_win.cc b/webkit/tools/test_shell/webwidget_host_win.cc
index 005c888..17d5ae1 100644
--- a/webkit/tools/test_shell/webwidget_host_win.cc
+++ b/webkit/tools/test_shell/webwidget_host_win.cc
@@ -251,13 +251,13 @@ void WebWidgetHost::Paint() {
// Scroll the canvas if necessary
scroll_rect_ = client_rect.Intersect(scroll_rect_);
if (!scroll_rect_.IsEmpty()) {
- skia::ScopedPlatformPaint scoped_platform_paint(canvas_.get());
- HDC hdc = scoped_platform_paint.GetPlatformSurface();
+ HDC hdc = canvas_->beginPlatformPaint();
RECT damaged_rect, r = scroll_rect_.ToRECT();
ScrollDC(hdc, scroll_dx_, scroll_dy_, NULL, &r, NULL, &damaged_rect);
PaintRect(gfx::Rect(damaged_rect));
+ canvas_->endPlatformPaint();
}
ResetScrollRect();
@@ -279,8 +279,10 @@ void WebWidgetHost::Paint() {
// Paint to the screen
PAINTSTRUCT ps;
BeginPaint(view_, &ps);
- skia::DrawToNativeContext(canvas_.get(), ps.hdc, ps.rcPaint.left,
- ps.rcPaint.top, &ps.rcPaint);
+ canvas_->getTopPlatformDevice().drawToHDC(ps.hdc,
+ ps.rcPaint.left,
+ ps.rcPaint.top,
+ &ps.rcPaint);
EndPaint(view_, &ps);
// Draw children