summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/glue/chrome_client_impl.cc3
-rw-r--r--webkit/glue/webwidget_impl.cc3
2 files changed, 6 insertions, 0 deletions
diff --git a/webkit/glue/chrome_client_impl.cc b/webkit/glue/chrome_client_impl.cc
index b0eaf95..618869d 100644
--- a/webkit/glue/chrome_client_impl.cc
+++ b/webkit/glue/chrome_client_impl.cc
@@ -361,6 +361,9 @@ WebCore::IntRect ChromeClientImpl::windowResizerRect() const {
void ChromeClientImpl::repaint(
const WebCore::IntRect& paint_rect, bool content_changed, bool immediate,
bool repaint_content_only) {
+ // Ignore spurious calls.
+ if (!content_changed || paint_rect.isEmpty())
+ return;
WebViewDelegate* d = webview_->delegate();
if (d)
d->DidInvalidateRect(webview_, webkit_glue::FromIntRect(paint_rect));
diff --git a/webkit/glue/webwidget_impl.cc b/webkit/glue/webwidget_impl.cc
index fd04639..1ff4269 100644
--- a/webkit/glue/webwidget_impl.cc
+++ b/webkit/glue/webwidget_impl.cc
@@ -203,6 +203,9 @@ void WebWidgetImpl::repaint(const WebCore::IntRect& paint_rect,
bool content_changed,
bool immediate,
bool repaint_content_only) {
+ // Ignore spurious calls.
+ if (!content_changed || paint_rect.isEmpty())
+ return;
if (delegate_)
delegate_->DidInvalidateRect(this, webkit_glue::FromIntRect(paint_rect));
}