Skip to content
Snippets Groups Projects
Forked from The Tor Project / Applications / Tor Browser
Source project has a limited visibility.
  • Andrew Osmond's avatar
    ba2c6dea
    Bug 1711061 - Part 9. Add blob recording support to SurfaceCache. r=tnikkel · ba2c6dea
    Andrew Osmond authored
    Now that we no longer have the extra layer of ImageContainers providing
    a superficial level of caching/reuse of existing blob recordings, we
    need some way to share recordings. This part adds support to
    SurfaceCache to store BlobSurfaceProvider objects.
    
    This includes the specialized code for invalidating SVG images. In
    particular this is useful for animated SVG images. In general we want to
    avoid changing the image key whenever possible so that we avoid
    reallocating the underlying buffers in the compositor process for the
    rasterized blob images.
    
    We also need to track the ImageIntRegion used by the recording. If a
    caller only wants a slice of the SVG image, then we need to track this
    differentiation in our cache entries. At this time, we don't allow
    substitutes for entries with a region exclusion.
    
    Differential Revision: https://phabricator.services.mozilla.com/D126603
    ba2c6dea
    History
    Bug 1711061 - Part 9. Add blob recording support to SurfaceCache. r=tnikkel
    Andrew Osmond authored
    Now that we no longer have the extra layer of ImageContainers providing
    a superficial level of caching/reuse of existing blob recordings, we
    need some way to share recordings. This part adds support to
    SurfaceCache to store BlobSurfaceProvider objects.
    
    This includes the specialized code for invalidating SVG images. In
    particular this is useful for animated SVG images. In general we want to
    avoid changing the image key whenever possible so that we avoid
    reallocating the underlying buffers in the compositor process for the
    rasterized blob images.
    
    We also need to track the ImageIntRegion used by the recording. If a
    caller only wants a slice of the SVG image, then we need to track this
    differentiation in our cache entries. At this time, we don't allow
    substitutes for entries with a region exclusion.
    
    Differential Revision: https://phabricator.services.mozilla.com/D126603