New issue
Advanced search Search tips

Issue 888448 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Nested DOM removal in TextFieldInputType

Project Member Reported by futhark@chromium.org, Sep 24

Issue description

TextFieldInputType::ListAttributeTargetChanged() removes a subtree from the UA shadow tree for id changes resulting from a DOM removal. This can be problematic for callbacks on DOM removals which is then called when the outer removal is partly done.

We needed to add a workaround for this in the StyleTraversalRoot code.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 24

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

commit f76237333778b789b112dfb693a55631a69020bd
Author: Rune Lillesveen <futhark@chromium.org>
Date: Mon Sep 24 12:29:16 2018

Workaround for nested remove for datalists.

Nested removes confuses the style traversal roots. Make this a general
workaround for UA shadow removals.

Bug:  888236 , 888448
Change-Id: Ia0165e7478c96282900a8191eeac18ae34586a2c
Reviewed-on: https://chromium-review.googlesource.com/1238728
Reviewed-by: Anders Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593510}
[add] https://crrev.com/f76237333778b789b112dfb693a55631a69020bd/third_party/WebKit/LayoutTests/fast/css/style-traversal-root-datalist-crash.html
[modify] https://crrev.com/f76237333778b789b112dfb693a55631a69020bd/third_party/blink/renderer/core/css/style_engine.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 24

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

commit e092f9c13e351034e12388bbb8bd77d922b616e8
Author: Jeremy Roman <jbroman@chromium.org>
Date: Mon Sep 24 17:50:10 2018

Revert "Workaround for nested remove for datalists."

This reverts commit f76237333778b789b112dfb693a55631a69020bd.

Reason for revert: causes DCHECK failures in external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-mode-disabled.html

Original change's description:
> Workaround for nested remove for datalists.
> 
> Nested removes confuses the style traversal roots. Make this a general
> workaround for UA shadow removals.
> 
> Bug:  888236 , 888448
> Change-Id: Ia0165e7478c96282900a8191eeac18ae34586a2c
> Reviewed-on: https://chromium-review.googlesource.com/1238728
> Reviewed-by: Anders Ruud <andruud@chromium.org>
> Commit-Queue: Rune Lillesveen <futhark@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593510}

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

Change-Id: I843b4cc5d9be74fea13ff43305b0093fd64dcae3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  888236 , 888448,  888618 
Reviewed-on: https://chromium-review.googlesource.com/1240505
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593592}
[delete] https://crrev.com/a3d55f3d90dab08b9370ee62889525f494e52298/third_party/WebKit/LayoutTests/fast/css/style-traversal-root-datalist-crash.html
[modify] https://crrev.com/e092f9c13e351034e12388bbb8bd77d922b616e8/third_party/blink/renderer/core/css/style_engine.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 25

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

commit 99d5820dc42f6abfaed253e0d671d274dd8cdb45
Author: Rune Lillesveen <futhark@chromium.org>
Date: Tue Sep 25 10:33:16 2018

Don't update style traversal roots in nested removes.

Nested removes confuses the style traversal roots. Make this a general
workaround by introducing a scope for detecting when we are in a nested
removal. We tried to do this on a per case basis, but new issues keep
popping up.

Bug:  888236 , 888448
Change-Id: If4373fbfd8a44a218d6e4c81cc4223b0b8ada05c
Reviewed-on: https://chromium-review.googlesource.com/1242905
Reviewed-by: Anders Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593885}
[add] https://crrev.com/99d5820dc42f6abfaed253e0d671d274dd8cdb45/third_party/WebKit/LayoutTests/fast/css/style-traversal-root-datalist-crash.html
[modify] https://crrev.com/99d5820dc42f6abfaed253e0d671d274dd8cdb45/third_party/blink/renderer/core/css/style_engine.cc
[modify] https://crrev.com/99d5820dc42f6abfaed253e0d671d274dd8cdb45/third_party/blink/renderer/core/css/style_engine.h
[modify] https://crrev.com/99d5820dc42f6abfaed253e0d671d274dd8cdb45/third_party/blink/renderer/core/dom/container_node.cc

Sign in to add a comment