diff options
-rw-r--r-- | webkit/tools/test_shell/mac/webwidget_host.mm | 8 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_webview_delegate.cc | 5 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_webview_delegate.h | 1 | ||||
-rw-r--r-- | webkit/tools/test_shell/webwidget_host.h | 1 | ||||
-rw-r--r-- | webkit/tools/test_shell/webwidget_host_gtk.cc | 13 | ||||
-rw-r--r-- | webkit/tools/test_shell/webwidget_host_win.cc | 9 |
6 files changed, 37 insertions, 0 deletions
diff --git a/webkit/tools/test_shell/mac/webwidget_host.mm b/webkit/tools/test_shell/mac/webwidget_host.mm index d76c41b..40f76f7 100644 --- a/webkit/tools/test_shell/mac/webwidget_host.mm +++ b/webkit/tools/test_shell/mac/webwidget_host.mm @@ -130,6 +130,14 @@ void WebWidgetHost::DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect) { [view_ setNeedsDisplayInRect:r]; } +void WebWidgetHost::ScheduleComposite() { + if (!webwidget_) + return; + WebSize size = webwidget_->size(); + NSRect r = NSMakeRect(0, 0, size.width, size.height); + [view_ setNeedsDisplayInRect:r]; +} + // void WebWidgetHost::SetCursor(HCURSOR cursor) { // } diff --git a/webkit/tools/test_shell/test_webview_delegate.cc b/webkit/tools/test_shell/test_webview_delegate.cc index b454496..9c9c90d 100644 --- a/webkit/tools/test_shell/test_webview_delegate.cc +++ b/webkit/tools/test_shell/test_webview_delegate.cc @@ -671,6 +671,11 @@ void TestWebViewDelegate::didScrollRect(int dx, int dy, host->DidScrollRect(dx, dy, clip_rect); } +void TestWebViewDelegate::scheduleComposite() { + if (WebWidgetHost* host = GetWidgetHost()) + host->ScheduleComposite(); +} + void TestWebViewDelegate::didFocus() { if (WebWidgetHost* host = GetWidgetHost()) shell_->SetFocus(host, true); diff --git a/webkit/tools/test_shell/test_webview_delegate.h b/webkit/tools/test_shell/test_webview_delegate.h index 8754d3c..32e0094 100644 --- a/webkit/tools/test_shell/test_webview_delegate.h +++ b/webkit/tools/test_shell/test_webview_delegate.h @@ -150,6 +150,7 @@ class TestWebViewDelegate : public WebKit::WebViewClient, virtual void didInvalidateRect(const WebKit::WebRect& rect); virtual void didScrollRect(int dx, int dy, const WebKit::WebRect& clip_rect); + virtual void scheduleComposite(); virtual void didFocus(); virtual void didBlur(); virtual void didChangeCursor(const WebKit::WebCursorInfo& cursor); diff --git a/webkit/tools/test_shell/webwidget_host.h b/webkit/tools/test_shell/webwidget_host.h index 904a878..c344b24 100644 --- a/webkit/tools/test_shell/webwidget_host.h +++ b/webkit/tools/test_shell/webwidget_host.h @@ -47,6 +47,7 @@ class WebWidgetHost { void DidInvalidateRect(const gfx::Rect& rect); void DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect); + void ScheduleComposite(); #if defined(OS_WIN) void SetCursor(HCURSOR cursor); #endif diff --git a/webkit/tools/test_shell/webwidget_host_gtk.cc b/webkit/tools/test_shell/webwidget_host_gtk.cc index aa67ebf..4f7a0f7 100644 --- a/webkit/tools/test_shell/webwidget_host_gtk.cc +++ b/webkit/tools/test_shell/webwidget_host_gtk.cc @@ -310,6 +310,19 @@ void WebWidgetHost::DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect) { DidInvalidateRect(clip_rect); } +void WebWidgetHost::ScheduleComposite() { + int width = logical_size_.width(); + int height = logical_size_.height(); + GdkRectangle grect = { + 0, + 0, + width, + height + }; + GdkWindow* window = view_->window; + gdk_window_invalidate_rect(window, &grect, 0); +} + WebWidgetHost::WebWidgetHost() : view_(NULL), webwidget_(NULL), diff --git a/webkit/tools/test_shell/webwidget_host_win.cc b/webkit/tools/test_shell/webwidget_host_win.cc index 7b0511e..0ead127 100644 --- a/webkit/tools/test_shell/webwidget_host_win.cc +++ b/webkit/tools/test_shell/webwidget_host_win.cc @@ -176,6 +176,15 @@ void WebWidgetHost::DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect) { InvalidateRect(view_, &r, FALSE); } +void WebWidgetHost::ScheduleComposite() { + if (!webwidget_) + return; + WebSize size = webwidget_->size(); + gfx::Rect rect(0, 0, size.width, size.height); + RECT r = rect.ToRECT(); + InvalidateRect(view_, &r, FALSE); +} + void WebWidgetHost::SetCursor(HCURSOR cursor) { SetClassLong(view_, GCL_HCURSOR, static_cast<LONG>(reinterpret_cast<LONG_PTR>(cursor))); |