WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
85488
TiledBackingStore: Don't intersect invalidated rects with the keep rect
https://bugs.webkit.org/show_bug.cgi?id=85488
Summary
TiledBackingStore: Don't intersect invalidated rects with the keep rect
Jocelyn Turcotte
Reported
2012-05-03 06:05:37 PDT
TiledBackingStore: Don't intersect invalidated rects with the keep rect
Attachments
Patch
(1.87 KB, patch)
2012-05-03 06:08 PDT
,
Jocelyn Turcotte
no flags
Details
Formatted Diff
Diff
Patch
(2.68 KB, patch)
2012-05-11 07:01 PDT
,
Jocelyn Turcotte
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Jocelyn Turcotte
Comment 1
2012-05-03 06:08:56 PDT
Created
attachment 139996
[details]
Patch
Kenneth Rohde Christiansen
Comment 2
2012-05-03 06:19:58 PDT
Comment on
attachment 139996
[details]
Patch Add a comment?
zalan
Comment 3
2012-05-03 06:20:32 PDT
just stumbled upon this and here is my educated review: user scroll -> user scrolls in the changelog. looks good otherwise. :)
Jocelyn Turcotte
Comment 4
2012-05-03 06:35:54 PDT
(In reply to
comment #2
)
> (From update of
attachment 139996
[details]
) > Add a comment?
Will do. It can be reproduced with the current multiplier on qt.nokia.com: - Click on "Qt Creator 2.4.1" This will change page and move the viewport down to the anchor just enough so that the first row of tiles intersects the keep rect. - Press back This will invalidate all tiles and bring the viewport back to the top.
Jocelyn Turcotte
Comment 5
2012-05-11 07:01:39 PDT
Created
attachment 141410
[details]
Patch This patch would cause costly iterations if a layer is scaled down considerably. Updated to iterate tiles on the intesected rect like before, but mark them dirty using the full dirtyRect.
Kenneth Rohde Christiansen
Comment 6
2012-05-11 09:51:19 PDT
Comment on
attachment 141410
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=141410&action=review
> Source/WebCore/platform/graphics/TiledBackingStore.cpp:92 > - IntRect dirtyRect(intersection(mapFromContents(contentsDirtyRect), m_keepRect)); > + IntRect dirtyRect(mapFromContents(contentsDirtyRect)); > > - Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location()); > - Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect)); > + // Only iterate on the part of the rect that we know we might have tiles. > + IntRect coveredDirtyRect = intersection(dirtyRect, m_keepRect); > + Tile::Coordinate topLeft = tileCoordinateForPoint(coveredDirtyRect.location()); > + Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(coveredDirtyRect));
I dont see the difference here: coveredDirtyRect seems to be the exact same as the old dirtyRect.
Jocelyn Turcotte
Comment 7
2012-05-11 10:14:19 PDT
(In reply to
comment #6
)
> I dont see the difference here: > > coveredDirtyRect seems to be the exact same as the old dirtyRect.
coveredDirtyRect is intersected with m_keepRect and dirtyRect isn't. It is exactly as the old dirtyRect, it's dirtyRect that changed.
Kenneth Rohde Christiansen
Comment 8
2012-05-11 12:33:39 PDT
Comment on
attachment 141410
[details]
Patch Ah got it now... I wonder if that could be made more clear, but I guess not.
WebKit Review Bot
Comment 9
2012-05-14 06:06:18 PDT
Comment on
attachment 141410
[details]
Patch Clearing flags on attachment: 141410 Committed
r116938
: <
http://trac.webkit.org/changeset/116938
>
WebKit Review Bot
Comment 10
2012-05-14 06:06:23 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug