[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

treat at webkit.org treat at webkit.org
Thu Apr 8 02:14:06 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit ea7952456e41efde0a4b4021538ba975de1473cf
Author: treat at webkit.org <treat at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 8 19:43:43 2010 +0000

    WebCore: Refactor the HostWindow methods for repaint, scroll, invalidate and blit
    of backingstore and window by eliminating the three bools that currently
    exist as params of the repaint method.
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    I've added extra methods to provide the hosts with more semantic
    information of what is being requested thus eliminating the need for
    these bools.
    
    No tests as this change should not introduce any behavior changes in any
    of the ports.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * loader/EmptyClients.h:
    (WebCore::EmptyChromeClient::invalidateContents):
    (WebCore::EmptyChromeClient::invalidateWindow):
    (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
    (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
    * page/Chrome.cpp:
    (WebCore::Chrome::invalidateContents):
    (WebCore::Chrome::invalidateWindow):
    (WebCore::Chrome::invalidateContentsAndWindow):
    (WebCore::Chrome::invalidateContentsForSlowScroll):
    * page/Chrome.h:
    * page/ChromeClient.h:
    * page/FrameView.cpp:
    (WebCore::FrameView::invalidateRect):
    * platform/HostWindow.h:
    * platform/ScrollView.cpp:
    (WebCore::ScrollView::scrollContents):
    (WebCore::ScrollView::wheelEvent):
    
    WebKit/chromium: Adapt the chromium port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * src/ChromeClientImpl.cpp:
    (WebKit::ChromeClientImpl::invalidateContents):
    (WebKit::ChromeClientImpl::invalidateWindow):
    (WebKit::ChromeClientImpl::invalidateContentsAndWindow):
    (WebKit::ChromeClient::invalidateContentsForSlowScroll):
    * src/ChromeClientImpl.h:
    
    WebKit/gtk: Adapt the gtk port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * WebCoreSupport/ChromeClientGtk.cpp:
    * WebCoreSupport/ChromeClientGtk.h:
    
    WebKit/haiku: Adapt the haiku port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * WebCoreSupport/ChromeClientHaiku.cpp:
    (WebCore::ChromeClientHaiku::invalidateContents):
    (WebCore::ChromeClientHaiku::invalidateWindow):
    (WebCore::ChromeClientHaiku::invalidateContentsAndWindow):
    (WebCore::ChromeClient::invalidateContentsForSlowScroll):
    * WebCoreSupport/ChromeClientHaiku.h:
    
    WebKit/mac: Adapt the mac port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * WebCoreSupport/WebChromeClient.h:
    * WebCoreSupport/WebChromeClient.mm:
    (WebChromeClient::invalidateContents):
    (WebChromeClient::invalidateWindow):
    (WebChromeClient::invalidateContentsAndWindow):
    (WebChromeClient::invalidateContentsForSlowScroll):
    
    WebKit/qt: Adapt the qt port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * WebCoreSupport/ChromeClientQt.cpp:
    (WebCore::ChromeClientQt::invalidateContents):
    (WebCore::ChromeClientQt::invalidateWindow):
    (WebCore::ChromeClientQt::invalidateContentsAndWindow):
    (WebCore::ChromeClientQt::invalidateContentsForSlowScroll):
    * WebCoreSupport/ChromeClientQt.h:
    
    WebKit/win: Adapt the win port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * WebCoreSupport/WebChromeClient.cpp:
    (WebChromeClient::invalidateContents):
    (WebChromeClient::invalidateWindow):
    (WebChromeClient::invalidateContentsAndWindow):
    (WebChromeClient::invalidateContentsForSlowScroll):
    * WebCoreSupport/WebChromeClient.h:
    
    WebKit/wx: Adapt the wx port to the refactoring of repaint methods.
    
    Patch by Adam Treat <atreat at rim.com> on 2010-03-02
    Reviewed by Dave Hyatt.
    
    https://bugs.webkit.org/show_bug.cgi?id=34214
    
    * WebKitSupport/ChromeClientWx.cpp:
    (WebCore::ChromeClientWx::invalidateContents):
    (WebCore::ChromeClientWx::invalidateWindow):
    (WebCore::ChromeClientWx::invalidateContentsForSlowScroll):
    (WebCore::ChromeClientWx::invalidateContentsAndWindow):
    * WebKitSupport/ChromeClientWx.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55675 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a672cd3..2660e8b 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,40 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Refactor the HostWindow methods for repaint, scroll, invalidate and blit
+        of backingstore and window by eliminating the three bools that currently
+        exist as params of the repaint method.
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        I've added extra methods to provide the hosts with more semantic
+        information of what is being requested thus eliminating the need for
+        these bools.
+
+        No tests as this change should not introduce any behavior changes in any
+        of the ports.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * loader/EmptyClients.h:
+        (WebCore::EmptyChromeClient::invalidateContents):
+        (WebCore::EmptyChromeClient::invalidateWindow):
+        (WebCore::EmptyChromeClient::invalidateContentsAndWindow):
+        (WebCore::EmptyChromeClient::invalidateContentsForSlowScroll):
+        * page/Chrome.cpp:
+        (WebCore::Chrome::invalidateContents):
+        (WebCore::Chrome::invalidateWindow):
+        (WebCore::Chrome::invalidateContentsAndWindow):
+        (WebCore::Chrome::invalidateContentsForSlowScroll):
+        * page/Chrome.h:
+        * page/ChromeClient.h:
+        * page/FrameView.cpp:
+        (WebCore::FrameView::invalidateRect):
+        * platform/HostWindow.h:
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::scrollContents):
+        (WebCore::ScrollView::wheelEvent):
+
 2010-03-08  Adam Barth  <abarth at webkit.org>
 
         Reviewed by Nate Chapin.
diff --git a/WebCore/loader/EmptyClients.h b/WebCore/loader/EmptyClients.h
index 433ad56..6a2ecd5 100644
--- a/WebCore/loader/EmptyClients.h
+++ b/WebCore/loader/EmptyClients.h
@@ -113,12 +113,13 @@ public:
     virtual bool tabsToLinks() const { return false; }
 
     virtual IntRect windowResizerRect() const { return IntRect(); }
-    virtual void addToDirtyRegion(const IntRect&) { }
-    virtual void scrollBackingStore(int, int, const IntRect&, const IntRect&) { }
-    virtual void updateBackingStore() { }
 
-    virtual void repaint(const IntRect&, bool, bool, bool) { }
+    virtual void invalidateContents(const IntRect&, bool) { }
+    virtual void invalidateWindow(const IntRect&, bool) { }
+    virtual void invalidateContentsAndWindow(const IntRect&, bool) { }
+    virtual void invalidateContentsForSlowScroll(const IntRect&, bool) {};
     virtual void scroll(const IntSize&, const IntRect&, const IntRect&) { }
+
     virtual IntPoint screenToWindow(const IntPoint& p) const { return p; }
     virtual IntRect windowToScreen(const IntRect& r) const { return r; }
     virtual PlatformPageClient platformPageClient() const { return 0; }
diff --git a/WebCore/page/Chrome.cpp b/WebCore/page/Chrome.cpp
index 6624d78..771df87 100644
--- a/WebCore/page/Chrome.cpp
+++ b/WebCore/page/Chrome.cpp
@@ -67,9 +67,24 @@ Chrome::~Chrome()
     m_client->chromeDestroyed();
 }
 
-void Chrome::repaint(const IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly)
+void Chrome::invalidateContents(const IntRect& updateRect, bool immediate)
 {
-    m_client->repaint(windowRect, contentChanged, immediate, repaintContentOnly);
+    m_client->invalidateContents(updateRect, immediate);
+}
+
+void Chrome::invalidateWindow(const IntRect& updateRect, bool immediate)
+{
+    m_client->invalidateWindow(updateRect, immediate);
+}
+
+void Chrome::invalidateContentsAndWindow(const IntRect& updateRect, bool immediate)
+{
+    m_client->invalidateContentsAndWindow(updateRect, immediate);
+}
+
+void Chrome::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
+{
+    m_client->invalidateContentsForSlowScroll(updateRect, immediate);
 }
 
 void Chrome::scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
diff --git a/WebCore/page/Chrome.h b/WebCore/page/Chrome.h
index 753adea..279a7f8 100644
--- a/WebCore/page/Chrome.h
+++ b/WebCore/page/Chrome.h
@@ -60,8 +60,12 @@ namespace WebCore {
         ChromeClient* client() { return m_client; }
 
         // HostWindow methods.
-        virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
-        virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
+
+        virtual void invalidateContents(const IntRect&, bool);
+        virtual void invalidateWindow(const IntRect&, bool);
+        virtual void invalidateContentsAndWindow(const IntRect&, bool);
+        virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
+        virtual void scroll(const IntSize&, const IntRect&, const IntRect&);
         virtual IntPoint screenToWindow(const IntPoint&) const;
         virtual IntRect windowToScreen(const IntRect&) const;
         virtual PlatformPageClient platformPageClient() const;
diff --git a/WebCore/page/ChromeClient.h b/WebCore/page/ChromeClient.h
index b05d85b..fcc8770 100644
--- a/WebCore/page/ChromeClient.h
+++ b/WebCore/page/ChromeClient.h
@@ -129,8 +129,11 @@ namespace WebCore {
         virtual IntRect windowResizerRect() const = 0;
 
         // Methods used by HostWindow.
-        virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false) = 0;
-        virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) = 0;
+        virtual void invalidateContents(const IntRect&, bool) = 0;
+        virtual void invalidateWindow(const IntRect&, bool) = 0;
+        virtual void invalidateContentsAndWindow(const IntRect&, bool) = 0;
+        virtual void invalidateContentsForSlowScroll(const IntRect&, bool) = 0;
+        virtual void scroll(const IntSize&, const IntRect&, const IntRect&) = 0;
         virtual IntPoint screenToWindow(const IntPoint&) const = 0;
         virtual IntRect windowToScreen(const IntRect&) const = 0;
         virtual PlatformPageClient platformPageClient() const = 0;
diff --git a/WebCore/page/FrameView.cpp b/WebCore/page/FrameView.cpp
index 5c57c64..2e9908a 100644
--- a/WebCore/page/FrameView.cpp
+++ b/WebCore/page/FrameView.cpp
@@ -292,7 +292,7 @@ void FrameView::invalidateRect(const IntRect& rect)
 {
     if (!parent()) {
         if (hostWindow())
-            hostWindow()->repaint(rect, true);
+            hostWindow()->invalidateContentsAndWindow(rect, false /*immediate*/);
         return;
     }
 
diff --git a/WebCore/platform/HostWindow.h b/WebCore/platform/HostWindow.h
index 80f6bdc..97abf87 100644
--- a/WebCore/platform/HostWindow.h
+++ b/WebCore/platform/HostWindow.h
@@ -35,14 +35,20 @@ class HostWindow : public Noncopyable {
 public:
     virtual ~HostWindow() { }
 
-    // The repaint method asks the host window to repaint a rect in the window's coordinate space.  The
-    // contentChanged boolean indicates whether or not the Web page content actually changed (or if a repaint
-    // of unchanged content is being requested).
-    virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false) = 0;
+    // Requests the host invalidate the contents, not the window.  If immediate is true do so synchronously, otherwise async.
+    virtual void invalidateContents(const IntRect& updateRect, bool immediate) = 0;
+
+    // Requests the host invalidate the window, not the contents.  If immediate is true do so synchronously, otherwise async.
+    virtual void invalidateWindow(const IntRect& updateRect, bool immediate) = 0;
+
+    // Requests the host invalidate the contents and the window.  If immediate is true do so synchronously, otherwise async.
+    virtual void invalidateContentsAndWindow(const IntRect& updateRect, bool immediate) = 0;
+
+    // Requests the host scroll backingstore by the specified delta, rect to scroll, and clip rect.
     virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) = 0;
 
-    // The paint method just causes a synchronous update of the window to happen for platforms that need it (Windows).
-    void paint() { repaint(IntRect(), false, true); }
+    // Requests the host invalidate the contents, not the window.  This is the slow path for scrolling.
+    virtual void invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate) = 0;
     
     // Methods for doing coordinate conversions to and from screen coordinates.
     virtual IntPoint screenToWindow(const IntPoint&) const = 0;
