Bug 120457

Summary: [CSS Regions] The layers from the flow thread should be collected under the regions' layers.
Product: WebKit Reporter: Mihai Maerean <mmaerean>
Component: WebCore Misc.Assignee: Mihai Maerean <mmaerean>
Status: RESOLVED FIXED    
Severity: Normal CC: achicu, buildbot, commit-queue, eflews.bot, eric.carlson, esprehn+autocc, glenn, gtk-ews, gyuyoung.kim, hyatt, jer.noble, kondapallykalyan, philn, rniwa, simon.fraser, WebkitBugTracker, xan.lopez
Priority: P2 Keywords: AdobeTracked
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 121965    
Bug Blocks: 84900, 123100, 123101    
Attachments:
Description Flags
patch
none
patch that fixes the failing test
eflews.bot: commit-queue-
patch that fixes the failing test
gtk-ews: commit-queue-
patch that fixes the failing test
eflews.bot: commit-queue-
patch that fixes the failing test. the inline keyword was causing the build to fail. none

Description Mihai Maerean 2013-08-29 01:53:59 PDT
Collect regions' layers inside a RenderFlowThread
Comment 1 Mihai Maerean 2013-09-24 06:19:59 PDT
Created attachment 212459 [details]
patch
Comment 2 Dave Hyatt 2013-09-25 14:26:51 PDT
Comment on attachment 212459 [details]
patch

r=me
Comment 3 WebKit Commit Bot 2013-09-26 01:19:43 PDT
Comment on attachment 212459 [details]
patch

Clearing flags on attachment: 212459

Committed r156451: <http://trac.webkit.org/changeset/156451>
Comment 4 WebKit Commit Bot 2013-09-26 01:19:46 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 WebKit Commit Bot 2013-09-26 11:03:44 PDT
Re-opened since this is blocked by bug 121965
Comment 6 Alexey Proskuryakov 2013-09-26 11:35:06 PDT
This broke a number of tests, see <http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r156451%20(12916)/results.html> (except for global constructor failures, which are unrelated).
Comment 7 Mihai Maerean 2013-10-18 09:19:23 PDT
Created attachment 214579 [details]
patch that fixes the failing test

This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.

Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
parent renderer, not in the region renderer (RenderNamedFlowFragment).
Comment 8 EFL EWS Bot 2013-10-18 09:25:23 PDT
Comment on attachment 214579 [details]
patch that fixes the failing test

Attachment 214579 [details] did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/5378049
Comment 9 kov's GTK+ EWS bot 2013-10-18 09:29:03 PDT
Comment on attachment 214579 [details]
patch that fixes the failing test

Attachment 214579 [details] did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.appspot.com/results/5378052
Comment 10 kov's GTK+ EWS bot 2013-10-18 09:31:52 PDT
Comment on attachment 214579 [details]
patch that fixes the failing test

Attachment 214579 [details] did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/5408070
Comment 11 Mihai Maerean 2013-10-18 09:46:36 PDT
Created attachment 214583 [details]
patch that fixes the failing test

This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.

Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
parent renderer, not in the region renderer (RenderNamedFlowFragment).
Comment 12 kov's GTK+ EWS bot 2013-10-18 10:03:38 PDT
Comment on attachment 214583 [details]
patch that fixes the failing test

Attachment 214583 [details] did not pass gtk-wk2-ews (gtk-wk2):
Output: http://webkit-queues.appspot.com/results/5208016
Comment 13 EFL EWS Bot 2013-10-18 10:04:18 PDT
Comment on attachment 214583 [details]
patch that fixes the failing test

Attachment 214583 [details] did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/5238015
Comment 14 Build Bot 2013-10-18 10:16:46 PDT
Comment on attachment 214583 [details]
patch that fixes the failing test

Attachment 214583 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5288024
Comment 15 Build Bot 2013-10-18 10:35:46 PDT
Comment on attachment 214583 [details]
patch that fixes the failing test

Attachment 214583 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5308025
Comment 16 kov's GTK+ EWS bot 2013-10-18 10:36:20 PDT
Comment on attachment 214583 [details]
patch that fixes the failing test

Attachment 214583 [details] did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/5288029
Comment 17 Mihai Maerean 2013-10-19 21:54:20 PDT
Created attachment 214691 [details]
patch that fixes the failing test

This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.

Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
parent renderer, not in the region renderer (RenderNamedFlowFragment).
Comment 18 EFL EWS Bot 2013-10-19 21:59:45 PDT
Comment on attachment 214691 [details]
patch that fixes the failing test

Attachment 214691 [details] did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/6148039
Comment 19 Build Bot 2013-10-19 22:18:51 PDT
Comment on attachment 214691 [details]
patch that fixes the failing test

Attachment 214691 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6608039
Comment 20 Build Bot 2013-10-19 22:39:29 PDT
Comment on attachment 214691 [details]
patch that fixes the failing test

Attachment 214691 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4548118
Comment 21 kov's GTK+ EWS bot 2013-10-19 23:00:25 PDT
Comment on attachment 214691 [details]
patch that fixes the failing test

Attachment 214691 [details] did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/6598048
Comment 22 Mihai Maerean 2013-10-19 23:47:04 PDT
Created attachment 214693 [details]
patch that fixes the failing test. the inline keyword was causing the build to fail.

This patch has landed before (as http://trac.webkit.org/changeset/156451), but was reverted because
fast/multicol/mixed-positioning-stacking-order.html failed. The fix is inside RenderLayerCompositor::canBeComposited
that only enables compositing for layers inside flow threads that collect the graphics layers under the regions.

Another change from changeset #156451 is that now the region renderers are created as anonymous renderers under
the element that has the flow-from property. When a composited layer is needed for the region, it sits in it's
parent renderer, not in the region renderer (RenderNamedFlowFragment).
Comment 23 Dave Hyatt 2013-10-21 12:12:40 PDT
Comment on attachment 214693 [details]
patch that fixes the failing test. the inline keyword was causing the build to fail.

r=me
Comment 24 WebKit Commit Bot 2013-10-21 12:36:51 PDT
Comment on attachment 214693 [details]
patch that fixes the failing test. the inline keyword was causing the build to fail.

Clearing flags on attachment: 214693

Committed r157725: <http://trac.webkit.org/changeset/157725>
Comment 25 WebKit Commit Bot 2013-10-21 12:36:56 PDT
All reviewed patches have been landed.  Closing bug.
Comment 26 Simon Fraser (smfr) 2013-10-22 18:00:54 PDT
A test added in this commit is failing on the bots: bug 123193
Comment 27 Alexey Proskuryakov 2013-10-23 14:07:52 PDT
Another layout tests from this patch is still flakily failing on Mac. Filed bug 123220.
Comment 28 Alexey Proskuryakov 2013-10-24 11:57:32 PDT
And another, bug 123282.
Comment 29 Simon Fraser (smfr) 2013-10-24 12:26:28 PDT
You should avoid using <video> in layout tests if possible. Doing so always contributes to flakey tests.
Comment 30 Mihai Maerean 2013-10-24 12:59:21 PDT
(In reply to comment #29)
> You should avoid using <video> in layout tests if possible. Doing so always contributes to flakey tests.

true.
tests use events and timers to make sure the 1st frame gets rendered. but still it doesn't work all the time.
but you just have to use <video> in a patch for accelerated compositing.
plus, the use case of video in regions is what got us into investigating accelerated compositing.