Bug 21314 - Make scrollBackingStore cross-platform.
Summary: Make scrollBackingStore cross-platform.
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Dave Hyatt
Depends on:
Blocks: 21083
  Show dependency treegraph
Reported: 2008-10-02 12:57 PDT by Dave Hyatt
Modified: 2008-10-02 13:17 PDT (History)
0 users

See Also:

Patch (38.46 KB, patch)
2008-10-02 12:58 PDT, Dave Hyatt
sam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Hyatt 2008-10-02 12:57:41 PDT
Make scrollBackingStore cross-platform.
Comment 1 Dave Hyatt 2008-10-02 12:58:37 PDT
Created attachment 24028 [details]
Comment 2 Sam Weinig 2008-10-02 13:10:30 PDT
Comment on attachment 24028 [details]

+    virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) { }
There should not be the "= false"

+    if (canBlitOnScroll()) // The main frame can just blit the WebView window
+       // FIXME: Find a way to blit subframes without blitting overlapping content
+       hostWindow()->scroll(-scrollDelta, scrollViewRect, clipRect);
+    else 
+       // We need to go ahead and repaint the entire backing store.  Do it now before moving the
+       // plugins.
+       hostWindow()->repaint(updateRect, true, false, true); // Invalidate the backing store and repaint it synchronously
This if-else needs braces as the statements + comments are more than 1 line.

Comment 3 Dave Hyatt 2008-10-02 13:17:25 PDT
Fixed in r37204.