Summary: | Make scrollBackingStore cross-platform. | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dave Hyatt <hyatt> | ||||
Component: | Platform | Assignee: | 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
Dave Hyatt
2008-10-02 12:57:41 PDT
Created attachment 24028 [details]
Patch
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
|