summaryrefslogtreecommitdiffstats
path: root/webkit/tools
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/tools')
-rw-r--r--webkit/tools/test_shell/mac/test_webview_delegate.mm4
-rw-r--r--webkit/tools/test_shell/mac/webwidget_host.mm9
2 files changed, 7 insertions, 6 deletions
diff --git a/webkit/tools/test_shell/mac/test_webview_delegate.mm b/webkit/tools/test_shell/mac/test_webview_delegate.mm
index d9bb967..febbc7c 100644
--- a/webkit/tools/test_shell/mac/test_webview_delegate.mm
+++ b/webkit/tools/test_shell/mac/test_webview_delegate.mm
@@ -624,8 +624,8 @@ gfx::ViewHandle TestWebViewDelegate::GetContainingWindow(WebWidget* webwidget) {
void TestWebViewDelegate::DidInvalidateRect(WebWidget* webwidget,
const gfx::Rect& rect) {
- if (shell_ && shell_->webViewHost() && shell_->webViewHost()->window_handle())
- [shell_->webViewHost()->window_handle() setNeedsDisplay:YES];
+ if (WebWidgetHost* host = GetHostForWidget(webwidget))
+ host->DidInvalidateRect(rect);
}
void TestWebViewDelegate::DidScrollRect(WebWidget* webwidget, int dx, int dy,
diff --git a/webkit/tools/test_shell/mac/webwidget_host.mm b/webkit/tools/test_shell/mac/webwidget_host.mm
index 9341d03..a097c53 100644
--- a/webkit/tools/test_shell/mac/webwidget_host.mm
+++ b/webkit/tools/test_shell/mac/webwidget_host.mm
@@ -90,6 +90,8 @@ void WebWidgetHost::DidInvalidateRect(const gfx::Rect& damaged_rect) {
paint_rect_ = paint_rect_.Union(damaged_rect);
NSRect r = NSRectFromCGRect(damaged_rect.ToCGRect());
+ // flip to cocoa coordinates
+ r.origin.y = [view_ frame].size.height - r.size.height - r.origin.y;
[view_ setNeedsDisplayInRect:r];
}
@@ -110,6 +112,8 @@ void WebWidgetHost::DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect) {
scroll_dy_ = dy;
NSRect r = NSRectFromCGRect(clip_rect.ToCGRect());
+ // flip to cocoa coordinates
+ r.origin.y = [view_ frame].size.height - r.size.height - r.origin.y;
[view_ setNeedsDisplayInRect:r];
}
@@ -175,7 +179,7 @@ void WebWidgetHost::Paint() {
// first time we call it. This is necessary because some WebCore rendering
// objects update their layout only when painted.
for (int i = 0; i < 2; ++i) {
- paint_rect_ = client_rect;//.Intersect(paint_rect_);
+ paint_rect_ = client_rect.Intersect(paint_rect_);
if (!paint_rect_.IsEmpty()) {
gfx::Rect rect(paint_rect_);
paint_rect_ = gfx::Rect();
@@ -201,9 +205,6 @@ void WebWidgetHost::Paint() {
[view_ unlockFocus];
}
-
- // Draw children
- // UpdateWindow(hwnd_);
}
void WebWidgetHost::Resize(const gfx::Rect& rect) {