diff --git a/WebCore/platform/ScrollView.cpp b/WebCore/platform/ScrollView.cpp
index e52815a..4fd5cfd 100644
--- a/WebCore/platform/ScrollView.cpp
+++ b/WebCore/platform/ScrollView.cpp
@@ -499,31 +499,30 @@ void ScrollView::scrollContents(const IntSize& scrollDelta)
     updateRect.intersect(scrollViewRect);
 
     // Invalidate the window (not the backing store).
-    hostWindow()->repaint(updateRect, false);
+    hostWindow()->invalidateWindow(updateRect, false /*immediate*/);
 
     if (m_drawPanScrollIcon) {
         int panIconDirtySquareSizeLength = 2 * (panIconSizeLength + max(abs(scrollDelta.width()), abs(scrollDelta.height()))); // We only want to repaint what's necessary
         IntPoint panIconDirtySquareLocation = IntPoint(m_panScrollIconPoint.x() - (panIconDirtySquareSizeLength / 2), m_panScrollIconPoint.y() - (panIconDirtySquareSizeLength / 2));
         IntRect panScrollIconDirtyRect = IntRect(panIconDirtySquareLocation , IntSize(panIconDirtySquareSizeLength, panIconDirtySquareSizeLength));
         panScrollIconDirtyRect.intersect(clipRect);
-        hostWindow()->repaint(panScrollIconDirtyRect, true);
+        hostWindow()->invalidateContentsAndWindow(panScrollIconDirtyRect, false /*immediate*/);
     }
 
     if (canBlitOnScroll()) { // The main frame can just blit the WebView window
-       // FIXME: Find a way to blit subframes without blitting overlapping content
+       // FIXME: Find a way to scroll subframes with this faster path
        hostWindow()->scroll(-scrollDelta, scrollViewRect, clipRect);
     } else { 
        // We need to go ahead and repaint the entire backing store.  Do it now before moving the
        // windowed plugins.
-       hostWindow()->repaint(updateRect, true, false, true); // Invalidate the backing store and repaint it synchronously
+       hostWindow()->invalidateContentsForSlowScroll(updateRect, false);
     }
 
     // This call will move children with native widgets (plugins) and invalidate them as well.
     frameRectsChanged();
 
