• Fredrik Söderqvist's avatar
    Apply filters on SVG content using an effect node · 5ec500fe
    Fredrik Söderqvist authored
    This replaces the special display item and fairly complicated source
    graphic recording for 'filter' on a SVG element with using an effect
    node like for other 'filter' handling.
    This means that SVGFilterRecordingContext and related code can be
    removed and the code vastly simplified. It also lays a large piece of
    the foundation for handling the full 'filter' specification on SVG
    elements.
    PaintChunksToCcLayer's logic for handling 'empty' paint chunks is
    improved to be able to handle cases where a filter expands the bounds
    of an element.
    
    This changes the clipping behavior and how the source graphic is
    rendered which causes slight (non-discernible) changes to some tests.
    It also affects the visual rect since it now uses the visual rect of
    the painted content and not the paint rect that was computed from the
    filter. The visual rect of the painted content will have been
    conservatively extended to the filter region. It's expected that this
    will improve in future CLs when the filter region is not included in the
    visual rect.
    
    Bug: 109224, 441297, 1128962
    Change-Id: Ie0ad3b65aecba0c2bde06de7e3c8c4066e63c928
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2187795Reviewed-by: default avatarXianzhu Wang <wangxianzhu@chromium.org>
    Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
    Commit-Queue: Fredrik Söderquist <fs@opera.com>
    Cr-Commit-Position: refs/heads/master@{#809252}
    5ec500fe