NEW147627
[CoordinatedGraphics] Fixed position element didn't make the compositing layer in WTR.
https://bugs.webkit.org/show_bug.cgi?id=147627
Summary [CoordinatedGraphics] Fixed position element didn't make the compositing laye...
Hunseop Jeong
Reported 2015-08-04 05:19:07 PDT
compositing/fixed-with-fixed-layout.html failed after r186911 because # 49 line in LayoutTests/compositing/fixed-with-fixed-layout.html if (window.internals) { internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true); 'internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true)' didn't work properly in WTR. CoordinatedGrapihcs set the 'AcceleratedCompositingForFixedPosition' in WebPage::setUseFixedLayout normally. But only 'frameView->setUseFixedLayout()' was invoked in WTR if I use the 'internals.settings.setAcceleratedCompositingForFixedPositionEnabled' in test. So we need to set the AcceleratedCompositingForFixedPositionEnabled in Internals::setUseFixedLayout() to work correctly.
Attachments
Patch (1.70 KB, patch)
2015-08-04 05:27 PDT, Hunseop Jeong
simon.fraser: review-
Hunseop Jeong
Comment 1 2015-08-04 05:27:38 PDT
Csaba Osztrogonác
Comment 2 2015-08-04 07:56:39 PDT
I have some questions about this change: - How does this change affect the layout test results? - Will we have more passing tests? If yes, we should unskip them. - Do we reset this setting to the default between each test?
Simon Fraser (smfr)
Comment 3 2015-08-04 08:37:06 PDT
Comment on attachment 258171 [details] Patch I don't think this makes sense. fixed layout and these two settings should be orthogonal.
Tim Horton
Comment 4 2015-08-04 11:07:06 PDT
(In reply to comment #3) > Comment on attachment 258171 [details] > Patch > > I don't think this makes sense. fixed layout and these two settings should > be orthogonal. Right. This: > CoordinatedGrapihcs set the 'AcceleratedCompositingForFixedPosition' in WebPage::setUseFixedLayout normally. Is totally bizarre and wrong, and needs fixing/deconflating.
Hunseop Jeong
Comment 5 2015-08-04 19:32:11 PDT
(In reply to comment #4) > (In reply to comment #3) > > Comment on attachment 258171 [details] > > Patch > > > > I don't think this makes sense. fixed layout and these two settings should > > be orthogonal. > > Right. > > This: > > > CoordinatedGrapihcs set the 'AcceleratedCompositingForFixedPosition' in WebPage::setUseFixedLayout normally. > > Is totally bizarre and wrong, and needs fixing/deconflating. You mean, 'setAcceleratedCompositingForFixedPositionEnabled' & 'setFixedPositionCreatesStackingContext' isn't related with fixedLayout? Now CoordinatedGraphics turn on these options in WebPage::setUseFixedLayout. On mac, these options was set in RemoteLayerTreeDrawingArea::updatePreferences. Could I separate these options from the fixedLayout?
Hunseop Jeong
Comment 6 2015-08-04 22:02:54 PDT
(In reply to comment #2) > I have some questions about this change: > - How does this change affect the layout test results? This patch can composite the layer for the element that has the fixed position. CoordinatedGraphics didn't composite the fixed position element in WTR. Is it expected result? > - Will we have more passing tests? If yes, we should unskip them. It makes about 30 tests passed, but sadly 200 more tests failed. If compositing the fixed position element is right, we need to rebaseline the expected results. > - Do we reset this setting to the default between each test?
Tim Horton
Comment 7 2015-08-05 11:26:24 PDT
(In reply to comment #5) > (In reply to comment #4) > > (In reply to comment #3) > > > Comment on attachment 258171 [details] > > > Patch > > > > > > I don't think this makes sense. fixed layout and these two settings should > > > be orthogonal. > > > > Right. > > > > This: > > > > > CoordinatedGrapihcs set the 'AcceleratedCompositingForFixedPosition' in WebPage::setUseFixedLayout normally. > > > > Is totally bizarre and wrong, and needs fixing/deconflating. > > You mean, 'setAcceleratedCompositingForFixedPositionEnabled' & > 'setFixedPositionCreatesStackingContext' isn't related with fixedLayout? Yes, that's what I mean. These are totally unrelated settings which the CoordinatedGraphics code for whatever reason conflates. > Now CoordinatedGraphics turn on these options in WebPage::setUseFixedLayout. > On mac, these options was set in > RemoteLayerTreeDrawingArea::updatePreferences. Turning it on in the drawing areas is still a little weird, but a thousand times better than turning it on because another unrelated setting (fixed layout) was turned on. > Could I separate these options from the fixedLayout? Could, and should!
Hunseop Jeong
Comment 8 2015-09-23 22:56:08 PDT
gyuyoung, Do you know the reason that setAcceleratedCompositingForFixedPositionEnabled() and setFixedPositionCreatesStackingContext() was tied with fixedLayout? In mac, set the setting values of FixedPositionCreatesStackingContext() and AcceleratedCompositingForFixedPositionEnabled() in updatePreferences() of the DrawingArea. I think CoordinatedGraphics also need to set the FixedPositionCreatesStackingContext and AcceleratedCompositingForFixedPositionEnabled with true for the fixed position element to composite the layer. If I move the setAcceleratedCompositingForFixedPositionEnabled() and setFixedPositionCreatesStackingContext() from WebPage::setUseFixedLayout() to CoordinatedDrawingArea::updatePreferences(), is it possible to make some problems?
Note You need to log in before you can comment on or make changes to this bug.