Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reland "[anchor-position] Make
anchor
attribute work for non-popove…
…rs" (#39114) This reverts commit 80faa9503f457b4a09fa31912eafc7eefd585568. Reason for reland: Performance regression fixed. See diff with PS#1. The original patch used an expensive condition to decide whether to install an AnchorElementObserver, which caused performance issues. This patch changed to installing observer only when the `anchor` attribute (IDL or content) is modified. Original change's description: > Revert "[anchor-position] Make `anchor` attribute work for non-popovers" > > This reverts commit 4abd0d04120561b80ad2e6dd398651d7e909463f. > > Reason for revert: Caused a lot of performance regressions. > > Original change's description: > > [anchor-position] Make `anchor` attribute work for non-popovers > > > > This patch reimplements how we mark elements that are implicit anchors. > > Previously it was only marked for popover element's implicit anchors, > > and now it works for all implicit anchors. This is done by a new class > > AnchorElementObserver that observes all possible changes in implicit > > anchor and replaces the old PopoverAnchorObserver. > > > > This patch also reveals two existing issues: > > 1. Element::GetElementAttribute() may return non-null result even if > > the element is out of tree scope. As fixing the bug is out of the > > scope here, this patch just works around it. crbug.com/1425215 was > > filed. > > 2. popover-anchor-idl-property.html has some bugs that made it pass > > previously. This patch fixes those bugs. > > > > > > Fixed: 1417346 > > Change-Id: I798977ab1ed7df0c528b7eb98c64fc04476e6106 > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4338487 > > Commit-Queue: Xiaocheng Hu <[email protected]> > > Reviewed-by: Mason Freed <[email protected]> > > Cr-Commit-Position: refs/heads/main@{#1118933} > > Bug: 1425610, 1425635, 1425650 > Change-Id: I50a650f011e097c48c0efd110cf765d0df5835e4 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4353985 > Bot-Commit: Rubber Stamper <[email protected]> > Reviewed-by: Mason Freed <[email protected]> > Commit-Queue: Xiaocheng Hu <[email protected]> > Cr-Commit-Position: refs/heads/main@{#1119483} Bug: 1425610, 1425635, 1425650 Change-Id: I222e0cc302e16f208314641b153ce1746ca814a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4355591 Reviewed-by: Mason Freed <[email protected]> Commit-Queue: Xiaocheng Hu <[email protected]> Cr-Commit-Position: refs/heads/main@{#1121203} Co-authored-by: Xiaocheng Hu <[email protected]>
- Loading branch information