-    // Now update the window (which should do nothing but a blit of the backing store's updateRect and so should
-    // be very fast).
-    hostWindow()->paint();
+    // Now blit the backingstore into the window which should be very fast.
+    hostWindow()->invalidateWindow(IntRect(), true);
 }
 
 IntPoint ScrollView::windowToContents(const IntPoint& windowPoint) const
@@ -713,7 +712,7 @@ void ScrollView::repaintContentRectangle(const IntRect& rect, bool now)
     }
 
     if (hostWindow())
-        hostWindow()->repaint(contentsToWindow(paintRect), true, now);
+        hostWindow()->invalidateContentsAndWindow(contentsToWindow(paintRect), now /*immediate*/);
 }
 
 IntRect ScrollView::scrollCornerRect() const
@@ -931,7 +930,7 @@ void ScrollView::addPanScrollIcon(const IntPoint& iconPosition)
         return;
     m_drawPanScrollIcon = true;    
     m_panScrollIconPoint = IntPoint(iconPosition.x() - panIconSizeLength / 2 , iconPosition.y() - panIconSizeLength / 2) ;
-    hostWindow()->repaint(IntRect(m_panScrollIconPoint, IntSize(panIconSizeLength,panIconSizeLength)), true, true);    
+    hostWindow()->invalidateContentsAndWindow(IntRect(m_panScrollIconPoint, IntSize(panIconSizeLength, panIconSizeLength)), true /*immediate*/);
 }
 
 void ScrollView::removePanScrollIcon()
