Aaron LeventhalThis looks good overall!
Can you put this change behind an enabled-by-default flag (maybe `BlinkGeometryMapperViewportFastPath`) by adding a flag to `third_party/blink/renderer/platform/runtime_enabled_features.json5` and wrapping the behavior changes in `if (RuntimeEnabledFeatures:: BlinkGeometryMapperViewportFastPathEnabled) {`? This will make it easier to disable in production in the unlikely case that it ends up triggering a crash or an unexpected behavior change.
Done
Support viewport mapping oin GeometryMapper fast pathAaron Leventhalnit oin -> on
Done
PropertyTreeState unaliased_container(Aaron LeventhalCan this just do:
```
PropertyTreeState unaliased_container = container_properties.Unalias();
```
And remove UnaliasOrRoot?
Done
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Commit-Queue | +2 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Support viewport mapping in GeometryMapper fast path
When mapping a rect to the viewport, a caller passes a null ancestor
to MapToVisualRectInAncestorSpace(), which has the unfortunate side
effect of avoiding the geometry mapper (the fast path), even when the
kUseGeometryMapper flag was passed.
However, the legacy slow path has slightly different math and
introduces discrepancies with things like nested filters, causing
DCHECK failures in APC because the visible bounding box does not fit
in the outer bounding box.
Use of the fast path is now enabled for
MapToVisualRectInAncestorSpace() with a null ancestor (iow for
viewport mapping). This improves all callers using a null
ancestor while addressing the failing geometry DCHECKs in APC.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |