The CSSWG resolved to make filter a containing block for all descendants, with a quirk for the root element so that the filter applies to the root document canvas. See: https://github.com/w3c/fxtf-drafts/issues/11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b3427b9c9ef5a9d8b9cad168d4b46979384af90b commit b3427b9c9ef5a9d8b9cad168d4b46979384af90b Author: Vladimir Levin <vmpstr@chromium.org> Date: Tue Jan 23 21:58:26 2018 [CI] Add Container/ContainingBlock distinction for fixed elements. This patch extracts the container/containing block logic for absolute positioned elements into a common function and adds similar functionality for fixed positioned elements. This is a step towards making filtered elements be containing blocks for absolute and fixed positioned elements. This is required since LayoutInlines may be filtered, thus becoming containers but not containing blocks. R=chrishtr@chromium.org, eae@chromium.org Bug: 795549 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I97cb3690f70abf7ebe871bf3644efb2179a9aeda Reviewed-on: https://chromium-review.googlesource.com/879583 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Reviewed-by: Emil A Eklund <eae@chromium.org> Commit-Queue: vmpstr <vmpstr@chromium.org> Cr-Commit-Position: refs/heads/master@{#531364} [modify] https://crrev.com/b3427b9c9ef5a9d8b9cad168d4b46979384af90b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp [modify] https://crrev.com/b3427b9c9ef5a9d8b9cad168d4b46979384af90b/third_party/WebKit/Source/core/layout/LayoutBox.cpp [modify] https://crrev.com/b3427b9c9ef5a9d8b9cad168d4b46979384af90b/third_party/WebKit/Source/core/layout/LayoutObject.cpp [modify] https://crrev.com/b3427b9c9ef5a9d8b9cad168d4b46979384af90b/third_party/WebKit/Source/core/layout/LayoutObject.h [modify] https://crrev.com/b3427b9c9ef5a9d8b9cad168d4b46979384af90b/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp [modify] https://crrev.com/b3427b9c9ef5a9d8b9cad168d4b46979384af90b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
This is on pause pending further resolution of https://github.com/w3c/fxtf-drafts/issues/11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4e791ce5a0876376c2214d1a764dafc193b73a22 commit 4e791ce5a0876376c2214d1a764dafc193b73a22 Author: Vladimir Levin <vmpstr@chromium.org> Date: Mon Jan 29 20:37:04 2018 [FilterContainer] Update the code to handle LayoutInline containers for fixed position. This patch updates several places in the code that assume that LayoutInlines can only contain absolute position elements (and not fixed). This is a step towards making filtered elements be able to contain both absolute and fixed positioned elements. R=chrishtr@chromium.org Bug: 795549 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Idf970e4343646574bd9c53d064f7578a2f09f3a3 Reviewed-on: https://chromium-review.googlesource.com/882187 Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: vmpstr <vmpstr@chromium.org> Cr-Commit-Position: refs/heads/master@{#532572} [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/layout/LayoutBox.cpp [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/layout/LayoutInline.cpp [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/layout/LayoutInline.h [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/layout/LayoutObject.h [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp [modify] https://crrev.com/4e791ce5a0876376c2214d1a764dafc193b73a22/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0ed6098e00804f14107f170e2611807d5fc2c5b6 commit 0ed6098e00804f14107f170e2611807d5fc2c5b6 Author: Chris Harrelson <chrishtr@chromium.org> Date: Sat May 05 20:14:35 2018 [FilterContainer] Add WPT for filter establishes containing block. Based on CL 1033824 This patch adds three tests and test the following: - Filtered block establishes a container for fixed and abs pos. - Filtered inline establishes a container for fixed and abs pos. - Filtered <html> does not establish a container for fixed pos. Bug: 795549 Tbr: vmpstr@chromium.org Change-Id: I3fa13cc7f478503583a191bfb434cdab860862ef Reviewed-on: https://chromium-review.googlesource.com/1045727 Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#556343} [modify] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/TestExpectations [add] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/external/wpt/css/css-filter/filtered-block-is-container-ref.html [add] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/external/wpt/css/css-filter/filtered-block-is-container.html [add] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/external/wpt/css/css-filter/filtered-html-is-not-container-ref.html [add] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/external/wpt/css/css-filter/filtered-html-is-not-container.html [add] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/external/wpt/css/css-filter/filtered-inline-is-container-ref.html [add] https://crrev.com/0ed6098e00804f14107f170e2611807d5fc2c5b6/third_party/WebKit/LayoutTests/external/wpt/css/css-filter/filtered-inline-is-container.html
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c commit ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c Author: Chris Harrelson <chrishtr@chromium.org> Date: Tue May 08 01:30:19 2018 [SP] Make filtered elements containers for out of flow positioned elements Based on CL 881838. This patch makes filtered elements establish a container for descendant elements. See I2S: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/RthtuwyYT_M Bug: 795549 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Ic70e27d0a33fea1851bed9786fa243ecb41d1f55 Reviewed-on: https://chromium-review.googlesource.com/1045624 Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Reviewed-by: Morten Stenshorne <mstensho@chromium.org> Cr-Commit-Position: refs/heads/master@{#556634} [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/css3/filters/blur-filter-page-scroll-expected.png [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/css3/filters/blur-filter-page-scroll-expected.txt [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/css3/filters/blur-filter-page-scroll-parents-expected.png [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/css3/filters/blur-filter-page-scroll-parents-expected.txt [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/css3/filters/feoffset-region-zoom-expected.html [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/css3/filters/feoffset-region-zoom.html [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/filters/filter-invalidation-positioned-child-expected.txt [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/paint/invalidation/filters/filter-invalidation-positioned-child-expected.txt [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/WebKit/LayoutTests/virtual/disable-spv175/paint/invalidation/filters/filter-invalidation-positioned-child-expected.txt [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/layout_block.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/layout_box_model_object.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/layout_inline.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/layout_object.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/layout_state.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/layout_table_box_component.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/layout/ng/inline/ng_inline_item.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/paint/paint_property_tree_builder.h [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc [modify] https://crrev.com/ecde43d3de87b7ad6b15be5677ad5f0ac53aad2c/third_party/blink/renderer/core/style/computed_style.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1505871b55572e4a4766869b64de14dce7d812d3 commit 1505871b55572e4a4766869b64de14dce7d812d3 Author: Chris Harrelson <chrishtr@chromium.org> Date: Wed May 16 13:38:27 2018 Mark two filter-as-containing-block tests as passing. Bug:795549 Change-Id: If7c933158b924800515cd09837ed16537adc8b45 Reviewed-on: https://chromium-review.googlesource.com/1060607 Commit-Queue: Stephen Chenney <schenney@chromium.org> Reviewed-by: Stephen Chenney <schenney@chromium.org> Cr-Commit-Position: refs/heads/master@{#559066} [modify] https://crrev.com/1505871b55572e4a4766869b64de14dce7d812d3/third_party/WebKit/LayoutTests/TestExpectations
Comment 1 by chrishtr@chromium.org
, Jan 18 2018Owner: vmp...@chromium.org