@@ -939,7 +938,7 @@ void ScrollView::removePanScrollIcon()
     if (!hostWindow())
         return;
     m_drawPanScrollIcon = false; 
-    hostWindow()->repaint(IntRect(m_panScrollIconPoint, IntSize(panIconSizeLength, panIconSizeLength)), true, true);
+    hostWindow()->invalidateContentsAndWindow(IntRect(m_panScrollIconPoint, IntSize(panIconSizeLength, panIconSizeLength)), true /*immediate*/);
 }
 
 #if !PLATFORM(WX) && !PLATFORM(GTK) && !PLATFORM(QT)
diff --git a/WebCore/platform/chromium/FramelessScrollView.cpp b/WebCore/platform/chromium/FramelessScrollView.cpp
index 114eabb..3fbf2d6 100644
--- a/WebCore/platform/chromium/FramelessScrollView.cpp
+++ b/WebCore/platform/chromium/FramelessScrollView.cpp
@@ -59,7 +59,7 @@ bool FramelessScrollView::isActive() const
 void FramelessScrollView::invalidateRect(const IntRect& rect)
 {
     if (HostWindow* h = hostWindow())
-        h->repaint(rect, true);
+        h->invalidateContentsAndWindow(rect, false /*immediate*/);
 }
 
 HostWindow* FramelessScrollView::hostWindow() const
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 0011427..72aa822 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the chromium port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * src/ChromeClientImpl.cpp:
+        (WebKit::ChromeClientImpl::invalidateContents):
+        (WebKit::ChromeClientImpl::invalidateWindow):
+        (WebKit::ChromeClientImpl::invalidateContentsAndWindow):
+        (WebKit::ChromeClient::invalidateContentsForSlowScroll):
+        * src/ChromeClientImpl.h:
+
 2010-03-08  Jian Li  <jianli at chromium.org>
 
         Reviewed by Dmitry Titov.
diff --git a/WebKit/chromium/src/ChromeClientImpl.cpp b/WebKit/chromium/src/ChromeClientImpl.cpp
index a420da3..44e78ac 100644
--- a/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -466,15 +466,25 @@ IntRect ChromeClientImpl::windowResizerRect() const
     return result;
 }
 
