summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/tools/test_shell/mac/webwidget_host.mm8
-rw-r--r--webkit/tools/test_shell/test_webview_delegate.cc5
-rw-r--r--webkit/tools/test_shell/test_webview_delegate.h1
-rw-r--r--webkit/tools/test_shell/webwidget_host.h1
-rw-r--r--webkit/tools/test_shell/webwidget_host_gtk.cc13
-rw-r--r--webkit/tools/test_shell/webwidget_host_win.cc9
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)));