[webkit-changes] [WebKit/WebKit] 62a1ef: Cherry-pick 0a0fa97fea12. rdar://problem/104102164

Tim Horton noreply at github.com
Thu Jan 26 16:46:07 PST 2023


  Branch: refs/heads/safari-7615.1.18-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: 62a1efae812e5f7055815732e2d8f56af60ab243
      https://github.com/WebKit/WebKit/commit/62a1efae812e5f7055815732e2d8f56af60ab243
  Author: Tim Horton <thorton at apple.com>
  Date:   2023-01-26 (Thu, 26 Jan 2023)

  Changed paths:
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm

  Log Message:
  -----------
  Cherry-pick 0a0fa97fea12. rdar://problem/104102164

    CGDisplayList image buffer contents are upside-down
    https://bugs.webkit.org/show_bug.cgi?id=250717
    rdar://104102164

    Reviewed by Dean Jackson.

    * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
    (WebKit::RemoteLayerBackingStore::paintContents):
    Flip the contents when required.

    Canonical link: https://commits.webkit.org/258997@main

Canonical link: https://commits.webkit.org/258608.70@safari-7615.1.18-branch


  Commit: b8b05de496c2ec665688b3a72b33505243511eed
      https://github.com/WebKit/WebKit/commit/b8b05de496c2ec665688b3a72b33505243511eed
  Author: Tim Horton <thorton at apple.com>
  Date:   2023-01-26 (Thu, 26 Jan 2023)

  Changed paths:
    M Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm

  Log Message:
  -----------
  Cherry-pick 9502f8564a09. rdar://problem/104102164

    CG display list graphics contexts are sometimes still flipped
    https://bugs.webkit.org/show_bug.cgi?id=250816
    rdar://104388673

    Reviewed by Dean Jackson.

    * Source/WebKit/Shared/RemoteLayerTree/CGDisplayListImageBufferBackend.mm:
    (WebKit::GraphicsContextCGDisplayList::GraphicsContextCGDisplayList):
    Remove the workaround introduced in r252402 at main, since we have reinstated the toplevel
    context flip in 258997 at main. I missed this in 258997 at main because it only affects
    cases where we end up doing setCTM(getCTM()), which is just rare enough to miss
    with cursory testing.

    * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h:
    * Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
    (WebKit::RemoteLayerBackingStore::paintContents):
    (WebKit::RemoteLayerBackingStore::drawInContext):
    While debugging the above, I also noticed that we were leaving the display
    list context with a missing trailing `restore` operation, because we encode the
    display list inside drawInContext. To avoid this, move the flip inside our existing
    state saver, which is popped before encoding the display list. This has no
    actual effect at the moment (except making the dumped list look more correct),
    but will eventually be necessary when the replayed destination context is reused.

    Canonical link: https://commits.webkit.org/259076@main

Canonical link: https://commits.webkit.org/258608.71@safari-7615.1.18-branch


Compare: https://github.com/WebKit/WebKit/compare/6fdb1d709539...b8b05de496c2


More information about the webkit-changes mailing list