|
|
DescriptionInvalidate subsequence caching & empty paint phases if clips changed relative
to the containing transformed, root or paint invalidation container.
Subsequence caching & empty paint phase optimizations need to be invalidated if
any ancestor clips updated, since those clips are used to:
a. Adjust painted output (SPInvalidation only, not SPv2), and
b. Cull out invisible content (SPInvalidation and SPv2)
Previously, we detected that by computing clip rects during paint. This CL
moves it to the pre-paint tree walk.
BUG=683733
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
patch from issue 2654643002 at patchset 120001 (http://crrev.com/2654643002#ps120001)
Review-Url: https://codereview.chromium.org/2668823002
Cr-Commit-Position: refs/heads/master@{#448147}
Committed: https://chromium.googlesource.com/chromium/src/+/4fa3275a1ee7439fb7057ac2d9986c15c9a2e396
Patch Set 1 #Patch Set 2 : none #Patch Set 3 : none #Patch Set 4 : none #Patch Set 5 : none #Patch Set 6 : none #Patch Set 7 : none #
Total comments: 5
Patch Set 8 : none #Patch Set 9 : none #
Messages
Total messages: 36 (28 generated)
The CQ bit was checked by chrishtr@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by chrishtr@chromium.org
The CQ bit was checked by chrishtr@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...) linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by chrishtr@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
The CQ bit was checked by chrishtr@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Invalidate subsequence caching & empty paint phases if clips changed. Subsequence caching & empty paint phase optimizations need to be invalidated i any ancestor clips updated, since those clips are used to: a. Adjust painted output (SPInvalidation only, not SPv2), and b. Cull out invisible content (SPInvalidation and SPv2) Previously, we detected that by computing clip rects during paint. This CL moves it to the pre-paint tree walk. The CL does not yet work for SPv2, because it does not include computation of the enclosing transformed ancestor, which will be the SPv2 analogue of paintInvalidationContainer. BUG=683733 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 patch from issue 2654643002 at patchset 120001 (http://crrev.com/2654643002#ps120001) ========== to ========== Invalidate subsequence caching & empty paint phases if clips changed relative to the containing transformed, root or paint invalidation container. Subsequence caching & empty paint phase optimizations need to be invalidated if any ancestor clips updated, since those clips are used to: a. Adjust painted output (SPInvalidation only, not SPv2), and b. Cull out invisible content (SPInvalidation and SPv2) Previously, we detected that by computing clip rects during paint. This CL moves it to the pre-paint tree walk. BUG=683733 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 patch from issue 2654643002 at patchset 120001 (http://crrev.com/2654643002#ps120001) ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...)
The CQ bit was checked by chrishtr@chromium.org to run a CQ dry run
chrishtr@chromium.org changed reviewers: + pdr@chromium.org, wangxianzhu@chromium.org
https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:114: LayoutRect localRect(LayoutRect::infiniteIntRect()); I do have a plan to fix this in a followup. It involves a more core change to GeometryMapper and affects other use-cases, so it should be in a different patch.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...)
lgtm https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:59: // boundaries. Nit: one line. https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:126: if (!object.hasLayer() || !object.isBoxModelObject()) Nit: !object.isBoxModelObject() seems not necessary.
The CQ bit was checked by chrishtr@chromium.org
I also had to inline the leastCommonAncestor method into GeometryMapper.h, because in some more obscure build configurations, platform links differently than core and it couldn't resolve the symbols. https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... File third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp (right): https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:59: // boundaries. On 2017/02/02 at 17:36:11, Xianzhu wrote: > Nit: one line. Done. https://codereview.chromium.org/2668823002/diff/120001/third_party/WebKit/Sou... third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:126: if (!object.hasLayer() || !object.isBoxModelObject()) On 2017/02/02 at 17:36:11, Xianzhu wrote: > Nit: !object.isBoxModelObject() seems not necessary. Done.
The patchset sent to the CQ was uploaded after l-g-t-m from wangxianzhu@chromium.org Link to the patchset: https://codereview.chromium.org/2668823002/#ps140001 (title: "none")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
Gave up on the templates and inlined a simple ancestor function.
The CQ bit was checked by chrishtr@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from wangxianzhu@chromium.org Link to the patchset: https://codereview.chromium.org/2668823002/#ps160001 (title: "none")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 160001, "attempt_start_ts": 1486168244330900, "parent_rev": "60a89522e5531658fd4c50ad01074059f58d91ab", "commit_rev": "4fa3275a1ee7439fb7057ac2d9986c15c9a2e396"}
Message was sent while issue was closed.
Description was changed from ========== Invalidate subsequence caching & empty paint phases if clips changed relative to the containing transformed, root or paint invalidation container. Subsequence caching & empty paint phase optimizations need to be invalidated if any ancestor clips updated, since those clips are used to: a. Adjust painted output (SPInvalidation only, not SPv2), and b. Cull out invisible content (SPInvalidation and SPv2) Previously, we detected that by computing clip rects during paint. This CL moves it to the pre-paint tree walk. BUG=683733 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 patch from issue 2654643002 at patchset 120001 (http://crrev.com/2654643002#ps120001) ========== to ========== Invalidate subsequence caching & empty paint phases if clips changed relative to the containing transformed, root or paint invalidation container. Subsequence caching & empty paint phase optimizations need to be invalidated if any ancestor clips updated, since those clips are used to: a. Adjust painted output (SPInvalidation only, not SPv2), and b. Cull out invisible content (SPInvalidation and SPv2) Previously, we detected that by computing clip rects during paint. This CL moves it to the pre-paint tree walk. BUG=683733 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 patch from issue 2654643002 at patchset 120001 (http://crrev.com/2654643002#ps120001) Review-Url: https://codereview.chromium.org/2668823002 Cr-Commit-Position: refs/heads/master@{#448147} Committed: https://chromium.googlesource.com/chromium/src/+/4fa3275a1ee7439fb7057ac2d998... ==========
Message was sent while issue was closed.
Committed patchset #9 (id:160001) as https://chromium.googlesource.com/chromium/src/+/4fa3275a1ee7439fb7057ac2d998... |