WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
101918
[Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=101918
Summary
[Qt] REGRESSION(134142): overscaled tiles in pixel test results and MiniBrowser
Balazs Kelemen
Reported
2012-11-12 03:16:27 PST
We have issues with that before (
bug 76546
), and we workarounded the problem by forcing the resize via QWindowSystemInterface. The assumption was that if we have an actual platform window it should work without the workaround but it seems like that's not the case. I'm not sure where is the bug but going through QWindowSystemInterface solves it.
Attachments
Patch
(2.35 KB, patch)
2012-11-12 04:57 PST
,
Balazs Kelemen
no flags
Details
Formatted Diff
Diff
Patch
(20.92 KB, patch)
2012-11-12 19:18 PST
,
Dongseong Hwang
no flags
Details
Formatted Diff
Diff
Patch
(22.64 KB, patch)
2012-11-12 21:44 PST
,
Dongseong Hwang
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Balazs Kelemen
Comment 1
2012-11-12 04:57:10 PST
Created
attachment 173622
[details]
Patch
Balazs Kelemen
Comment 2
2012-11-12 07:33:43 PST
Comment on
attachment 173622
[details]
Patch Although it fixes some tests there are still too many failures.
Balazs Kelemen
Comment 3
2012-11-12 08:15:43 PST
History of pixel bot and bisecting shows it went wrong in
http://trac.webkit.org/changeset/134142
. Please, take a look. The visual effect is that the content is compressed by the x-axis (however it is ok in MiniBrowser).
Balazs Kelemen
Comment 4
2012-11-12 12:09:33 PST
It also shown in MiniBrowser, when loading some non-trivial page the tiles are overscaled at first. Scrolling fixes them.
Noam Rosenthal
Comment 5
2012-11-12 14:11:43 PST
I think that patch needs to be rolled out. It breaks some implicit behavior of tiled backing store.
Dongseong Hwang
Comment 6
2012-11-12 14:24:37 PST
I'm sorry for this regression. Could you tell me what layout tests failed? and What sites show compressed effect? I want to take a look at. I think
r134142
keeps the invariant between TiledBackingStore and CoordinatedTiledBacking, but there maybe invariant breakers related to WebView. IMHO, we can fix it instead of putting workaround.
Dongseong Hwang
Comment 7
2012-11-12 15:20:05 PST
I have looked at it a while, and I found TiledBackingStore::m_rect.size()) and GraphicsLayer::m_size can be different. I think it is timing issue. I keep finding the root of bug.
Dongseong Hwang
Comment 8
2012-11-12 16:20:22 PST
I found the reason of the bug. I made a mistake.
r134142
sends the size of a layer via a CreateTile message from Web Process to UI Process. But even if the layer's size is changed, we do not need to create any tiles. So CoordinatedBackingStore can keep an outdated backing size. And I found other small bugs too. I'll post some patches in separate bugs to fix them. Finally, thanks for reporting this bug!
Dongseong Hwang
Comment 9
2012-11-12 19:18:19 PST
Created
attachment 173795
[details]
Patch
Noam Rosenthal
Comment 10
2012-11-12 20:39:08 PST
Comment on
attachment 173795
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=173795&action=review
Good catch! Some suggestions for improvement inline.
> Source/WebKit2/ChangeLog:16 > + This patch updates the size of CoordinatedBackingStore when receiving an > + UpdateTile or RemoveTile message also, because changing the size of > + GrahpicsLayer causes an UpdateTile or RemoveTile message too.
Some wording improvement: This patch makes sure that we reset the backing store's size to the layer size when UpdateTile or RemoveTile are called.
> Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:428 > +void LayerTreeRenderer::setBackingStoreSize(CoordinatedBackingStore* backingStore, WebLayerID layerID)
This seems somewhat inefficient and verbose, since you call layerByID twice (getBackingStore calls layerByID). How about if we changed the function signature to getBackingStore(GraphicsLayer*) , and then you can have a function resetBackingStoreSizeToLayerSize(GraphicsLayer*)
Dongseong Hwang
Comment 11
2012-11-12 21:44:20 PST
Created
attachment 173816
[details]
Patch
Dongseong Hwang
Comment 12
2012-11-12 21:45:30 PST
(In reply to
comment #10
)
> (From update of
attachment 173795
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=173795&action=review
> > Good catch! > Some suggestions for improvement inline.
Thank you for review!
> > > Source/WebKit2/ChangeLog:16 > > + This patch updates the size of CoordinatedBackingStore when receiving an > > + UpdateTile or RemoveTile message also, because changing the size of > > + GrahpicsLayer causes an UpdateTile or RemoveTile message too. > > Some wording improvement: > This patch makes sure that we reset the backing store's size to the layer size when UpdateTile or RemoveTile are called.
Done.
> > > Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:428 > > +void LayerTreeRenderer::setBackingStoreSize(CoordinatedBackingStore* backingStore, WebLayerID layerID) > > This seems somewhat inefficient and verbose, since you call layerByID twice (getBackingStore calls layerByID). > How about if we changed the function signature to getBackingStore(GraphicsLayer*) , and then you can have a function resetBackingStoreSizeToLayerSize(GraphicsLayer*)
Great idea! Done. I changed removeBackingStoreIfNeeded() as well as getBackingStore() for the same purpose.
Dongseong Hwang
Comment 13
2012-11-12 21:54:33 PST
Comment on
attachment 173816
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=173816&action=review
> Source/WebCore/ChangeLog:6 > + Reviewed by NOBODY (OOPS!).
Oops, sorry. I'll change this next time.
WebKit Review Bot
Comment 14
2012-11-12 23:49:57 PST
Comment on
attachment 173816
[details]
Patch Clearing flags on attachment: 173816 Committed
r134375
: <
http://trac.webkit.org/changeset/134375
>
WebKit Review Bot
Comment 15
2012-11-12 23:50:02 PST
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