⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 280672 in webkit


Ignore:
Timestamp:
Aug 4, 2021, 4:55:13 PM (5 years ago)
Author:
timothy_horton@apple.com
Message:

Bifurcated RemoteLayerBackingStore zooms in every time it repaints
https://bugs.webkit.org/show_bug.cgi?id=228798

Reviewed by Sam Weinig.

  • Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
If applying the scale/flip workaround manually, we need to save the
GraphicsContext state, or it leaks between paints.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r280670 r280672  
     12021-08-04  Tim Horton  <timothy_horton@apple.com>
     2
     3        Bifurcated RemoteLayerBackingStore zooms in every time it repaints
     4        https://bugs.webkit.org/show_bug.cgi?id=228798
     5
     6        Reviewed by Sam Weinig.
     7
     8        * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
     9        (WebKit::RemoteLayerBackingStore::display):
     10        If applying the scale/flip workaround manually, we need to save the
     11        GraphicsContext state, or it leaks between paints.
     12
    1132021-08-04  Jean-Yves Avenard  <jya@apple.com>
    214
  • trunk/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm

    r280669 r280672  
    288288        // FIXME: Remove this when <rdar://problem/80487697> is fixed.
    289289        static std::optional<bool> needsMissingFlipWorkaround;
     290        WebCore::GraphicsContextStateSaver workaroundStateSaver(displayListContext, false);
    290291        if (!needsMissingFlipWorkaround) {
    291292            id defaultValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitNeedsWorkaroundFor80487697"];
     
    293294        }
    294295        if (needsMissingFlipWorkaround.value()) {
     296            workaroundStateSaver.save();
    295297            displayListContext.scale(WebCore::FloatSize(m_scale, -m_scale));
    296298            displayListContext.translate(0, -m_size.height());
Note: See TracChangeset for help on using the changeset viewer.