-void ChromeClientImpl::repaint(
-    const IntRect& paintRect, bool contentChanged, bool immediate,
-    bool repaintContentOnly)
+void ChromeClientImpl::invalidateContents(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientImpl::invalidateWindow(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientImpl::invalidateContentsAndWindow(const IntRect& updateRect, bool /*immediate*/)
 {
-    // Ignore spurious calls.
-    if (!contentChanged || paintRect.isEmpty())
-        return;
     if (m_webView->client())
-        m_webView->client()->didInvalidateRect(paintRect);
+        m_webView->client()->didInvalidateRect(updateRect);
+}
+
+void ChromeClientImpl::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
+{
+    invalidateContentsAndWindow(updateRect, immediate);
 }
 
 void ChromeClientImpl::scroll(
diff --git a/WebKit/chromium/src/ChromeClientImpl.h b/WebKit/chromium/src/ChromeClientImpl.h
index 5bf9382..3e2f692 100644
--- a/WebKit/chromium/src/ChromeClientImpl.h
+++ b/WebKit/chromium/src/ChromeClientImpl.h
@@ -96,9 +96,10 @@ public:
     virtual bool shouldInterruptJavaScript();
     virtual bool tabsToLinks() const;
     virtual WebCore::IntRect windowResizerRect() const;
-    virtual void repaint(
-        const WebCore::IntRect&, bool contentChanged, bool immediate = false,
-        bool repaintContentOnly = false);
+    virtual void invalidateContents(const WebCore::IntRect&, bool);
+    virtual void invalidateWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
     virtual void scroll(
         const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll,
         const WebCore::IntRect& clipRect);
diff --git a/WebKit/chromium/src/WebPluginContainerImpl.cpp b/WebKit/chromium/src/WebPluginContainerImpl.cpp
index 1fb418c..dd3fc1a 100644
--- a/WebKit/chromium/src/WebPluginContainerImpl.cpp
+++ b/WebKit/chromium/src/WebPluginContainerImpl.cpp
@@ -124,7 +124,7 @@ void WebPluginContainerImpl::invalidateRect(const IntRect& rect)
     IntRect clipRect = parent()->windowClipRect();
     damageRect.intersect(clipRect);
 
-    parent()->hostWindow()->repaint(damageRect, true);
+    parent()->hostWindow()->invalidateContentsAndWindow(damageRect, false /*immediate*/);
 }
 
 void WebPluginContainerImpl::setFocus()
diff --git a/WebKit/chromium/src/WebPopupMenuImpl.cpp b/WebKit/chromium/src/WebPopupMenuImpl.cpp
index f6d360e..79919ef 100644
--- a/WebKit/chromium/src/WebPopupMenuImpl.cpp
+++ b/WebKit/chromium/src/WebPopupMenuImpl.cpp
@@ -250,18 +250,27 @@ void WebPopupMenuImpl::setTextDirection(WebTextDirection direction)
 //-----------------------------------------------------------------------------
 // WebCore::HostWindow
 
-void WebPopupMenuImpl::repaint(const IntRect& paintRect,
-                               bool contentChanged,
-                               bool immediate,
-                               bool repaintContentOnly)
+void WebPopupMenuImpl::invalidateContents(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void WebPopupMenuImpl::invalidateWindow(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void WebPopupMenuImpl::invalidateContentsAndWindow(const IntRect& paintRect, bool /*immediate*/)
 {
-    // Ignore spurious calls.
-    if (!contentChanged || paintRect.isEmpty())
-        return;
     if (m_client)
         m_client->didInvalidateRect(paintRect);
 }
 
+void WebPopupMenuImpl::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
+{
+    invalidateContentsAndWindow(updateRect, immediate);
+}
+
 void WebPopupMenuImpl::scroll(const IntSize& scrollDelta,
                               const IntRect& scrollRect,
                               const IntRect& clipRect)
diff --git a/WebKit/chromium/src/WebPopupMenuImpl.h b/WebKit/chromium/src/WebPopupMenuImpl.h
index 13eb674..7390394 100644
--- a/WebKit/chromium/src/WebPopupMenuImpl.h
+++ b/WebKit/chromium/src/WebPopupMenuImpl.h
@@ -98,9 +98,10 @@ public:
     ~WebPopupMenuImpl();
 
     // WebCore::HostWindow methods:
-    virtual void repaint(
-        const WebCore::IntRect&, bool contentChanged, bool immediate = false,
-        bool repaintContentOnly = false);
+    virtual void invalidateContents(const WebCore::IntRect&, bool);
+    virtual void invalidateWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
     virtual void scroll(
         const WebCore::IntSize& scrollDelta, const WebCore::IntRect& scrollRect,
         const WebCore::IntRect& clipRect);
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 279ca18..d895d88 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,14 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the gtk port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * WebCoreSupport/ChromeClientGtk.cpp:
+        * WebCoreSupport/ChromeClientGtk.h:
+
 2010-03-08  Eric Uhrhane  <ericu at chromium.org>
 
         Reviewed by David Levin.
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index 1bfc7e2..514b09a 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -342,20 +342,34 @@ IntRect ChromeClient::windowResizerRect() const
     return IntRect();
 }
 
-void ChromeClient::repaint(const IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly)
+void ChromeClient::invalidateContents(const IntRect&, bool)
 {
-    GdkRectangle rect = windowRect;
+    notImplemented();
+}
+
+void ChromeClient::invalidateWindow(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClient::invalidateContentsAndWindow(const IntRect& updateRect, bool immediate)
+{
+    GdkRectangle rect = updateRect;
     GdkWindow* window = GTK_WIDGET(m_webView)->window;
 
     if (window) {
-        if (contentChanged)
-            gdk_window_invalidate_rect(window, &rect, FALSE);
+        gdk_window_invalidate_rect(window, &rect, FALSE);
         // We don't currently do immediate updates since they delay other UI elements.
         //if (immediate)
         //    gdk_window_process_updates(window, FALSE);
     }
 }
 
+void ChromeClient::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
+{
+    invalidateContentsAndWindow(updateRect, immediate);
+}
+
 void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, const IntRect& clipRect)
 {
     GdkWindow* window = GTK_WIDGET(m_webView)->window;
diff --git a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
index 6139b3a..503f66f 100644
--- a/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
+++ b/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
@@ -87,8 +87,12 @@ namespace WebKit {
 
         virtual WebCore::IntRect windowResizerRect() const;
 
-        virtual void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
+        virtual void invalidateContents(const WebCore::IntRect&, bool);
+        virtual void invalidateWindow(const WebCore::IntRect&, bool);
+        virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+        virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
         virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);
+
         virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const;
         virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const;
         virtual PlatformPageClient platformPageClient() const;
diff --git a/WebKit/haiku/ChangeLog b/WebKit/haiku/ChangeLog
index 4c37bae..0b57a59 100644
--- a/WebKit/haiku/ChangeLog
+++ b/WebKit/haiku/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the haiku port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * WebCoreSupport/ChromeClientHaiku.cpp:
+        (WebCore::ChromeClientHaiku::invalidateContents):
+        (WebCore::ChromeClientHaiku::invalidateWindow):
+        (WebCore::ChromeClientHaiku::invalidateContentsAndWindow):
+        (WebCore::ChromeClient::invalidateContentsForSlowScroll):
+        * WebCoreSupport/ChromeClientHaiku.h:
+
 2010-02-23  Steve Block  <steveblock at google.com>
 
         Reviewed by Darin Adler.
diff --git a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
index a7f1145..cd8f1f4 100644
--- a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
+++ b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.cpp
@@ -253,7 +253,22 @@ IntRect ChromeClientHaiku::windowResizerRect() const
     return IntRect();
 }
 
-void ChromeClientHaiku::repaint(const IntRect&, bool contentChanged, bool immediate, bool repaintContentOnly)
+void ChromeClientHaiku::invalidateContents(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientHaiku::invalidateWindow(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientHaiku::invalidateContentsAndWindow(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientHaiku::invalidateContentsForSlowScroll(const IntRect&, bool)
 {
     notImplemented();
 }
diff --git a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
index 3d77459..990f3f0 100644
--- a/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
+++ b/WebKit/haiku/WebCoreSupport/ChromeClientHaiku.h
@@ -102,8 +102,12 @@ namespace WebCore {
         bool tabsToLinks() const;
         IntRect windowResizerRect() const;
 
-        void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
+        void invalidateContents(const IntRect&, bool);
+        void invalidateWindow(const IntRect&, bool);
+        void invalidateContentsAndWindow(const IntRect&, bool);
+        void invalidateContentsForSlowScroll(const IntRect&, bool);
         void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
+
         IntPoint screenToWindow(const IntPoint&) const;
         IntRect windowToScreen(const IntRect&) const;
         PlatformPageClient platformPageClient() const;
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index fbb55d2..6746529 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the mac port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * WebCoreSupport/WebChromeClient.h:
+        * WebCoreSupport/WebChromeClient.mm:
+        (WebChromeClient::invalidateContents):
+        (WebChromeClient::invalidateWindow):
+        (WebChromeClient::invalidateContentsAndWindow):
+        (WebChromeClient::invalidateContentsForSlowScroll):
+
 2010-03-08  Jian Li  <jianli at chromium.org>
 
         Reviewed by Dmitry Titov.
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.h b/WebKit/mac/WebCoreSupport/WebChromeClient.h
index c8da53b..85267d5 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.h
@@ -91,8 +91,12 @@ public:
     
     virtual WebCore::IntRect windowResizerRect() const;
 
-    virtual void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
+    virtual void invalidateContents(const WebCore::IntRect&, bool);
+    virtual void invalidateWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
     virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);
+
     virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const;
     virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const;
     virtual PlatformPageClient platformPageClient() const;
diff --git a/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index b2240d9..da6c15c 100644
--- a/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -439,20 +439,36 @@ IntRect WebChromeClient::windowResizerRect() const
     return enclosingIntRect([m_webView convertRect:rect fromView:nil]);
 }
 
-void WebChromeClient::repaint(const IntRect& rect, bool contentChanged, bool immediate, bool repaintContentOnly)
+void WebChromeClient::invalidateContents(const IntRect&, bool)
+{
+}
+
+void WebChromeClient::invalidateWindow(const IntRect&, bool immediate)
+{
+    if (immediate) {
+        [[m_webView window] displayIfNeeded];
+        [[m_webView window] flushWindowIfNeeded];
+    }
+}
+
+void WebChromeClient::invalidateContentsAndWindow(const IntRect& rect, bool immediate)
 {
     if ([m_webView _usesDocumentViews])
         return;
-    
-    if (contentChanged)
-        [m_webView setNeedsDisplayInRect:rect];
-    
+
+    [m_webView setNeedsDisplayInRect:rect];
+
     if (immediate) {
         [[m_webView window] displayIfNeeded];
         [[m_webView window] flushWindowIfNeeded];
     }
 }
 
+void WebChromeClient::invalidateContentsForSlowScroll(const IntRect& rect, bool immediate)
+{
+    invalidateContentsAndWindow(rect, immediate);
+}
+
 void WebChromeClient::scroll(const IntSize&, const IntRect&, const IntRect&)
 {
 }
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index 8f55798..b4ccf49 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the qt port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * WebCoreSupport/ChromeClientQt.cpp:
+        (WebCore::ChromeClientQt::invalidateContents):
+        (WebCore::ChromeClientQt::invalidateWindow):
+        (WebCore::ChromeClientQt::invalidateContentsAndWindow):
+        (WebCore::ChromeClientQt::invalidateContentsForSlowScroll):
+        * WebCoreSupport/ChromeClientQt.h:
+
 2010-03-08  Eric Uhrhane  <ericu at chromium.org>
 
         Reviewed by David Levin.
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index ecbabe4..6f682c3 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -327,23 +327,36 @@ IntRect ChromeClientQt::windowResizerRect() const
     return IntRect();
 }
 
-void ChromeClientQt::repaint(const IntRect& windowRect, bool contentChanged, bool, bool)
+void ChromeClientQt::invalidateContents(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientQt::invalidateWindow(const IntRect&, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientQt::invalidateContentsAndWindow(const IntRect& windowRect, bool immediate)
 {
     // No double buffer, so only update the QWidget if content changed.
-    if (contentChanged) {
-        if (platformPageClient()) {
-            QRect rect(windowRect);
-            rect = rect.intersected(QRect(QPoint(0, 0), m_webPage->viewportSize()));
-            if (!rect.isEmpty())
-                platformPageClient()->update(rect);
-        }
-        emit m_webPage->repaintRequested(windowRect);
+    if (platformPageClient()) {
+        QRect rect(windowRect);
+        rect = rect.intersected(QRect(QPoint(0, 0), m_webPage->viewportSize()));
+        if (!rect.isEmpty())
+            platformPageClient()->update(rect);
     }
+    emit m_webPage->repaintRequested(windowRect);
 
     // FIXME: There is no "immediate" support for window painting.  This should be done always whenever the flag
     // is set.
 }
 
+void ChromeClientQt::invalidateContentsForSlowScroll(const IntRect& windowRect, bool immediate)
+{
+    invalidateContentsAndWindow(windowRect, immediate);
+}
+
 void ChromeClientQt::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect&)
 {
     if (platformPageClient())
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index da3da59..cb8a996 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -105,8 +105,12 @@ namespace WebCore {
         virtual bool tabsToLinks() const;
         virtual IntRect windowResizerRect() const;
 
-        virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
+        virtual void invalidateContents(const IntRect&, bool);
+        virtual void invalidateWindow(const IntRect&, bool);
+        virtual void invalidateContentsAndWindow(const IntRect&, bool);
+        virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
         virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
+
         virtual IntPoint screenToWindow(const IntPoint&) const;
         virtual IntRect windowToScreen(const IntRect&) const;
         virtual PlatformPageClient platformPageClient() const;
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index d5fdcfc..fc370a3 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the win port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * WebCoreSupport/WebChromeClient.cpp:
+        (WebChromeClient::invalidateContents):
+        (WebChromeClient::invalidateWindow):
+        (WebChromeClient::invalidateContentsAndWindow):
+        (WebChromeClient::invalidateContentsForSlowScroll):
+        * WebCoreSupport/WebChromeClient.h:
+
 2010-03-08  Daniel Bates  <dbates at rim.com>
 
         Unreviewed, build fix.
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
index d32b6ce..7618a9e 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.cpp
@@ -454,10 +454,28 @@ IntRect WebChromeClient::windowResizerRect() const
     return IntRect();
 }
 
-void WebChromeClient::repaint(const IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly)
+void WebChromeClient::invalidateContents(const IntRect&, bool)
 {
     ASSERT(core(m_webView->topLevelFrame()));
-    m_webView->repaint(windowRect, contentChanged, immediate, repaintContentOnly);
+    m_webView->repaint(windowRect, true /*contentChanged*/, false /*immediate*/, true /*repaintContentOnly*/);
+}
+
+void WebChromeClient::invalidateWindow(const IntRect& windowRect, bool immediate)
+{
+    ASSERT(core(m_webView->topLevelFrame()));
+    m_webView->repaint(windowRect, false /*contentChanged*/, immediate, false /*repaintContentOnly*/);
+}
+
+void WebChromeClient::invalidateContentsAndWindow(const IntRect& windowRect, bool immediate)
+{
+    ASSERT(core(m_webView->topLevelFrame()));
+    m_webView->repaint(windowRect, true /*contentChanged*/, immediate /*immediate*/, false /*repaintContentOnly*/);
+}
+
+void WebChromeClient::invalidateContentsForSlowScroll(const IntRect& windowRect, bool immediate)
+{
+    ASSERT(core(m_webView->topLevelFrame()));
+    m_webView->repaint(windowRect, true /*contentChanged*/, immediate, true /*repaintContentOnly*/);
 }
 
 void WebChromeClient::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect& clipRect)
diff --git a/WebKit/win/WebCoreSupport/WebChromeClient.h b/WebKit/win/WebCoreSupport/WebChromeClient.h
index f713ac7..9510fc4 100644
--- a/WebKit/win/WebCoreSupport/WebChromeClient.h
+++ b/WebKit/win/WebCoreSupport/WebChromeClient.h
@@ -93,8 +93,12 @@ public:
     virtual bool tabsToLinks() const;
     virtual WebCore::IntRect windowResizerRect() const;
 
-    virtual void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
+    virtual void invalidateContents(const WebCore::IntRect&, bool);
+    virtual void invalidateWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+    virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
     virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);
+
     virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint& p) const;
     virtual WebCore::IntRect windowToScreen(const WebCore::IntRect& r) const;
     virtual PlatformPageClient platformPageClient() const;
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 671a02d..4ac7609 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-02  Adam Treat  <atreat at rim.com>
+
+        Reviewed by Dave Hyatt.
+
+        Adapt the wx port to the refactoring of repaint methods.
+
+        https://bugs.webkit.org/show_bug.cgi?id=34214
+
+        * WebKitSupport/ChromeClientWx.cpp:
+        (WebCore::ChromeClientWx::invalidateContents):
+        (WebCore::ChromeClientWx::invalidateWindow):
+        (WebCore::ChromeClientWx::invalidateContentsForSlowScroll):
+        (WebCore::ChromeClientWx::invalidateContentsAndWindow):
+        * WebKitSupport/ChromeClientWx.h:
+
 2010-03-01  Jakob Petsovits  <jpetsovits at rim.com>
 
         Reviewed by Adam Barth.
diff --git a/WebKit/wx/WebKitSupport/ChromeClientWx.cpp b/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
index ac25daf..94b01c9 100644
--- a/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
+++ b/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
@@ -336,14 +336,29 @@ IntRect ChromeClientWx::windowResizerRect() const
     return IntRect();
 }
 
-void ChromeClientWx::repaint(const IntRect& rect, bool contentChanged, bool immediate, bool repaintContentOnly)
+void ChromeClientWx::invalidateContents(const IntRect& rect, bool)
+{
+    notImplemented();
+}
+
+void ChromeClientWx::invalidateWindow(const IntRect& rect, bool immediate)
+{
+    if (immediate)
+        m_webView->Update();
+}
+
+void ChromeClientWx::invalidateContentsForSlowScroll(const IntRect& rect, bool immediate)
+{
+    invalidateContentsAndWindow(rect, immediate);
+}
+
+void ChromeClientWx::invalidateContentsAndWindow(const IntRect& rect, bool immediate)
 {
     if (!m_webView)
         return;
-    
-    if (contentChanged)
-        m_webView->RefreshRect(rect);
-    
+
+    m_webView->RefreshRect(rect);
+
     if (immediate) {
         m_webView->Update();
     }
diff --git a/WebKit/wx/WebKitSupport/ChromeClientWx.h b/WebKit/wx/WebKitSupport/ChromeClientWx.h
index 3bf9202..c670f99 100644
--- a/WebKit/wx/WebKitSupport/ChromeClientWx.h
+++ b/WebKit/wx/WebKitSupport/ChromeClientWx.h
@@ -102,8 +102,12 @@ public:
     virtual void scrollBackingStore(int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect);
     virtual void updateBackingStore();
     
-    virtual void repaint(const IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
+    virtual void invalidateContents(const IntRect&, bool);
+    virtual void invalidateWindow(const IntRect&, bool);
+    virtual void invalidateContentsAndWindow(const IntRect&, bool);
+    virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
     virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
+
     virtual IntPoint screenToWindow(const IntPoint&) const;
     virtual IntRect windowToScreen(const IntRect&) const;
     virtual PlatformPageClient platformPageClient() const;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list