Summary: | [EFL][WK2] compositing/layer-creation/fixed-position-out-of-view-scaled.html is flaky | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Chris Dumez <cdumez> | ||||||||
Component: | WebKit BREWMP | Assignee: | Dongseong Hwang <dongseong.hwang> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | cmarcelo, dongseong.hwang, kenneth, luiz, mikhail.pozdnyakov, noam, webkit.review.bot | ||||||||
Priority: | P2 | ||||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Chris Dumez
2013-02-17 12:03:53 PST
oops, thank you for reporting. Created attachment 188779 [details]
Patch
Comment on attachment 188779 [details]
Patch
You are not explaining why it is right to call the below code? Should the assert instead be moved into the if sentence?
(In reply to comment #3) > (From update of attachment 188779 [details]) > You are not explaining why it is right to call the below code? Should the assert instead be moved into the if sentence? Only one client calls TextureMapperLayer::setScrollPositionDeltaIfNeeded(). void CoordinatedGraphicsScene::adjustPositionForFixedLayers() { ... LayerRawPtrMap::iterator end = m_fixedLayers.end(); for (LayerRawPtrMap::iterator it = m_fixedLayers.begin(); it != end; ++it) toTextureMapperLayer(it->value)->setScrollPositionDeltaIfNeeded(delta); } It means CoordinatedGraphicsScene calls setScrollPositionDeltaIfNeeded() if TextureMapperLayer is a fixed layer. So the assertion is correct except for a small moment between updating GraphicsLayer and synchronizing TextureMapperLayer. After Bug 108294, the assertion will be always correct because updating GraphicsLayer and synchronizing TextureMapperLayer will be performed together. Could I explain 'why it is right to call the below code' in changelog? Please unskip the test as well. Created attachment 188835 [details]
Patch
(In reply to comment #5) > Please unskip the test as well. yes. Assertion cannot go into if statement. 'if statement' does not check if this layer is fixed layer. 'if statement' checks if this layer is nested fixed layer. The assertion was created because we wanted to verify setScrollPositionDeltaIfNeeded() must be called when the layer is a fixed position layer. But the time gap between update and flush makes the assumption not always true. I had to skip compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html as well due to the same assertion. (In reply to comment #8) > I had to skip compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html as well due to the same assertion. Ah, thank you :) Created attachment 188841 [details]
Patch
Comment on attachment 188841 [details] Patch Clearing flags on attachment: 188841 Committed r143194: <http://trac.webkit.org/changeset/143194> All reviewed patches have been landed. Closing bug. |