Bug 21314

Summary: Make scrollBackingStore cross-platform.
Product: WebKit Reporter: Dave Hyatt <hyatt>
Component: PlatformAssignee: Dave Hyatt <hyatt>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 21083    
Attachments:
Description Flags
Patch sam: review+

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]
Patch
Comment 2 Sam Weinig 2008-10-02 13:10:30 PDT
Comment on attachment 24028 [details]
Patch

+    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.

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