New issue
Advanced search Search tips

Issue 813439 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

Styles not fully updated for some elements.

Project Member Reported by chrishtr@chromium.org, Feb 18 2018

Issue description

Load third_party/WebKit/LayoutTests/paint/masks/option-select-mask-crash.html

The stacking context for the <option> element is not computed because
Element::RecalcShadowIncludingDescendantStylesForReattach has an early
out if HasCustomStyleCallbacks() returns true, which means that
Element::RecalcDescendantStylesForReattach() is never called for children.

See also  issue 813348 
 
Labels: -Pri-3 Pri-1
This impacts SPv175, so marking as P1.
Rune, maybe there is a simple solution for this issue?
Status: Started (was: Assigned)
The subtree skip for RecalcShadowIncludingDescendantStyleForReattach() is  issue 813057 , but the real issue here is that we call OriginalStyleForLayoutObject instead of StyleForLayoutObject in HTMLOptionElement::AttachLayoutTree() which means we skip stacking context update.

https://chromium-review.googlesource.com/c/chromium/src/+/924705

Project Member

Comment 3 by bugdroid1@chromium.org, Feb 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6

commit 4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6
Author: Rune Lillesveen <futhark@chromium.org>
Date: Mon Feb 26 09:23:43 2018

Use StyleForLayoutObject for option to update stacking context properly.

We used OriginalStyleForLayoutObject which doesn't update animations or
stacking context. Hopefully a better fix for 813348.

Bug:  813348 ,  813439 ,  813836 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I93584261a935c4813f618a9291d384a5b1203ec7
Reviewed-on: https://chromium-review.googlesource.com/924705
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539093}
[modify] https://crrev.com/4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6/third_party/WebKit/Source/core/html/forms/HTMLOptionElement.cpp
[modify] https://crrev.com/4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
[modify] https://crrev.com/4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Status: Fixed (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, Feb 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8e991bcfdf10e4e5eb268f6eea06535dd35fc0e

commit a8e991bcfdf10e4e5eb268f6eea06535dd35fc0e
Author: Henrik Boström <hbos@chromium.org>
Date: Mon Feb 26 14:56:27 2018

Revert "Use StyleForLayoutObject for option to update stacking context properly."

This reverts commit 4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6.

Reason for revert: Suspected for being culprit of these consistent failures:
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/74755

Original change's description:
> Use StyleForLayoutObject for option to update stacking context properly.
> 
> We used OriginalStyleForLayoutObject which doesn't update animations or
> stacking context. Hopefully a better fix for 813348.
> 
> Bug:  813348 ,  813439 ,  813836 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
> Change-Id: I93584261a935c4813f618a9291d384a5b1203ec7
> Reviewed-on: https://chromium-review.googlesource.com/924705
> Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
> Commit-Queue: Rune Lillesveen <futhark@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#539093}

TBR=chrishtr@chromium.org,futhark@chromium.org

Change-Id: Ia2651fbe12ba83c4af65174370c969652fa61c65
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  813348 ,  813439 ,  813836 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/937621
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539130}
[modify] https://crrev.com/a8e991bcfdf10e4e5eb268f6eea06535dd35fc0e/third_party/WebKit/Source/core/html/forms/HTMLOptionElement.cpp
[modify] https://crrev.com/a8e991bcfdf10e4e5eb268f6eea06535dd35fc0e/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
[modify] https://crrev.com/a8e991bcfdf10e4e5eb268f6eea06535dd35fc0e/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/84bf0a62682d82bdfcdd5d3c3a6f3a89a7b2cc6b

commit 84bf0a62682d82bdfcdd5d3c3a6f3a89a7b2cc6b
Author: Rune Lillesveen <futhark@chromium.org>
Date: Tue Feb 27 16:11:35 2018

Reland: Use StyleForLayoutObject for option to update stacking context.

We used OriginalStyleForLayoutObject which doesn't update animations or
stacking context.

This is a reland of [1] which was reverted because the added unit test
failed on Android because option elements do not create layout objects
with the platform's theme.

[1] https://crrev.com/4b96f800bd6d6c017ac14ab19e7b341c1a6efcc6

Bug:  813348 ,  813439 ,  813836 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I55d5f944e86ccaa326f01caa7f48606021f8df14
Reviewed-on: https://chromium-review.googlesource.com/939163
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539445}
[modify] https://crrev.com/84bf0a62682d82bdfcdd5d3c3a6f3a89a7b2cc6b/third_party/WebKit/Source/core/html/forms/HTMLOptionElement.cpp
[modify] https://crrev.com/84bf0a62682d82bdfcdd5d3c3a6f3a89a7b2cc6b/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
[modify] https://crrev.com/84bf0a62682d82bdfcdd5d3c3a6f3a89a7b2cc6b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Sign in to add a comment